diff options
Diffstat (limited to 'doc/devel/build-eplugin-manual.pl')
-rwxr-xr-x | doc/devel/build-eplugin-manual.pl | 263 |
1 files changed, 0 insertions, 263 deletions
diff --git a/doc/devel/build-eplugin-manual.pl b/doc/devel/build-eplugin-manual.pl deleted file mode 100755 index 8cb951a516..0000000000 --- a/doc/devel/build-eplugin-manual.pl +++ /dev/null @@ -1,263 +0,0 @@ -#!/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 (<IN>) { -# if (m/\@Event: (.*)/) { -# $title = $1; -# $name = $1; -# $target = ""; -# while (<IN>) { -# 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 <<END; -# <sect2> -# <title>$title</title> -# <informaltable> -# <tgroup cols="2"> -# <colspec colnum="1" colname="field" colwidth="1*"/> -# <colspec colnum="2" colname="value" colwidth="4*"/> -# <tbody valign="top"> -# <row> -# <entry>Name</entry> -# <entry><constant>$name</constant></entry> -# </row> -# <row> -# <entry>Target</entry> -# <entry> -# <link -# linkend="$module-hooks-event-$target">$target</link> -# </entry> -# </row> -# <row> -# <entry>Description</entry> -# <entry> -# <simpara> -# $desc -# </simpara> -# </entry> -# </row> -# </tbody> -# </tgroup> -# </informaltable> -# </sect2> -# END -# } -# } -# close IN; -# } -# close OUT; -# } - -# -# Generic table builder, still experimental. -# - -sub buildxml { - my $type = $_[0]; - my $out = $_[1]; - my %data = %{$_[2]}; - my @files, $module; - my $line; - - print "generating doc $out for $type\n"; - @files = @{$data{'files'}}; - $module = $data{'module'}; - open OUT,">$out"; - foreach $file (@files) { - my $line = 0; - - open IN,"<../../$module/$file" || die ("Cannot open \"$module/$file\""); - while (<IN>) { - if (m/\/\*\* \@$type: (.*)/) { - my $key = ""; - my $val = ""; - my $desc = 0; - my $title = $1; - my %blob = { }; - my @blobs = (); - - while (<IN>) { - $line++; - if (m/\@(.*): (.*)/) { - if ($val ne "") { - $blob{$key} = $val; - } - $key = $1; - $val = $2; - push @blobs, $key; - } elsif (m/\* (.+)/) { - $val .= $1."\n"; - } else { - if ($desc == 0) { - if ($val ne "") { - $blob{$key} = $val; - } - $val = ""; - $key = ""; - } else { - $val .= "\n"; - } - if (m/\*\s*$/) { - $desc = 1; - } - } - last if (m/\*\//); - } - print OUT<<END; - <sect2> - <title>$title</title> -END - if ($val ne "") { - $val =~ s/[\n]+$//gos; - $val =~ s/\n\n/\<\/simpara\>\n\<simpara\>/g; - print OUT "<simpara>$val</simpara>\n"; - } - print OUT <<END; - <informaltable> - <tgroup cols="2"> - <colspec colnum="1" colname="field" colwidth="1*"/> - <colspec colnum="2" colname="value" colwidth="4*"/> - <tbody valign="top"> -END - - foreach $key (@blobs) { - print OUT <<END; - <row> - <entry>$key</entry> - <entry>$blob{$key}</entry> - </row> -END -} - print OUT <<END; - <row> - <entry>Defined</entry> - <entry>$module/$file:$line</entry> - </row> - </tbody> - </tgroup> - </informaltable> - </sect2> -END - } - $line++; - } - close IN; - } - close OUT; -} - - -%hooks = ( 'es-hooks.xml' => - { 'type' => 'HookClass', - 'files' => [ 'es-menu.c', 'es-event.c' ], - 'module' => 'shell' }, - 'es-menus.xml' => - { 'type' => 'HookPoint', - 'files' => [ 'e-shell-window.c' ], - 'module' => 'shell' }, - 'es-events.xml' => - { 'type' => 'Event', - 'files' => [ 'e-shell.c' ], - 'module' => 'shell' }, - 'em-events.xml' => - { 'type' => 'Event', - 'files' => [ 'em-folder-view.c', 'em-composer-utils.c', 'mail-folder-cache.c' ], - 'module' => 'mail' }, - 'em-popups.xml' => - { 'type' => 'HookPoint-EMPopup', - 'files' => [ 'em-folder-tree.c', 'em-folder-view.c', 'em-format-html-display.c', '../composer/e-msg-composer-attachment-bar.c' ], - 'module' => 'mail' }, - 'ecal-popups.xml' => - { 'type' => 'HookPoint-ECalPopup', - 'files' => [ 'gui/e-calendar-view.c', 'gui/calendar-component.c', 'gui/e-calendar-view.c', 'gui/tasks-component.c' ], - 'module' => 'calendar' }, - 'em-configs.xml' => - { 'type' => 'HookPoint-EMConfig', - 'files' => [ 'em-mailer-prefs.c', 'em-account-editor.c', 'em-folder-properties.c', 'em-composer-prefs.c' ], - 'module' => 'mail' }, - 'em-menus.xml' => - { 'type' => 'HookPoint-EMMenu', - 'files' => [ 'em-folder-browser.c', 'em-message-browser.c' ], - 'module' => 'mail' }, - ); - -foreach $out (keys %hooks) { - %data = %{$hooks{$out}}; - - &buildxml($data{'type'}, $out, \%data); -} - - |