mariadb/ndb/home/bin/ndbdoxy.pl
unknown 6386c55cee Initial revision of NDB Cluster files
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
2004-04-14 10:53:21 +02:00

184 lines
5.8 KiB
Perl
Executable file

#!/usr/local/bin/perl
#
# ndbdoxy.pl Executes doxygen on a checked out version of NDB Cluster
#
# Written by Lars Thalmann, 2003.
use strict;
umask 000;
# -----------------------------------------------------------------------------
# Settings
# -----------------------------------------------------------------------------
my $root = "/home/elathal/public_html/cvsdoxy";
$ENV{LD_LIBRARY_PATH} = "/usr/local/lib:/opt/as/local/lib";
$ENV{LD_LIBRARY_PATH} = $ENV{LD_LIBRARY_PATH} . ":/opt/as/forte6/SUNWspro/lib";
$ENV{PATH} = $ENV{PATH} . ":/usr/local/bin:/opt/as/local/bin";
$ENV{PATH} = $ENV{PATH} . ":/opt/as/local/teTeX/bin/sparc-sun-solaris2.8";
my $DOXYGEN = "doxygen";
my $PDFLATEX = "pdflatex";
my $MAKEINDEX = "makeindex";
# -----------------------------------------------------------------------------
# Argument handling
# -----------------------------------------------------------------------------
if (@ARGV != 3) {
print<<END;
Usage:
ndbdoxy.pl <module> <title> <version>
where
<module> is cvsdoxy module to doxgenify
<title> is title of report
<version> is version of NDB Cluster
END
exit;
}
my $module = $ARGV[0];
my $title = $ARGV[1];
my $version = $ARGV[2];
my $destdir = ".";
# -----------------------------------------------------------------------------
# Execute Doxygen -g
# -----------------------------------------------------------------------------
if (-r "${root}/doxyfiles/${module}.doxyfile") {
system("cd ${destdir}; \
cp ${root}/doxyfiles/${module}.doxyfile Doxyfile");
} elsif (-r "${root}/doxyfiles/default.doxyfile") {
system("cd ${destdir}; \
cp ${root}/doxyfiles/default.doxyfile Doxyfile");
} else {
system("cd ${destdir}; $DOXYGEN -g");
}
# -----------------------------------------------------------------------------
# HTML Footer
# -----------------------------------------------------------------------------
if (-r "${root}/doxyfiles/htmlfooter") {
system("cd ${destdir}; \
cp ${root}/doxyfiles/htmlfooter footer.html");
open (INFILE, "< ${destdir}/footer.html")
or die "Error opening ${destdir}/footer.html.\n";
open (OUTFILE, "> ${destdir}/footer.html.new")
or die "Error opening ${destdir}/footer.html.new.\n";
while (<INFILE>) {
if (/(.*)DATE(.*)$/) {
print OUTFILE $1 . localtime() . $2;
} else {
print OUTFILE;
}
}
close INFILE;
close OUTFILE;
system("mv ${destdir}/footer.html.new ${destdir}/footer.html");
} else {
print("Warning: No ${root}/doxyfiles/${module}.htmlfooter");
}
# -----------------------------------------------------------------------------
# Execute Doxygen
# -----------------------------------------------------------------------------
system("cd ${destdir}; $DOXYGEN");
# -----------------------------------------------------------------------------
# Change a little in refman.tex
# -----------------------------------------------------------------------------
open (INFILE, "< ${destdir}/latex/refman.tex")
or die "Error opening ${destdir}/latex/refman.tex.\n";
open (OUTFILE, "> ${destdir}/latex/refman.tex.new")
or die "Error opening ${destdir}/latex/refman.tex.new.\n";
while (<INFILE>)
{
if (/(.*)Reference Manual(.*)$/) {
print OUTFILE $1 .
"\\mbox{}\\vspace{-3cm}\\mbox{}" .
"\\hrule\\bigskip\\bigskip\\bigskip\\bigskip" .
"\\Huge{" . $title . "}" . $2;
} elsif (/(.*)Generated by Doxygen 1.2.1[0-9](.*)$/) {
print OUTFILE $1 .
"\\begin{center}" .
"\\LARGE{MySQL AB}" .
"\\end{center}".
"\\hfill\\bigskip\\bigskip\\bigskip\\hrule" .
"\\bigskip\\bigskip\\bigskip\\bigskip\\bigskip" .
"\\bigskip\\bigskip\\bigskip\\bigskip\\bigskip" .
"\\bigskip\\bigskip NDB Cluster Release " . $version .
"\\bigskip\\bigskip\\bigskip\\bigskip\\bigskip\\hfill" .
$2;
} elsif (/\\chapter\{File Index\}/) {
print OUTFILE "\%\\chapter{File Index}\n";
} elsif (/\\input{files}/) {
print OUTFILE "\%\\input{files}\n";
} elsif (/\\chapter\{Page Index\}/) {
print OUTFILE "\%\\chapter{Page Index}\n";
} elsif (/\\input{pages}/) {
print OUTFILE "\%\\input{pages}\n";
} else {
print OUTFILE;
}
}
close INFILE;
close OUTFILE;
system("mv ${destdir}/latex/refman.tex.new ${destdir}/latex/refman.tex");
# -----------------------------------------------------------------------------
# Change a little in doxygen.sty
# -----------------------------------------------------------------------------
open (INFILE, "< ${destdir}/latex/doxygen.sty")
or die "Error opening INFILE.\n";
open (OUTFILE, "> ${destdir}/latex/doxygen.sty.new")
or die "Error opening OUTFILE.\n";
while (<INFILE>)
{
if (/\\rfoot/) {
print OUTFILE "\\rfoot[\\fancyplain{}{\\bfseries\\small \\copyright~Copyright 2003 MySQL AB\\hfill support-cluster\@mysql.com}]{}\n";
} elsif (/\\lfoot/) {
print OUTFILE "\\lfoot[]{\\fancyplain{}{\\bfseries\\small support-cluster\@mysql.com\\hfill \\copyright~Copyright 2003 MySQL AB}}\n";
} else {
print OUTFILE;
}
}
close INFILE;
close OUTFILE;
system("mv ${destdir}/latex/doxygen.sty.new ${destdir}/latex/doxygen.sty");
# -----------------------------------------------------------------------------
# Other
# -----------------------------------------------------------------------------
#system("cd ${root}/tmp/${module}; \
# mkdir html.tar; \
# cd html.tar; \
# cp -r ../html ${module}; \
# tar cf ${module}.html.tar ${module}; \
# /usr/local/bin/gzip ${module}.html.tar; \
# /bin/rm -rf ${root}/tmp/${module}/html.tar/${module}");
#system("cd ${destdir}/latex/; \
# $PDFLATEX refman.tex \
# $MAKEINDEX refman.idx \
# $PDFLATEX refman.tex \
# mv -f refman.pdf ${module}.pdf");
print<<END;
Execute:
latex refman; makeindex refman; latex refman
END