diff --git a/src/test/verify-dnsapi-plugins-in-schema.pl b/src/test/verify-dnsapi-plugins-in-schema.pl index bfa1daf..bf4b4a8 100755 --- a/src/test/verify-dnsapi-plugins-in-schema.pl +++ b/src/test/verify-dnsapi-plugins-in-schema.pl @@ -22,19 +22,27 @@ dir_glob_foreach($dnsapi_path, qr/dns_(\S+)\.sh/, sub { my $DNS_API_CHALLENGE_SCHEMA_FN = '../dns-challenge-schema.json'; my $defined_plugins = from_json(PVE::Tools::file_get_contents($DNS_API_CHALLENGE_SCHEMA_FN)); +my ($missing_json_proposal, $missing_makefile_proposal) = ('', ''); + my $ok = 1; # first check for missing ones, delete from hash so we can easily see if a plug got removed/renamed -my $printed_missing = 0; for my $provider (sort @$acmesh_plugins) { my $schema = delete $defined_plugins->{$provider}; if (!defined($schema)) { - print STDERR "\nmissing (also adapt makefile!):\n" if !$printed_missing; - print STDERR " \"$provider\": {},\n"; - $printed_missing = 1; + $missing_json_proposal .= " \"$provider\": {},\n"; + $missing_makefile_proposal .= "\tdnsapi/dns_${provider}.sh \\\n"; $ok = 0; } } +if (!$ok) { + print STDERR "\nmissing plugins, add the following to the JSON schema:\n"; + print STDERR $missing_json_proposal; + + print STDERR "\nand to the Makefile:\n"; + print STDERR $missing_makefile_proposal; +} + my $printed_extra = 0; for my $provider (sort keys %$defined_plugins) { print STDERR "\nplugins that got removed or renamed upstream:\n" if !$printed_extra;