diff options
| author | Michael Biebl <biebl@debian.org> | 2018-05-11 22:08:45 +0200 |
|---|---|---|
| committer | Michael Biebl <biebl@debian.org> | 2018-05-11 22:08:45 +0200 |
| commit | ee9c73a923909e23a649407be77e25235d769e25 (patch) | |
| tree | e21c923621fa278e737da693df9eb60ea31a6067 /libnm/generate-plugin-docs.pl | |
| parent | f60117b41d5433be1b4a96d82cd11d0c3dce9b63 (diff) | |
New upstream version 1.10.8 upstream/1.10.8
Diffstat (limited to 'libnm/generate-plugin-docs.pl')
| -rwxr-xr-x | libnm/generate-plugin-docs.pl | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/libnm/generate-plugin-docs.pl b/libnm/generate-plugin-docs.pl index e4963b7c..24912a03 100755 --- a/libnm/generate-plugin-docs.pl +++ b/libnm/generate-plugin-docs.pl @@ -46,14 +46,25 @@ use v5.10; # global variables my @keywords = ("property", "variable", "format", "values", "default", "example", "description"); +my @source_files; my @data; my $fo; -(scalar @ARGV >= 3) or die "Usage: $0 <plugin> <output-xml-file> <srcfiles>\n"; -my ($plugin, $output, (@source_files)) = @ARGV; +(scalar @ARGV == 3) or die "Usage: $0 <plugin> <srcdir> <output-xml-file>\n"; +my ($plugin, $srcdir, $output) = @ARGV; my $start_tag = "---$plugin---\\s*\$"; my $end_tag = '---end---'; +# get source files to scan for documentation comments (nm-setting-<something>.c) +my $file = "$srcdir/Makefile.am"; +open my $fh, '<', $file or die "Can't open $file: $!"; +while (my $line = <$fh>) { + if ($line =~ /^\t*(libnm-core\/nm-setting-[^.]*\.c)( \\)?$/g) { + push @source_files, $1; + } +} +close $fh; + # open output file open $fo, '>', $output or die "Can't open $output: $!"; @@ -62,10 +73,11 @@ write_header(); # write generated documenation for each setting foreach my $c_file (@source_files) { - my $setting_name = get_setting_name($c_file); + my $path = "$srcdir/$c_file"; + my $setting_name = get_setting_name($path); if ($setting_name) { write_item("<setting name=\"$setting_name\">"); - scan_doc_comments($c_file, $start_tag, $end_tag); + scan_doc_comments($path, $start_tag, $end_tag); write_item("</setting>"); } } |