You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by pe...@apache.org on 2003/10/06 21:45:51 UTC

cvs commit: xml-xerces/c/scripts packageSources.pl

peiyongz    2003/10/06 12:45:51

  Modified:    c/scripts packageSources.pl
  Log:
  Rewrite from Mike Pawlowski.
  
  Revision  Changes    Path
  1.49      +439 -225  xml-xerces/c/scripts/packageSources.pl
  
  Index: packageSources.pl
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/scripts/packageSources.pl,v
  retrieving revision 1.48
  retrieving revision 1.49
  diff -u -r1.48 -r1.49
  --- packageSources.pl	22 Aug 2003 04:17:49 -0000	1.48
  +++ packageSources.pl	6 Oct 2003 19:45:51 -0000	1.49
  @@ -2,7 +2,7 @@
   #
   # The Apache Software License, Version 1.1
   #
  -# Copyright (c) 1999-2002 The Apache Software Foundation.  All rights
  +# Copyright (c) 1999-2003 The Apache Software Foundation.  All rights
   # reserved.
   #
   # Redistribution and use in source and binary forms, with or without
  @@ -54,263 +54,480 @@
   # on the Apache Software Foundation, please see
   # <http://www.apache.org/>.
   #
  +# =============================================================================
  +# Author: Mike Pawlowski
  +# -----------------------------------------------------------------------------
  +# Packages XML4C source
  +# Requires Doxygen to be installed
  +# Requires Graphviz to be installed
  +# Requires X-windows to be running (on UNIX)
  +# If running on windows, make sure cygwin utilities bin overrides windows
  +# utilities bin in PATH
  +# This script will not work with the perl provided by cygwin
  +# -> use the ActiveState version of perl
  +# =============================================================================
  +# $Log$
  +# Revision 1.49  2003/10/06 19:45:51  peiyongz
  +# Rewrite from Mike Pawlowski.
  +#
  +# $Id$
  +
  +# Includes ////////////////////////////////////////////////////////////////////
  +
  +use strict;
  +use DirHandle;
  +use Getopt::Std;
  +use Cwd;
  +
  +# Global Variables ////////////////////////////////////////////////////////////
  +
  +my $xercescroot = undef;
  +my $above_dir   = undef;
  +my $packages    = undef;
  +my $old_root    = undef;
  +
  +my $fs          = undef;
  +my $doc_cmd     = undef;
  +my $sub1        = undef;
  +my $sub2        = undef;
  +my $find_delim  = undef;
  +my $lbl1        = undef;
  +my $lbl2        = undef;
  +
  +$| = 1;
  +
  +# Functions ///////////////////////////////////////////////////////////////////
   
  -push(@INC, "/home/xerces-c/bin", "/home/xerces-c/bin/perl/perl-RUN/opt/perl5/lib", "/Development2/cupert/bin/perl/perl-RUN/opt/perl5/lib", "/Development/cupert/usr/local/perl/perl-RUN/opt/perl5/lib");
  -require "getopt.pl";
   
  -$|=1;   # Force a flush after every print
  +# =============================================================================
  +# Function [main]:
  +# =============================================================================
  +# =============================================================================
   
  -# Set up the environment variables for XERCES-C and ICU
  -$XERCESCROOT = $ENV{'XERCESCROOT'};
  +sub main {
  +
  +   # --------------------------------------------------------------------------
  +   # --------------------------------------------------------------------------
  +
  +   get_parameters();
  +   determine_opts();
  +   sanity_check();
  +   package_sources();
  +
  +
  +   exit( 0 );
   
  -# Check for the environment variables and exit if error
  -if (!length($XERCESCROOT)) {
  -        print "You must set an environment variable called XERCESCROOT to work with this script.\n";
  -        exit(-1);
   }
   
  -&Getopt('o');
  -$OUTPUTDIR = $opt_o;
   
  -# Check for the environment variables and exit if error
  -if (!length($XERCESCROOT) || !length($OUTPUTDIR)) {
  -        print ("Usage is: packageSources -o<output_directory>\n");
  -        print ("Example: perl packageSources.pl -oc:\\xerces-c_1_1_1\n");
  -        print ("         perl packageSources.pl -o\$HOME/xerces-c_1_1_1\n");
  -        exit(-1);
  +# ==================================================================
  +# Function [get_parameters]:
  +# ==================================================================
  +# ==================================================================
  +
  +sub get_parameters {
  +
  +   #----------------------------------------------------------------
  +   #----------------------------------------------------------------
  +
  +   my %opts     = ();
  +   my $help     = undef;
  +
  +   getopt('xhp', \%opts);
  +
  +   $old_root    = $opts{'x'};
  +   $packages    = $opts{'p'};
  +   $help        = $opts{'h'};
  +
  +   if ( defined( $help ) ||
  +        !defined( $packages ) ||
  +        !defined( $old_root ) ) {
  +      print "\nperl packageSources.pl -x <xercescroot> -p <package names> [-h <help>]\n\n" .
  +             "-x :  the root of Xerces-C\n" .
  +             "-p :  the name of the source packages\n" .
  +             "-h :  this help screen\n\n";
  +      exit( 1 );
  +   }
  +
  +   return 1;
  +
   }
   
  -#Fix the backslashes on the Windows platform
  -$XERCESCROOT =~ s/\\/\//g;
   
  -# Read the target version from the file $XERCESCROOT/src/util/XercesDefs.hpp
  -$versionfile = "$XERCESCROOT/src/xercesc/util/XercesDefs.hpp";
  -$openresult = open (VERSIONFILE, "<$versionfile");
  +# ==================================================================
  +# Function [determine_opts]:
  +# ==================================================================
  +# ==================================================================
  +
  +sub determine_opts {
  +
  +   #----------------------------------------------------------------
  +   #----------------------------------------------------------------
  +
  +   if ( $^O =~ /win/i ) {
  +      $fs = "\\";
  +      $doc_cmd = 'createDocs.bat';
  +      $sub1 = "\r\n";
  +      $lbl1 = '\r\n';
  +      $sub2 = "\n";
  +      $lbl2 = '\n';
  +      $find_delim = ';';
  +   } else {
  +      $ENV{DISPLAY} = ':0';
  +      $fs = '/';
  +      $doc_cmd = 'sh createDocs.sh';
  +      $sub1 = "\n";
  +      $lbl1 = '\n';
  +      $sub2 = "\r\n";
  +      $lbl2 = '\r\n';
  +      $find_delim = '\;';
  +   }
  +
  +
  +   return 1;
   
  -if ($openresult == 0) {
  -   print "Sorry, I could not find the file $versionfile to pick up the version. Aborting ...\n";
  -   exit(-1);
   }
   
  -close(VERSIONFILE);
   
  -# Now check if the target directory exists, exit if it does
  -if (-e $OUTPUTDIR) {
  -        print ("Error: The target directory \'$OUTPUTDIR\' already exists.\n");
  -        print ("       You must start with a clean directory to package your product.\n");
  -        exit(1);
  +
  +# ==================================================================
  +# Function [sanity_check]:
  +# ==================================================================
  +# ==================================================================
  +
  +sub sanity_check {
  +
  +   #----------------------------------------------------------------
  +   #----------------------------------------------------------------
  +
  +   my $zip_file = $old_root . $fs . '..' . $fs . $packages . '.zip';
  +   my $tar_file = $old_root . $fs . '..' . $fs . $packages . '.tar';
  +   my $gz_file  = $old_root . $fs . '..' . $fs . $packages . '.tar.gz';
  +
  +   if ( ! -e $old_root ) {
  +      die "ERROR:  $old_root does not exist";
  +   } elsif ( -e $zip_file ) {
  +      die "ERROR:  $zip_file already exists";
  +   } elsif ( -e $tar_file ) {
  +      die "ERROR:  $tar_file already exists";
  +   } elsif ( -e $gz_file ) {
  +      die "ERROR:  $gz_file already exists";
  +   }
  +
  +   return 1;
  +
   }
   
  -#Construct the name of the zip file by extracting the last directory name
  -$srczipfiles = $OUTPUTDIR;
  -$srczipfiles =~ s/.*\/([\w|-]*)$/$1/g;
  -$srczipfiles = $srczipfiles . "/*";
  -$srctargetdir = $OUTPUTDIR;
   
  -# Find out the platform from 'uname -a'
  -open(PLATFORM, "uname -a|");
  -$platform = <PLATFORM>;
  -$platform =~ m/(\w*)/;
  -$platform = $1;
  -close (PLATFORM);
  +# ==================================================================
  +# Function [rename_root]:
  +# ==================================================================
  +# ==================================================================
   
  -print "\nPackaging XERCES-C sources in $srctargetdir on platform $platform ...\n";
  +sub rename_root {
   
  -&package_sources();
  +   #----------------------------------------------------------------
  +   #----------------------------------------------------------------
   
  -exit(0);
  +   # Retrive directory above Xerces-C root
   
  -sub package_sources {
  +   pchdir( $old_root . $fs . '..' );
  +   $above_dir = cwd();
   
  -   # Packaging of source files begins here
  -   # We just copy over the relevant files from the actual source tree into
  -   # a mirror location, and then zip (or tar) it up
  -
  -   chdir ("$srctargetdir");
  -
  -   # Now copy over the files directory-by-directory
  -   print ("\nCopying source tree ...\n");
  -   system ("mkdir $srctargetdir");
  -   print ("Targetdir is : " . $srctargetdir . "\n");
  -   system("cp -Rf $XERCESCROOT/* $srctargetdir");
  -
  -   # Now create the API documentation from the XML sources
  -   chdir ("$srctargetdir/doc");
  -   system ("doxygen");
  -
  -   # Now create the User documentation from the XML sources
  -
  -   if ($platform =~ m/Windows/ || $platform =~ m/CYGWIN_NT/) {
  -      $RM = "rm";
  -      system("$RM -rf *.obj");
  -      system("$RM -rf *.dep");
  -      system("$RM -rf *.mak");
  -      system("$RM -rf Makefile");
  -      chdir ("$srctargetdir");
  -      system("createdocs");
  +   # For some reason, cygwin on windows returns / instead of \ in the cwd
  +   # -> get rid of them
   
  +   if ( $^O =~ /win/i ) {
  +      $above_dir =~ s/\//\\/g;
      }
  -   else {   # all UNIX flavors
   
  -#   Docs are only building on Windows for now...
  +   # Rename Xerces-C root
   
  -      $RM = "\\rm";
  -      system("find $srctargetdir -name \"*.o\" -print -exec rm -f {} \\;");
  -      system("find $srctargetdir -name \"core\" -print -exec rm -f {} \\;");
  -      system("find $srctargetdir -name \"a.out\" -print -exec rm -f {} \\;");
  -      system("find $srctargetdir -name \"Makefile\" -print -exec rm -f {} \\;");
  -      system("find $srctargetdir -name \"*.dep\" -print -exec rm -f {} \\;");
  -      system("find $srctargetdir -name \"*.mak\" -print -exec rm -f {} \\;");
  -
  -      print "Changing directory permissions of the following files ...\n";
  -      # Change the directory permissions
  -      system ("chmod 644 `find $srctargetdir -type f -print`");
  -      system ("chmod 755 `find $srctargetdir -type d -print`");
  -
  -      # Change the script file permissions
  -      system ("chmod 755 `find $srctargetdir -name runConfigure -print`");
  -      system ("chmod 755 `find $srctargetdir -name configure -print`");
  -      system ("chmod 755 `find $srctargetdir -name install-sh -print`");
  -
  -      # To make sure that configure script is updated, run autoconf
  -      # chdir ("$srctargetdir/src");
  -      # system("autoconf"); # Our configure script is special, it has OS390 and AS400 tweaks
  -      # chdir ("$srctargetdir/samples");
  -      # system("autoconf"); # Our configure script is special, it has OS390 and AS400 tweaks
  -   }
  +   $xercescroot = $above_dir . $fs . $packages;
  +   rename( $old_root, $xercescroot );
   
  -   # Delete the irrelevant parts before the packaging
  -   system("$RM -f $srctargetdir/CMVC.GON");
  -   system("$RM -f $srctargetdir/KEYS");
  -   system("$RM -rf $srctargetdir/*.\$??");
  -   system("$RM -rf $srctargetdir/*.o");
  -   system("$RM -rf $srctargetdir/Build");
  -   system("$RM -rf $srctargetdir/build");
  -   system("$RM -rf $srctargetdir/bin");
  -   system("$RM -rf $srctargetdir/obj/*.o");
  -   system("$RM -rf $srctargetdir/obj/Makefile");
  -   system("$RM -rf $srctargetdir/obj/*.obj");
  -   system("$RM -rf $srctargetdir/lib");
  -   system("$RM -rf $srctargetdir/include");
  -   system("$RM -rf $srctargetdir/doc/*.zip");
  -
  -   system("$RM -rf $srctargetdir/samples/Projects/OS2");
  -   system("$RM -rf $srctargetdir/Projects/OS2");
  -   system("$RM -rf $srctargetdir/Projects/Win32/BCB4");
  -   system("$RM -rf $srctargetdir/Projects/Win32/BCB5");
  -   system("$RM -rf $srctargetdir/Projects/Win32/Unsupported");
  -   system("$RM -rf $srctargetdir/Projects/Win32/VACPP40");
  -
  -   system("$RM $srctargetdir/scripts/packageSources.pl");
  -
  -   chdir ($srctargetdir);
  -   system("$RM -rf *.opt");
  -   system("$RM -rf *.o");
  -   system("$RM -rf *.so");
  -   system("$RM -rf *.sl");
  -   system("$RM -rf *.a");
  -   system("$RM -rf *.ncb");
  -   system("$RM -rf *.plg");
  -   system("$RM -rf #*");
  -
  -   # Walk through the source directory structure and delete all CVS directories
  -   &deleteCVSdirs($srctargetdir);
  -
  -   # remove the export clauses
  -   chdir ("$srctargetdir/doc/html/apiDocs");
  -   opendir (THISDIR, "$srctargetdir/doc/html/apiDocs");
  -   @allfiles = grep(!/^\.\.?$/, readdir(THISDIR));
  -   @allhtmlfiles = grep(/\.html/, @allfiles);
  -   closedir(THISDIR);
  -   foreach $htmlfile (@allhtmlfiles) {
  -       &remove_export_clauses ("$srctargetdir/doc/html/apiDocs/" . $htmlfile);
  -   }
  +   return 1;
  +
  +}
  +
  +
  +# ==================================================================
  +# Function [pchdir]:
  +# ==================================================================
  +# ==================================================================
  +
  +sub pchdir {
  +
  +   #----------------------------------------------------------------
  +   my $dir = shift;
  +   #----------------------------------------------------------------
   
  -   chdir ("$srctargetdir/..");
  -   if ($platform =~ m/Windows/ || $platform =~ m/CYGWIN/) {
  +   my $status = 0;
   
  -      # Now package it all up using ZIP
  -      print ("\n\nZIPping up all source files ...\n");
  -      $srczipname = $srctargetdir . ".zip";
  -      print ("zip -r $srczipname $srczipfiles");
  -      system ("zip -r $srczipname $srczipfiles");
  +	print "\nChange Directory:  $dir\n";
  +   $status = chdir( $dir );
  +	print "\n -> Status: [$status]\n";
  +
  +   return 1;
  +}
  +
  +
  +# ==================================================================
  +# Function [psystem]:
  +# ==================================================================
  +# ==================================================================
  +
  +sub psystem {
  +
  +   #----------------------------------------------------------------
  +   my $command  = shift;
  +   #----------------------------------------------------------------
  +
  +   my $status = 0;
  +
  +	print "\nSystem Command:  $command\n";
  +   $status = system( $command );
  +	print "\n -> Status: [$status]\n";
  +
  +   return 1;
  +}
  +
  +
  +# ==================================================================
  +# Function [pmkdir]:
  +# ==================================================================
  +# ==================================================================
  +
  +sub pmkdir {
  +
  +   #----------------------------------------------------------------
  +   my $dir = shift;
  +   #----------------------------------------------------------------
  +
  +   my $status = 0;
  +
  +   print "\nMaking Directory:  $dir\n";
  +   $status = mkdir( $dir, 0755 );
  +	print "\n -> Status: [$status]\n";
  +
  +   return 1;
  +}
  +
  +
  +# ==================================================================
  +# Function [convert]:
  +# ==================================================================
  +# ==================================================================
  +
  +sub convert {
  +
  +   #----------------------------------------------------------------
  +   #----------------------------------------------------------------
  +
  +   my $file  = undef;
  +   my $cmd   = 'find . -name "*" -exec file {} ' . $find_delim . ' | grep "text"';
  +   my $line  = undef;
  +   my $rest  = undef;
  +   my $pid   = undef;
  +
  +   $pid = open( README, "$cmd |");
  +   while ( $line = <README> ) {
  +      ( $file, $rest ) = split( /:/, $line );
  +      do_sub( $file );
      }
  -   else {
  -      # Now package it all up using TAR
  -      print ("\n\nTARing all source files ...\n");
  -      $srczipname = $srctargetdir . ".tar";
  -      print ("tar -cvf $srczipname $srczipfiles");
  -      system ("tar -cvf $srczipname $srczipfiles");
  +   close( README );
  +
  +}
  +
  +
  +# ==================================================================
  +# Function [do_sub]:
  +# ==================================================================
  +# ==================================================================
   
  -      system ("gzip $srczipname");
  +sub do_sub {
  +
  +   #----------------------------------------------------------------
  +   my $file = shift;
  +   #----------------------------------------------------------------
  +
  +   my $bak  = undef;
  +   my $line = undef;
  +
  +   print "Substituting $lbl1 with $lbl2: $file\n";
  +
  +   $bak = $file . '.bak';
  +   rename ( $file, $bak );
  +
  +   open ( IN, "<$bak" );
  +   open ( OUT, ">$file" );
  +
  +   while ( $line = <IN> ) {
  +      $line =~ s/$sub1/$sub2/g;
  +      print OUT $line;
      }
  -   print ("Done with packaging sources.\n");
  +   close ( OUT );
  +   close ( IN );
  +   unlink ( $bak );
  +
  +   return 1;
  +
   }
   
  -sub remove_export_clauses()
  -{
  -        my ($thefile) = @_;
  -        print "\nRemoving export clauses in file $thefile";
  -        my $thefiledotbak = $thefile . ".bak";
  -        rename ($thefile, $thefiledotbak);
  -
  -        open (FIZZLE, $thefiledotbak);
  -        open (FIZZLEOUT, ">$thefile");
  -        while ($line = <FIZZLE>) {
  -                $line =~ s/SAX_EXPORT//g;
  -                $line =~ s/SAX2_EXPORT//g;
  -                $line =~ s/CDOM_EXPORT//g;
  -                $line =~ s/XMLPARSER_EXPORT//g;
  -                $line =~ s/PARSERS_EXPORT//g;
  -                $line =~ s/XMLUTIL_EXPORT//g;
  -                print FIZZLEOUT $line;
  +
  +# ==================================================================
  +# Function [remove_exports]:
  +# ==================================================================
  +# ==================================================================
  +
  +sub remove_exports {
  +
  +   #----------------------------------------------------------------
  +   my $dir = shift;
  +   #----------------------------------------------------------------
  +
  +   my $dh   = undef;
  +   my $file = undef;
  +   my $bak  = undef;
  +   my $line = undef;
  +
  +   $dh = DirHandle->new( $dir );
  +
  +   while ( defined ( $file = $dh->read() ) ) {
  +
  +      if ( $file =~ /\.html$/ ) {
  +
  +         print "Removing export clauses: $file\n";
  +
  +         $file = $dir . $fs . $file;
  +         $bak = $file . '.bak';
  +         rename ( $file, $bak );
  +
  +         open ( IN, "<$bak" );
  +         open ( OUT, ">$file" );
  +
  +         while ( $line = <IN> ) {
  +            $line =~ s/SAX_EXPORT//g;
  +            $line =~ s/SAX2_EXPORT//g;
  +            $line =~ s/CDOM_EXPORT//g;
  +            $line =~ s/XMLPARSER_EXPORT//g;
  +            $line =~ s/PARSERS_EXPORT//g;
  +            $line =~ s/XMLUTIL_EXPORT//g;
  +            print OUT $line;
           }
  -        close (FIZZLEOUT);
  -        close (FIZZLE);
  -        unlink ($thefiledotbak);
  -}
  -
  -sub deleteCVSdirs {
  -	local($dir,$nlink) = @_;
  -	local($dev,$ino,$mode,$subcount);
  -
  -	($dev,$ino,$mode,$nlink) = stat($dir) unless $nlink;
  -
  -	opendir(DIR, $dir) || die "Cannot open $dir";
  -	local(@filenames) = readdir(DIR);
  -	closedir(DIR);
  -
  -	if ($nlink == 2) {
  -		for (@filenames) {
  -			next if $_ eq '.';
  -			next if $_ eq '..';
  -			print "$dir/$_\n";
  -		}
  -	}
  -	else {
  -		$subcount = $nlink - 2;
  -		for (@filenames) {
  -			next if $_ eq '.';
  -			next if $_ eq '..';
  -			$name = "$dir/$_";
  -                       $localName = "$_";
  -			# print $name, "\n";
  -			next if $subcount == 0;
  -
  -			($dev,$ino,$mode,$nlink) = lstat($_);			
  -
  -			if ($localName =~ m/CVS/i) {
  -				print ("Removing $name ...\n");
  -				system("$RM -rf $name");
  -				next;
  -			}
  -			
  -			next unless -d _;			
  -			
  -			chdir $_ || die "Cannot cd to $name";
  -			&deleteCVSdirs($name,$nlink);
  -			chdir '..';
  -			--$subcount;
  -		}
  -	}
  +        close ( OUT );
  +        close ( IN );
  +        unlink ( $bak );
  +
  +      }
  +   }
  +
  +   return 1;
   }
  +
  +
  +# ==================================================================
  +# Function [package_sources]:
  +# ==================================================================
  +# ==================================================================
  +
  +sub package_sources {
  +
  +   #----------------------------------------------------------------
  +   #----------------------------------------------------------------
  +
  +   print "\nPACKAGING SOURCES\n";
  +
  +   print "\nRENAMING ROOT\n\n";
  +
  +   rename_root();
  +
  +   print "\nEXECUTING DOXYGEN\n\n";
  +
  +   pchdir( $xercescroot . $fs . 'doc' );
  +   psystem( 'doxygen' );
  +
  +   print "\nCREATING DOCS\n\n";
  +
  +   pchdir( $xercescroot );
  +   psystem( $doc_cmd );
  +
  +   print "\nDELETING FILES\n\n";
  +
  +   pchdir( $xercescroot );
  +   psystem( 'find . -depth -type "d" -name "CVS" -exec rm -fr {} ' . $find_delim );
  +   psystem( 'rm -rf .' . $fs . 'samples' . $fs . 'Projects' . $fs . 'OS2' );
  +   psystem( 'rm -rf .' . $fs . 'Projects' . $fs . 'OS2' );
  +   psystem( 'rm -rf .' . $fs . 'Projects' . $fs . 'Win32' . $fs . 'BCB4' );
  +   psystem( 'rm -rf .' . $fs . 'Projects' . $fs . 'Win32' . $fs . 'BCB5' );
  +   psystem( 'rm -rf .' . $fs . 'Projects' . $fs . 'Win32' . $fs . 'Unsupported' );
  +   psystem( 'rm -rf .' . $fs . 'Projects' . $fs . 'Win32' . $fs . 'VACPP40' );
  +
  +   print "\nCHANGING FILE PERMISSIONS\n\n";
  +
  +   pchdir( $xercescroot );
  +   psystem( 'find . -type f -exec chmod 644 {} ' . $find_delim );
  +   psystem( 'find . -type d -exec chmod 755 {} ' . $find_delim );
  +   psystem( 'find . -name "con*" -exec chmod 755 {} ' . $find_delim );
  +   psystem( 'find . -name "run*" -exec chmod 755 {} ' . $find_delim );
  +   psystem( 'find . -name "install*" -exec chmod 755 {} ' . $find_delim );
  +
  +   print "\nREMOVING EXPORT CLAUSES\n\n";
  +
  +   remove_exports( $xercescroot . $fs . 'doc' . $fs . 'html' . $fs . 'apiDocs' );
  +
  +   print "\nREMOVING MYSELF\n\n";
  +
  +   pchdir( $xercescroot );
  +   psystem( 'rm .' . $fs . 'scripts' . $fs . 'packageSources.pl' );
  +
  +   if ( $^O =~ /win/i ) {
  +
  +      print "\nCREATING WINDOWS PACKAGE\n\n";
  +
  +      pchdir( $xercescroot . $fs . '..' );
  +      psystem ( "zip -qr ${packages}\.zip $packages" );
  +
  +   } else {
  +
  +      print "\nCREATING UNIX PACKAGE\n\n";
  +
  +      pchdir( $xercescroot . $fs . '..' );
  +      psystem ( "tar -cf ${packages}\.tar $packages" );
  +      psystem ( "gzip ${packages}\.tar" );
  +
  +   }
  +
  +   print "\nCONVERTING ASCII FILES\n\n";
  +
  +   pchdir( $xercescroot );
  +   convert();
  +
  +   if ( $^O =~ /win/i ) {
  +
  +      print "\nCREATING UNIX PACKAGE\n\n";
  +
  +      pchdir( $xercescroot . $fs . '..' );
  +      psystem ( "tar -cf ${packages}\.tar $packages" );
  +      psystem ( "gzip ${packages}\.tar" );
  +
  +   } else {
  +
  +      print "\nCREATING WINDOWS PACKAGE\n\n";
  +
  +      pchdir( $xercescroot . $fs . '..' );
  +      psystem ( "zip -qr ${packages}\.zip $packages" );
  +
  +   }
  +
  +
  +   print "\nSOURCE PACKAGING COMPLETE\n\n";
  +
  +   return 1;
  +}
  +
  +
  +# Main Program /////////////////////////////////////////////////////////////
  +
  +main();
  +
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-cvs-help@xml.apache.org