From 155521e33d877d96abc595a9a164611c71cfe9d5 Mon Sep 17 00:00:00 2001 From: Michael Zucci Date: Fri, 22 Oct 2004 10:26:48 +0000 Subject: Script which autogenerates some entities for the manual. svn path=/trunk/; revision=27696 --- doc/devel/build-eplugin-manual.pl | 124 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 124 insertions(+) create mode 100755 doc/devel/build-eplugin-manual.pl (limited to 'doc/devel') diff --git a/doc/devel/build-eplugin-manual.pl b/doc/devel/build-eplugin-manual.pl new file mode 100755 index 0000000000..6608c876e5 --- /dev/null +++ b/doc/devel/build-eplugin-manual.pl @@ -0,0 +1,124 @@ +#!/usr/bin/perl + +# +# API reference +# + +%byref = ( 'e-popup.xml' => + { 'files' => [ 'e-popup.h', 'e-popup.c' ], + 'module' => 'e-util' }, + + 'e-menu.xml' => + { 'files' => [ 'e-menu.h', 'e-menu.c' ], + 'module' => 'e-util' }, + + 'e-event.xml' => + { 'files' => [ 'e-event.h', 'e-event.c' ], + 'module' => 'e-util' }, + + 'e-config.xml' => + { 'files' => [ 'e-config.h', 'e-config.c' ], + 'module' => 'e-util' }, + + 'e-plugin.xml' => + { 'files' => [ 'e-plugin.h', 'e-plugin.c' ], + 'module' => 'e-util' }, + + 'em-popup.xml' => + { 'files' => [ 'em-popup.h', 'em-popup.c' ], + 'module' => 'mail' }, + + 'em-format.xml' => + { 'files' => [ 'em-format-hook.h' , 'em-format-hook.c', + 'em-format.h', 'em-format.c', + 'em-format-html.h', 'em-format-html.c' ], + 'module' => 'mail' }, + ); + +foreach $out (keys %byref) { + print "file $out\n"; + %data = %{$byref{$out}}; + @files = @{$data{'files'}}; + $module = $data{'module'}; + $files = ""; + foreach $file (@files) { + $files .= " ../../".$module."/".$file; + } + system("kernel-doc -docbook $files > $out"); +} + +# +# Event reference +# + +%events = ( 'em-events.xml' => + { 'files' => [ 'em-folder-view.c', 'em-composer-utils.c', 'mail-folder-cache.c' ], + 'module' => 'mail' }, + ); + +foreach $out (keys %events) { + print "generating events doc $out\n"; + %data = %{$events{$out}}; + @files = @{$data{'files'}}; + $module = $data{'module'}; + open OUT,">$out"; + foreach $file (@files) { + open IN,"<../../$module/$file"; + while () { + if (m/\@Event: (.*)/) { + $title = $1; + $name = $1; + $target = ""; + while () { + if (m/\@Title: (.*)/) { + $title = $1; + } elsif (m/\@Target: (.*)/) { + $target = $1; + } elsif (m/\* (.*)/) { + $desc.= $1."\n"; + } + last if (m/\*\//); + } + if ($target eq "") { + print "Warning: No target defined for event $name ($title)\n"; + } + print OUT < + $title + + + + + + + Name + $name + + + Target + + $target + + + + Description + + + $desc + + + + + + + +END + } + } + close IN; + } + close OUT; + +} + -- cgit v1.2.3