summaryrefslogtreecommitdiffstats
path: root/docs/makedocs.pl
diff options
context:
space:
mode:
Diffstat (limited to 'docs/makedocs.pl')
-rwxr-xr-xdocs/makedocs.pl136
1 files changed, 69 insertions, 67 deletions
diff --git a/docs/makedocs.pl b/docs/makedocs.pl
index 73bd6ce86..feec5f0f5 100755
--- a/docs/makedocs.pl
+++ b/docs/makedocs.pl
@@ -48,29 +48,30 @@ use Pod::Simple::HTML::Bugzilla;
###############################################################################
my $error_found = 0;
+
sub MakeDocs {
- my ($name, $cmdline) = @_;
+ my ($name, $cmdline) = @_;
- say "Creating $name documentation ..." if defined $name;
- say "make $cmdline\n";
- system('make', $cmdline) == 0
- or $error_found = 1;
- print "\n";
+ say "Creating $name documentation ..." if defined $name;
+ say "make $cmdline\n";
+ system('make', $cmdline) == 0 or $error_found = 1;
+ print "\n";
}
sub make_pod {
- say "Creating API documentation...";
+ say "Creating API documentation...";
+
+ my $converter = Pod::Simple::HTMLBatch::Bugzilla->new;
- my $converter = Pod::Simple::HTMLBatch::Bugzilla->new;
- # Don't output progress information.
- $converter->verbose(0);
- $converter->html_render_class('Pod::Simple::HTML::Bugzilla');
+ # Don't output progress information.
+ $converter->verbose(0);
+ $converter->html_render_class('Pod::Simple::HTML::Bugzilla');
- my $doctype = Pod::Simple::HTML::Bugzilla->DOCTYPE;
- my $content_type = Pod::Simple::HTML::Bugzilla->META_CT;
- my $bz_version = BUGZILLA_VERSION;
+ my $doctype = Pod::Simple::HTML::Bugzilla->DOCTYPE;
+ my $content_type = Pod::Simple::HTML::Bugzilla->META_CT;
+ my $bz_version = BUGZILLA_VERSION;
- my $contents_start = <<END_HTML;
+ my $contents_start = <<END_HTML;
$doctype
<html>
<head>
@@ -81,16 +82,16 @@ $doctype
<h1>Bugzilla $bz_version API Documentation</h1>
END_HTML
- $converter->contents_page_start($contents_start);
- $converter->contents_page_end("</body></html>");
- $converter->add_css('./../../../style.css');
- $converter->javascript_flurry(0);
- $converter->css_flurry(0);
- mkdir("html");
- mkdir("html/api");
- $converter->batch_convert(['../../'], 'html/api/');
+ $converter->contents_page_start($contents_start);
+ $converter->contents_page_end("</body></html>");
+ $converter->add_css('./../../../style.css');
+ $converter->javascript_flurry(0);
+ $converter->css_flurry(0);
+ mkdir("html");
+ mkdir("html/api");
+ $converter->batch_convert(['../../'], 'html/api/');
- print "\n";
+ print "\n";
}
###############################################################################
@@ -98,67 +99,68 @@ END_HTML
###############################################################################
my @langs;
+
# search for sub directories which have a 'rst' sub-directory
opendir(LANGS, './');
foreach my $dir (readdir(LANGS)) {
- next if (($dir eq '.') || ($dir eq '..') || (! -d $dir));
- if (-d "$dir/rst") {
- push(@langs, $dir);
- }
+ next if (($dir eq '.') || ($dir eq '..') || (!-d $dir));
+ if (-d "$dir/rst") {
+ push(@langs, $dir);
+ }
}
closedir(LANGS);
my $docparent = getcwd();
foreach my $lang (@langs) {
- chdir "$docparent/$lang";
+ chdir "$docparent/$lang";
- make_pod();
+ make_pod();
- next if grep { $_ eq '--pod-only' } @ARGV;
+ next if grep { $_ eq '--pod-only' } @ARGV;
- chdir $docparent;
+ chdir $docparent;
- # Generate extension documentation, both normal and API
- my $ext_dir = bz_locations()->{'extensionsdir'};
- my @ext_paths = grep { $_ !~ /\/create\.pl$/ && ! -e "$_/disabled" }
- glob("$ext_dir/*");
- my %extensions;
- foreach my $item (@ext_paths) {
- my $basename = basename($item);
- if (-d "$item/docs/$lang/rst") {
- $extensions{$basename} = "$item/docs/$lang/rst";
- }
+ # Generate extension documentation, both normal and API
+ my $ext_dir = bz_locations()->{'extensionsdir'};
+ my @ext_paths
+ = grep { $_ !~ /\/create\.pl$/ && !-e "$_/disabled" } glob("$ext_dir/*");
+ my %extensions;
+ foreach my $item (@ext_paths) {
+ my $basename = basename($item);
+ if (-d "$item/docs/$lang/rst") {
+ $extensions{$basename} = "$item/docs/$lang/rst";
}
+ }
- # Collect up local extension documentation into the extensions/ dir.
- rmtree("$lang/rst/extensions", 0, 1);
+ # Collect up local extension documentation into the extensions/ dir.
+ rmtree("$lang/rst/extensions", 0, 1);
- foreach my $ext_name (keys %extensions) {
- my $src = $extensions{$ext_name} . "/*";
- my $dst = "$docparent/$lang/rst/extensions/$ext_name";
- mkdir($dst) unless -d $dst;
- rcopy($src, $dst);
- }
+ foreach my $ext_name (keys %extensions) {
+ my $src = $extensions{$ext_name} . "/*";
+ my $dst = "$docparent/$lang/rst/extensions/$ext_name";
+ mkdir($dst) unless -d $dst;
+ rcopy($src, $dst);
+ }
- chdir "$docparent/$lang";
-
- MakeDocs('HTML', 'html');
- MakeDocs('TXT', 'text');
-
- if (grep { $_ eq '--with-pdf' } @ARGV) {
- if (which('pdflatex')) {
- MakeDocs('PDF', 'latexpdf');
- }
- elsif (which('rst2pdf')) {
- rmtree('pdf', 0, 1);
- MakeDocs('PDF', 'pdf');
- }
- else {
- say 'pdflatex or rst2pdf not found. Skipping PDF file creation';
- }
+ chdir "$docparent/$lang";
+
+ MakeDocs('HTML', 'html');
+ MakeDocs('TXT', 'text');
+
+ if (grep { $_ eq '--with-pdf' } @ARGV) {
+ if (which('pdflatex')) {
+ MakeDocs('PDF', 'latexpdf');
+ }
+ elsif (which('rst2pdf')) {
+ rmtree('pdf', 0, 1);
+ MakeDocs('PDF', 'pdf');
+ }
+ else {
+ say 'pdflatex or rst2pdf not found. Skipping PDF file creation';
}
+ }
- rmtree('doctrees', 0, 1);
+ rmtree('doctrees', 0, 1);
}
die "Error occurred building the documentation\n" if $error_found;