summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbala <balanatarajan@users.noreply.github.com>2003-06-01 23:08:19 +0000
committerbala <balanatarajan@users.noreply.github.com>2003-06-01 23:08:19 +0000
commit0fdbe7bc14be258021fe41006730e77075e7ee08 (patch)
treea7ab50fb7a8b8e951fb5ba0bff24478cf6fe72da
parent37829b3353c3e5808b1a26b3e72524d7145321ee (diff)
downloadATCD-0fdbe7bc14be258021fe41006730e77075e7ee08.tar.gz
ChangeLogTag:Sun Jun 01 18:02:24 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-rw-r--r--ChangeLog20
-rw-r--r--Makefile14
-rwxr-xr-xbin/generate_rel_manpages100
3 files changed, 128 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index ef7fe436b1d..7212ae5cc7e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,23 @@
+Sun Jun 01 18:02:24 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
+
+ * bin/generate_rel_manpages: A new script for man page
+ generation. This is being moved out of the release scripts for a
+ number of reasons. A couple of them are
+
+ - They take a long time and beta/release process has to wait for
+ completion of documentation generation.
+
+ - Any problems during documentation generation like machine
+ reboot or machine hang or whatever you can think off adversely
+ affects the beta process. The build-czar has to cleanup
+ numerous files and start the process all over again.
+
+ This will help to decouple the beta cutting process and the
+ documentation generation process.
+
+ * Makefile: A new target that can be used to kick of the
+ documentation generation.
+
Fri May 30 17:15:57 2003 Nanbor Wang <nanbor@cs.wustl.edu>
* ace/NT_Service.cpp (insert): Fixed a compilation eror.
diff --git a/Makefile b/Makefile
index 6d829997045..afcff6e84d3 100644
--- a/Makefile
+++ b/Makefile
@@ -110,8 +110,6 @@ reverseclean:
#### APPLY_NEW_TAG [enabled]: set to null to disable
#### CHECK [disabled]: set to -n to see what make_release will do, but not
#### do it
-#### GENERATE_MAN_PAGES [enabled]: set to null to disable regeneration of
-#### the ACE_wrappers/man/ hierarchy
#### INSTALL_KIT [enabled]: set to null to not install in public
#### ftp/http directory on host ace
#### REL [beta]: set to minor or major, optionally, when applying a new tag
@@ -120,7 +118,7 @@ reverseclean:
#### Example creation of ACE-only kit, version ACE-5_0_1 from current
#### workspace:
#### make release ACE_TAG='-ta ACE-5_0_1' APPLY_NEW_TAG= \
-#### GENERATE_MAN_PAGES= INSTALL_KIT= ZIP_FILES=-z
+#### INSTALL_KIT= ZIP_FILES=-z
CONTROLLED_FILES = \
ACE-INSTALL.html \
@@ -205,7 +203,7 @@ ZIP_FILES =
#### The release target creates the ACE (only) kit.
release: $(APPLY_NEW_TAG)
@$(ACE_ROOT)/bin/make_release -k ace $(ACE_TAG) \
- $(INSTALL_KIT) $(GENERATE_MAN_PAGES) $(ZIP_FILES) $(CHECK)
+ $(INSTALL_KIT) $(ZIP_FILES) $(CHECK)
tag:
@$(ACE_ROOT)/bin/make_release $(CHECK) -k ace -v $(REL) -u
@@ -215,19 +213,23 @@ tag:
#### creates the combined ACE-TAO kit.
releasetao:
@$(ACE_ROOT)/bin/make_release -k ace+tao $(ACE_TAG) $(TAO_TAG) \
- $(INSTALL_KIT) $(GENERATE_MAN_PAGES) $(ZIP_FILES) $(CHECK)
+ $(INSTALL_KIT) $(ZIP_FILES) $(CHECK)
#### The following target is for use by the CIAO Makefile. It should not
#### be called directly from the command line. The releaseciao target
#### creates the combined ACE+TAO+CIAO kit.
releaseciao:
@$(ACE_ROOT)/bin/make_release -k ace+tao+ciao $(ACE_TAG) $(TAO_TAG) $(CIAO_TAG) \
- $(INSTALL_KIT) $(GENERATE_MAN_PAGES) $(ZIP_FILES) $(CHECK)
+ $(INSTALL_KIT) $(ZIP_FILES) $(CHECK)
#### The releaseall target:
releaseall: $(APPLY_NEW_TAG)
@cd TAO && $(MAKE) -s releaseall REL=$(REL)
+### Generate man pages
+genmanpages:
+ @$(ACE_ROOT)/bin/generate_rel_manpages
+
.PHONY: show_controlled_files show_release_files show_release_lib_files
.PHONY: show_release_tag_files
diff --git a/bin/generate_rel_manpages b/bin/generate_rel_manpages
new file mode 100755
index 00000000000..954e114e4e2
--- /dev/null
+++ b/bin/generate_rel_manpages
@@ -0,0 +1,100 @@
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# $Id$
+
+use strict;
+require Cwd;
+
+###########
+###### Sanity Checks
+##########
+my $perl_path = '/usr/bin/perl';
+
+&can_run($perl_path.' -V') ||
+ die "$0: perl path is incorrect, please fix the script\n";
+
+my $dot_path = '/usr/bin';
+&can_run($dot_path.'/dot -V') ||
+ die "$0: dot path is incorrect, please fix the script\n";
+
+my $doxy_path = '/project/deuce/doxygen/bin';
+
+my $doxy_version = '1.2.18';
+
+&can_run($doxy_path.'/doxygen --version | grep '.$doxy_version.' >/dev/null') ||
+ die "$0: doxygen path or version incorrect, please fix the script\n";
+
+$ENV{'PATH'} = $ENV{'PATH'}.':'.$doxy_path;
+
+my $hostname;
+chomp ($hostname = $ENV{'HOSTNAME'} || `uname -n`);
+unless ("$hostname" eq 'deuce.doc.wustl.edu') {
+ #### For efficiency sake . . .
+ die "$0: must run on host deuce.doc.wustl.edu\n";
+}
+
+print "Starting doxygen document generation \n";
+
+my $chgrp = 'chgrp';
+my $cpio = 'cpio';
+my $cvs = 'cvs';
+my $date = 'date';
+my $egrep = 'egrep';
+my $find = 'find';
+my $gzip = 'gzip';
+my $bzip = 'bzip2';
+my $make = 'make -s';
+my $mv = 'mv -f';
+my $rm = 'rm -f';
+my $cp = 'cp -f';
+my $md5sum = 'md5sum';
+my $shell_cd = 'cd';
+my $cksum_ext = 'md5';
+my $redirect = '>';
+my $checksum = '$md5sum';
+
+my $status = 1; #### Must get set to 0 explicitly to indicate success.
+$SIG{'HUP'} = $SIG{'INT'} = $SIG{'QUIT'} = $SIG{'TERM'} = 'cleanup';
+
+my $release_filter = '\\( -name CVS -o -name build \\) -prune -o ' .
+ '! -name \'.\#*\' ! -name \'\#*\' ! -name \'*~\' ' .
+ '! -name \'*.MAK\' -print';
+
+my $bin_files =
+ "\"\\.dsp|\\.dsw|\\.mak|\\.mdp|\\.ide|\\.exe\|\\.ico\|\\.gz\|\\.zip\|" .
+ "\\.gif|\\.vcp|\\.vcproj|\\.vcw|\\.sln\"";
+
+my $dest = '/project/deuce/ftp/pub/ACE+TAO-distribution';
+
+########
+######## Main execution thread.
+########
+&ex ("bin/generate_doxygen.pl -is_release -perl_path $perl_path -dot_path $dot_path")
+ && die "$0: failed to generate ACE man pages\n";
+
+my $build_command =
+ "$find html $release_filter | $cpio -o -H tar | " .
+ "$gzip -9 > ACE-html.tar.gz && ".
+ "$find html $release_filter | $cpio -o -H tar | " .
+ "$bzip -9 > ACE-html.tar.bz2 && ".
+ "$find html $release_filter | $egrep $bin_files | " .
+ "zip ACE-html.zip -q9@ &&" .
+ "$mv ACE-html.tar.gz ACE-html.tar.bz2 ACE-html.zip $dest;";
+my $archives = "ACE-html.tar.gz ACE-html.tar.bz2 ACE-html.zip";
+
+my $checksum_command =
+ "$shell_cd $dest; " .
+ "for p in $archives; do " .
+ "$rm \${p}.${cksum_ext}; " .
+ "$checksum \$p $redirect \${p}.${cksum_ext}; " .
+ "done";
+
+&ex ($build_command)
+ && die "$0: failed to move ACE man pages to $dest\n";
+
+&ex ($checksum_command)
+ && die "$0: failed to create checksum in $dest\n";
+
+exit $status;