You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by il...@apache.org on 2003/05/26 21:48:29 UTC

cvs commit: xml-xalan/java/src/org/apache/xalan/xslt EnvironmentCheck.java

ilene       2003/05/26 12:48:29

  Modified:    test     build.xml
               java/xdocs/sources/xalan resources.xml builds.xml
                        downloads.xml
               java     build.xml
               java/src/org/apache/xalan/xslt EnvironmentCheck.java
  Log:
  Patch from Sarah McNamara (mcnamara@ca.ibm.com) which improves documentation
  about packaging and adds support for building and testing an alternate 
  binary distribution which provides xalan-interpretive and xsltc in separate jars.
  
  Revision  Changes    Path
  1.63      +14 -2     xml-xalan/test/build.xml
  
  Index: build.xml
  ===================================================================
  RCS file: /home/cvs/xml-xalan/test/build.xml,v
  retrieving revision 1.62
  retrieving revision 1.63
  diff -u -r1.62 -r1.63
  --- build.xml	16 Apr 2003 19:18:10 -0000	1.62
  +++ build.xml	26 May 2003 19:48:28 -0000	1.63
  @@ -129,6 +129,8 @@
       <path id="compiletest.class.path">
           <pathelement path="${java.class.path}" />
           <pathelement location="${xalan.jar}" />
  +        <pathelement location="${xsltc.jar}" />  <!-- add this so we can test the
  +                                                      separate jar distribution -->
           <pathelement location="${xml-apis.jar}" />
           <pathelement location="${parserjar}" />
           <pathelement location="${jtidy.jar}" />
  @@ -159,6 +161,8 @@
            build.bat/build.sh can still build on JDK 1.4 as normal. -->
       <path id="boot.class.path">
           <pathelement location="${xalan.jar}" />
  +        <pathelement location="${xsltc.jar}" />  <!-- add this so we can test the
  +                                                      separate jar distribution -->        
           <pathelement location="${java.class.path}" />
           <pathelement location="${xml-apis.jar}" />
           <pathelement location="${parserjar}" />
  @@ -1351,6 +1355,10 @@
       <path id="xsltc.runtime.class.path">
           <pathelement path="${java.class.path}" />
           <pathelement location="${xalan.build.dir}/xalan.jar" />
  +        
  +        <!-- add xsltc.jar so we can test the separate jar distribution -->
  +        <pathelement location="${xalan.build.dir}/xsltc.jar" />
  +         
           <pathelement location="${testxsl.jar}" />
           <pathelement location="${parserjar}" />
           <pathelement location="${xml-apis.jar}" />
  @@ -1359,6 +1367,10 @@
       <path id="xsltc.compile.class.path">
           <pathelement path="${java.class.path}" />
           <pathelement location="${xalan.build.dir}/xalan.jar" />
  +        
  +        <!-- add xsltc.jar so we can test the separate jar distribution -->
  +        <pathelement location="${xalan.build.dir}/xsltc.jar" />
  +        
           <pathelement location="${testxsl.jar}" />
           <pathelement location="${parserjar}" />
           <pathelement location="${xml-apis.jar}" />
  
  
  
  1.34      +6 -0      xml-xalan/java/xdocs/sources/xalan/resources.xml
  
  Index: resources.xml
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/xdocs/sources/xalan/resources.xml,v
  retrieving revision 1.33
  retrieving revision 1.34
  diff -u -r1.33 -r1.34
  --- resources.xml	10 Apr 2003 14:34:58 -0000	1.33
  +++ resources.xml	26 May 2003 19:48:28 -0000	1.34
  @@ -41,6 +41,12 @@
     <resource id="xslt4j-dist-bin-targz" 
               title="&xslt4j-dist-bin;.tar.gz" 
               location="&xslt4j-distdir;&xslt4j-dist-bin;.tar.gz"/>
  +  <resource id="xslt4j-dist-bin-2jars-zip" 
  +            title="&xslt4j-dist-bin;-2jars.zip" 
  +            location="&xslt4j-distdir;&xslt4j-dist-bin;-2jars.zip"/>
  +  <resource id="xslt4j-dist-bin-2jars-targz" 
  +            title="&xslt4j-dist-bin;-2jars.tar.gz" 
  +            location="&xslt4j-distdir;&xslt4j-dist-bin;-2jars.tar.gz"/>            
     <resource id="xslt4j-dist-src-zip" 
               title="&xslt4j-dist-src;.zip" 
               location="&xslt4j-distdir;&xslt4j-dist-src;.zip"/>
  
  
  
  1.7       +51 -13    xml-xalan/java/xdocs/sources/xalan/builds.xml
  
  Index: builds.xml
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/xdocs/sources/xalan/builds.xml,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- builds.xml	21 Feb 2003 20:10:07 -0000	1.6
  +++ builds.xml	26 May 2003 19:48:28 -0000	1.7
  @@ -134,7 +134,7 @@
   <anchor name="builds"/>
   <s2 title="Running Product Builds - Overview">
   <p>Official builds of &xslt4j; require a few more steps than simply doing 
  -'build dist smoketest'.  This is a quick checklist of the steps; if you are 
  +'build fulldist'.  This is a quick checklist of the steps; if you are 
   not comfortable following this list, then please seek help on xalan-dev.</p> 
   
   <s3 title="Release Types">
  @@ -165,7 +165,9 @@
   <li>Verify any doc updates for code changes are in.<br/><br/></li>
   <li>Update build numbers in doc, code, and build scripts.<br/><br/></li>
   <li>Do a clean checkout and tag the sources.<br/><br/></li>
  -<li>build dist smoketest -logfile ..\dist.log<br/><br/></li>
  +<li>build fulldist -logfile ..\fulldist.log<br/><br/></li>
  +<li>build fulldist-separatejars -logfile ..\fulldist-separatejars.log<br/><br/></li>
  +<li>Run the smoketest for Xalan Interpretive and XSLTC.<br/><br/></li>
   <li>Verify smoketest passed; check docs built with new build numbers.<br/><br/></li>
   <li>PGP/GPG sign all .zip/.tar.gz distribution files (distros).<br/><br/></li>
   <li>Copy distros up to the website.<br/><br/></li>
  @@ -240,8 +242,9 @@
   &lt;property name="version.DEVELOPER" value="D"/>&lt;!-- Set this to "D" if a developer release; blank "" if maintenance point release -->
   &lt;property name="version.MINOR" value="1"/>&lt;!-- EITHER the developer release number, or a maintenance point release number -->
   <br/><br/></li>
  +<!--
   <li>src/org/apache/xalan/res/XSLTInfo.properties:<br/>
  -Update the version number.<br/><br/></li>
  +Update the version number.<br/><br/></li> -->
   
   <li>xml-xalan/java/xdocs/sources/entities.ent (xslt4j-current, xslt4j-dist) documentation updates.  The xsl4j-dist is used to construct links to the actual distribution units, and must be coordinated with whatever xml-xalan/java/build.xml uses for ${version}.<br/><br/></li>
   
  @@ -273,22 +276,53 @@
   
   
   <ul>
  -<li>build dist site smoketest -logfile ..\dist.log</li>
  +<li>build fulldist site -logfile ..\fulldist.log</li>
   </ul>
  -<p>The above command will build the 'dist' or distribution .zip/.tar.gz 
  -files, as well as building the full product plus all documentation.  It will then 
  -run the smoketest, and saves all of it's output in ..\dist.log.  Note that this 
  -will take up a moderate amount of space, especially when building the .tar.gz files, 
  -so ensure you have plenty of disk space first.</p>
  +<p>The above command will build the binary and source distribution .zip/.tar.gz 
  +files, in which the Xalan Interpretive and Xalan Compiled (XSLTC) processors
  +are combined into the xalan.jar file.  All the samples and the documentation
  +are built as well. The log of the build is saved in ..\fulldist.log.  Note 
  +that this will take up a moderate amount of space, especially when building 
  +the .tar.gz files, so ensure you have plenty of disk space first.</p>
  +<p>Review the fulldist.log file quickly to ensure there were no build errors.   
  +Note that you can ignore any 'warnings' from the javadoc target; however any 
  +'error's in the documentation must be fixed.</p>
   
   <ul>
  -<li>Verify smoketest passed; check docs built with new build numbers.</li>
  +<li>build fulldist-separatejars site -logfile ..\fulldist-separatejars.log</li>
   </ul>
  -<p>Review the dist.log quickly to ensure there were no build errors.  
  +<p>Before running this command, rename the generated <strong>./build</strong> directory from 
  +the 'fulldist' command above to another name, for example, build-combinedjar.  The 
  +'fulldist-separatejars' command will build the binary and source distribution 
  +.zip/.tar.gz files, in which the Xalan Interpretive and Xalan Compiled (XSLTC) processors
  +are built into separate jars; xalan.jar and xsltc.jar respectively.  All the samples and 
  +the documentation are built as well.  The log of the build is saved in ..\fulldist-separatejars.log.
  +Note that this will take up a moderate amount of space, especially when building the .tar.gz 
  +files, so ensure you have plenty of disk space first.</p>
  +<p>Review the fulldist-separatejars.log file quickly to ensure there were no build errors.   
   Note that you can ignore any 'warnings' from the javadoc target; however any 
   'error's in the documentation must be fixed.</p>
  -<p>The logfile should also report the Smoketest results at the end; if it does 
  -not say that the Smoketest passed, then you must fix the test results before 
  +<p>The results of the build will be
  +placed in the ./build directory.  Rename the xalan-j_2_x_x-bin.zip and xalan-j_2_x_x-bin.tar.gz
  +files to xalan-j_2_x_x-bin-2jars.zip and xalan-j_2_x_x-bin-2jars.tar.gz respectively so that 
  +this binary distribution can be distinguished from the binary distributions created by the
  +'fulldist' target.  The source distributions, xalan-j_2_x_x-src.zip and xalan-j_2_x_x-src.tar.gz
  +are duplicates of those created by the 'fulldist' target.</p>
  +
  +<ul>
  +<li>Run the smoketest for Xalan Interpretive and XSLTC.</li>
  +</ul>
  +<p>Change to the xml-xalan\test directory and build the test harness by entering
  +"build jar -logfile jar.log".  Run the smoketest for the Xalan Interpretive processor by
  +entering "build smoketest -logfile smoketest.log". Run the smoketest for the XSLTC by
  +entering "build smoketest.xsltc -logfile smoketest.xsltc.log". 
  +</p>
  +
  +<ul>
  +<li>Verify smoketest passed; check docs built with new build numbers.</li>
  +</ul>
  +<p>Review the smoketest.log and smoketest.xsltc.log files.  If they do not say
  +that the Smoketest passed, then you must fix the test results before 
   posting the build.  Even for developer's builds, we must ensure that at least 
   the Smoketest passes.  For major or minor releases, we should also perform more 
   testing to ensure stability.  More detailed log files for the Smoketest can 
  @@ -309,6 +343,10 @@
   ensure the integrity of their public distributions.  This is most commonly done 
   by signing the actual .zip/.tar.gz files with your personal PGP or GPG key. 
   Note that you must sign the files before copying them up to the website.</p>
  +<p>The Xalan Java distributions consist of: the source distribution files 
  +(xalan-j_x_x_x-src.zip and xalan-j_x_x_x-src.tar.gz) and the two binary distributions 
  +files (xalan-j_x_x_x-bin.zip and xalan-j_x_x_x-bin.tar.gz, and xalan-j_x_x_x-bin-2jars.zip 
  +and xalan-j_x_x_x-bin-2jars.tar.gz).</p>
   <p>Two prerequisites to signing the distribution are: 1) you must have a 
   personal PGP or GPG key, and 2) the public half of your key must be in the 
   appropriate KEYS file before you begin a build.  If you hadn't previously checked 
  
  
  
  1.2       +19 -5     xml-xalan/java/xdocs/sources/xalan/downloads.xml
  
  Index: downloads.xml
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/xdocs/sources/xalan/downloads.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- downloads.xml	24 Feb 2003 14:46:38 -0000	1.1
  +++ downloads.xml	26 May 2003 19:48:28 -0000	1.2
  @@ -73,15 +73,29 @@
     <p>You can get the JDK or JRE from <jump href="http://www.ibm.com/java/jdk">ibm.com/java/jdk/</jump> 
        or <jump href="http://www.java.sun.com">java.sun.com</jump>.</p> 
        
  -  <p>To get the &xslt4j; binary distribution (all you need to use and develop applications with &xslt4j;), 
  -     download and unzip either of the following from the <resource-ref idref="xslt4j-distdir"/>:</p>
  +  <p>There are 2 binary distributions available; you only need to choose one of them. The first 
  +     binary distribution contains the Xalan Interpretive processor and the Xalan Compiled processor 
  +     (XSLTC) and the runtime support packages into a single jar, called xalan.jar.  The second binary 
  +     distribution contains the Xalan Interpretive processor in xalan.jar and the Xalan Compiled 
  +     processor (XSLTC) and the runtime support packages in xsltc.jar.  The runtime support packages
  +     required by XSLTC are: java_cup runtime version 0.10j, bcel version 5.0, and regexp version 1.2.
  +     Both binary distributions contain xml-apis.jar (the JAXP 1.2 implementation) and 
  +     &xml4j-jar; from <resource-ref idref="xml4j-used"/>.</p>
  +     
  +  <p>To get the first &xslt4j; binary distribution, download and unzip either of the following from 
  +     the <resource-ref idref="xslt4j-distdir"/>:</p>
       <ul>
         <li><resource-ref idref="xslt4j-dist-bin-zip"/></li>
         <li><resource-ref idref="xslt4j-dist-bin-targz"/></li>
       </ul>
  -  <p>The binary distribution contains &xslt4j-current; (xalan.jar and xml-apis.jar) and 
  -     &xml4j-jar; from <resource-ref idref="xml4j-used"/>.</p>
  -     
  +    
  +  <p>To get the second &xslt4j; binary distribution, download and unzip either of the following from 
  +     the <resource-ref idref="xslt4j-distdir"/>:</p>
  +    <ul>
  +      <li><resource-ref idref="xslt4j-dist-bin-2jars-zip"/></li>
  +      <li><resource-ref idref="xslt4j-dist-bin-2jars-targz"/></li>
  +    </ul>    
  +
     <p>To get the &xslt4j; source distribution (with which you can do your own &xslt4j; build; see 
        <link idref="readme" anchor="build">Build notes</link>), download and unzip either of the 
        following from the <resource-ref idref="xslt4j-distdir"/>:</p>
  
  
  
  1.191     +91 -22    xml-xalan/java/build.xml
  
  Index: build.xml
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/build.xml,v
  retrieving revision 1.190
  retrieving revision 1.191
  diff -u -r1.190 -r1.191
  --- build.xml	10 Apr 2003 14:35:02 -0000	1.190
  +++ build.xml	26 May 2003 19:48:28 -0000	1.191
  @@ -78,7 +78,9 @@
     <property name="runtime.jar" value="${bin.dir}/${runtime.jar.name}"/>
     <property name="regexp.jar.name" value="regexp.jar"/>
     <property name="regexp.jar" value="${bin.dir}/${regexp.jar.name}"/>
  -  <property name="xsltc.deps.license" value="BCEL.LICENSE.txt,BCEL.README.txt,JLex.LICENSE.txt,JLex.README.txt,java_cup.LICENSE.txt,java_cup.README.txt,runtime.LICENSE.txt,runtime.README.txt,regexp.LICENSE.txt,regexp.README.txt"/>
  +<!-- We don't need to package JLex in the xalan.jar, therefore the JLex license and readme files are not required -->
  +<!-- <property name="xsltc.deps.license" value="BCEL.LICENSE.txt,BCEL.README.txt,JLex.LICENSE.txt,JLex.README.txt,java_cup.LICENSE.txt,java_cup.README.txt,runtime.LICENSE.txt,runtime.README.txt,regexp.LICENSE.txt,regexp.README.txt"/> -->  
  +  <property name="xsltc.deps.license" value="BCEL.LICENSE.txt,BCEL.README.txt,java_cup.LICENSE.txt,java_cup.README.txt,runtime.LICENSE.txt,runtime.README.txt,regexp.LICENSE.txt,regexp.README.txt"/>
     
     <!-- Defines general variables used by the other targets; name controls output xalan.jar  -->
     <property name="version.VERSION" value="2"/>
  @@ -105,11 +107,12 @@
     <property name="generated.xpathlexer" value="${src.dir}/${xsltc.reldir}/compiler/XPathLexer.java"/>
     <property name="generated.xpathsym" value="${src.dir}/${xsltc.reldir}/compiler/sym.java"/>
     
  +  
     <!-- Build and distribution output areas -->
     <property name="build.dir" value="./build"/><!-- GUMP: root of all normal builds output -->
     <property name="build.xalan.jar" value="${build.dir}/${name}.jar"/><!-- GUMP: actual path/name of jar target output -->
     <property name="build.xalan-unbundled.jar" value="${build.dir}/${name}-unbundled.jar"/>
  -  <property name="build.xalan-interpretive.jar" value="${build.dir}/${name}-interpretive.jar"/>
  +  <property name="build.xalan-interpretive.jar" value="${build.dir}/${name}.jar"/>
     <property name="build.xsltc.jar" value="${build.dir}/xsltc.jar"/>
     <property name="build.classes" value="${build.dir}/classes"/>
     <property name="build.docs" value="${build.dir}/docs"/>
  @@ -185,7 +188,7 @@
     <path id="compile.source.path">
       <dirset dir="${src.dir}" includes="/org/apache/**" />
     </path>
  -
  +  
   
     <!-- =================================================================== -->
     <!-- Creates output build directories and doc prerequistes               -->
  @@ -204,7 +207,9 @@
     </target>
   
     <!-- Must depend on jar since we use Xalan to process xml files -->
  -  <target name="prepare.docs" depends="jar">
  +  <target name="prepare.docs" depends="jar,prepare.docs.nojardepends"/>
  +  
  +  <target name="prepare.docs.nojardepends">  
       <mkdir dir="${build.docs}"/> 
       <mkdir dir="${build.apidocs}"/>
   
  @@ -427,6 +432,9 @@
         <param name="param_jar_name" value="${bcel.jar.name}" />
       </antcall>
   
  +<!-- We don't need to package the JLex or java_cup jars in the xalan.jar.
  +     These are only required for building XSLTC, not for using XSLTC.
  +     
       <antcall target="xsltc.copy-deps-jar">
         <param name="param_unless" value="xsltc.jlex_jar.not_needed" />
         <param name="param_jar_name" value="${jlex.jar.name}" />
  @@ -436,6 +444,7 @@
         <param name="param_unless" value="xsltc.java_cup_jar.not_needed" />
         <param name="param_jar_name" value="${java_cup.jar.name}" />
       </antcall>
  +-->
   
       <antcall target="xsltc.copy-deps-jar">
         <param name="param_unless" value="xsltc.runtime_jar.not_needed" />
  @@ -451,7 +460,9 @@
       <delete file="${build.classes}/META-INF/MANIFEST.MF" quiet="true"/>  
     </target>
   
  -  <!-- Jar up all XSLTC classes including the support jars -->
  +  <!-- =================================================================== -->
  +  <!-- Creates the xsltc jar including all support jars                    -->
  +  <!-- =================================================================== -->
     <target name="xsltc.jar" depends="xsltc.compile,xsltc.copy-deps-jars"
        description="Jar xsltc,xml,BCEL,JLex,java_cup,runtime and jakarta regexp">
   
  @@ -483,7 +494,7 @@
     </target>
     
     <!-- =================================================================== -->
  -  <!-- Creates the xalan interpretive jar                                   -->
  +  <!-- Creates the xalan interpretive jar                                  -->
     <!-- =================================================================== -->
     <target name="xalan-interpretive.jar" depends="xalan-interpretive.compile"
       description="Jar up everything in Xalan interpretive (without XSLTC)" >
  @@ -502,7 +513,8 @@
     </target>
     
     <!-- =================================================================== -->
  -  <!-- Creates the xalan unbundled jar (Xalan interpretive + XSLTC)         -->
  +  <!-- Creates the xalan unbundled jar (Xalan interpretive + XSLTC -       -->
  +  <!-- support jars                                                        -->
     <!-- =================================================================== -->
     <target name="unbundledjar" depends="xalan-interpretive.compile,xsltc.compile"
       description="Jar up Xalan and XSLTC, without the XSLTC dependencies" >
  @@ -544,7 +556,9 @@
     <!-- =================================================================== -->
     <!-- Compiles the samples (servlet excluded) and jars the class files    -->  
     <!-- =================================================================== -->
  -  <target name="samples" depends="jar,xsltc.samples"
  +  <target name="samples" depends="jar,samples.nojardepends,xsltc.samples"/>
  +  
  +  <target name="samples.nojardepends" depends="xsltc.samples.nojardepends"
       description="Compile and jar the samples (except servlet)" >
       <property name="exclude" value="*.xml,*.xsl,*.txt,*.html,*.properties,*.out"/>
       <mkdir dir="${build.samples}"/>
  @@ -624,19 +638,27 @@
     <!-- =================================================================== -->
     <target name="extra.std.samples"
             depends="servlet,xsltc.applet,xsltc.ejb,xsltc.servlet"/>
  +          
  +  <target name="extra.std.samples.nojardepends"
  +          depends="servlet.nojardepends,xsltc.applet.nojardepends,
  +                   xsltc.ejb.nojardepends,xsltc.servlet.nojardepends"/>          
   
     <!-- =================================================================== -->
     <!-- Compiles all samples that require extra non-standard components in  -->
     <!-- order to compile.                                                   -->
     <!-- =================================================================== -->
     <target name="extra.nonstd.samples" depends="xsltc.brazil"/>
  +  
  +  <target name="extra.nonstd.samples.nojardepends" depends="xsltc.brazil.nojardepends"/>
   
     <!-- =================================================================== -->
     <!-- Compiles the sample servlet and jars the class files.               --> 
     <!-- The javax.servlet and javax.servlet.http packages                   -->
     <!-- must be on the classpath                                            -->
     <!-- =================================================================== -->
  - <target name="servlet" depends="jar"
  + <target name="servlet" depends="jar,servlet.nojardepends"/>
  + 
  + <target name="servlet.nojardepends" 
       description="Compile and jar the servlet samples in xalanservlet.war" >
        <echo message="To compile the sample servlets, javax.servlet and javax.servlet.http must be on the classpath"/>   
        <mkdir dir="${build.servlet}"/>
  @@ -678,7 +700,9 @@
     <!-- add samples in CompiledApplet, CompiledBrazil, CompiledEJB and      -->
     <!-- CompiledServlet.                                                    -->
     <!-- =================================================================== -->
  -  <target name="xsltc.samples" depends="jar">
  +  <target name="xsltc.samples" depends="jar,xsltc.samples.nojardepends"/>
  +  
  +  <target name="xsltc.samples.nojardepends">  
       <mkdir dir="${build.samples}"/>
       <javac srcdir="${samples.dir}/translets"
              classpath="${java.class.path}:${build.xalan.jar}" 
  @@ -692,7 +716,9 @@
     <!-- =================================================================== -->
     <!-- Compiles the XSLTC applet example and jars the class files.         --> 
     <!-- =================================================================== -->
  -  <target name="xsltc.applet" depends="jar">
  +  <target name="xsltc.applet" depends="jar,xsltc.applet.nojardepends"/>
  +  
  +  <target name="xsltc.applet.nojardepends">
       <mkdir dir="${build.samples}/CompiledApplet"/>
       <javac srcdir="${samples.dir}/CompiledApplet"
              destdir="${build.samples}/CompiledApplet" excludes="${exclude}"
  @@ -705,7 +731,9 @@
     <!-- =================================================================== -->
     <!-- Compiles the XSLTC brazil example and jars the class files.         --> 
     <!-- =================================================================== -->
  -  <target name="xsltc.brazil" depends="jar">
  +  <target name="xsltc.brazil" depends="jar,xsltc.brazil.nojardepends"/>
  +  
  +  <target name="xsltc.brazil.nojardepends">
       <mkdir dir="${build.samples}/CompiledBrazil"/>
       <javac srcdir="${samples.dir}/CompiledBrazil"
              destdir="${build.samples}/CompiledBrazil" excludes="${exclude}"
  @@ -720,7 +748,9 @@
     <!-- ejb.jar must be on the classpath to compile this sample.            -->
     <!-- EJB 2.0 can be found at http://java.sun.com/products/ejb/docs.html  -->
     <!-- =================================================================== -->
  -  <target name="xsltc.ejb" depends="jar">
  +  <target name="xsltc.ejb" depends="jar,xsltc.ejb.nojardepends"/>
  +  
  +  <target name="xsltc.ejb.nojardepends">  
       <mkdir dir="${build.samples}/CompiledEJB"/>
       <javac srcdir="${samples.dir}/CompiledEJB"
              destdir="${build.samples}/CompiledEJB" excludes="${exclude}"
  @@ -733,7 +763,9 @@
     <!-- =================================================================== -->
     <!-- Compiles the XSLTC servlet example and jars the class files.        --> 
     <!-- =================================================================== -->
  -  <target name="xsltc.servlet" depends="jar">
  +  <target name="xsltc.servlet" depends="jar,xsltc.servlet.nojardepends" />
  +  
  +  <target name="xsltc.servlet.nojardepends">  
       <mkdir dir="${build.samples}/CompiledServlet"/>
       <javac srcdir="${samples.dir}/CompiledServlet"
              destdir="${build.samples}/CompiledServlet" excludes="${exclude}"
  @@ -747,7 +779,9 @@
     <!-- =================================================================== -->
     <!-- Generate HTML docs                                                  -->
     <!-- =================================================================== -->
  -  <target name="docs" depends="jar,prepare.docs,autodocs"
  +  <target name="docs" depends="jar,docs.nojardepends"/>
  +  
  +  <target name="docs.nojardepends" depends="prepare.docs.nojardepends,autodocs"
       description="Build the documentation (overview, readme, etc.)" >
       <echo message="docs is human-usable target with dependencies"/>  
     </target>
  @@ -764,7 +798,9 @@
     <!-- =================================================================== -->
     <!-- Creates the API documentation                                       -->
     <!-- =================================================================== -->
  -  <target name="javadocs" depends="jar,prepare.docs,autojavadocs"
  +  <target name="javadocs" depends="jar,javadocs.nojardepends"/>
  +  
  +  <target name="javadocs.nojardepends" depends="prepare.docs.nojardepends,autojavadocs"
       description="Build the Javadocs for Xalan 2.x and xml-commons sources" >
       <echo message="javadocs is human-usable target with dependencies"/>  
     </target>
  @@ -877,7 +913,8 @@
     </target>
   
     <!-- =================================================================== -->
  -  <!-- Creates a complete distribution                                     -->
  +  <!-- Creates a complete distribution in which the xalan.jar contains     -->
  +  <!-- the interpretive, compiled and the common packages                  -->
     <!-- =================================================================== -->
     <target name="fulldist" depends="build.nonstd.dist,autodist"
             description="Create a .zip/.tar.gz distribution module containing
  @@ -885,6 +922,16 @@
       <echo message="fulldist is human-useable target for distribution, with all dependencies"/>
     </target>
   
  +  <!-- =================================================================== -->
  +  <!-- Creates a complete distribution with separate xalan.jar and         -->
  +  <!-- xsltc.jar.  The common packages are contained in each jar.          -->
  +  <!-- =================================================================== -->
  +  <target name="fulldist-separatejars" depends="build.nonstd-separatejars.dist,autodist"
  +          description="Create a .zip/.tar.gz distribution module containing
  +                       all components.">
  +    <echo message="fulldist is human-useable target for distribution, with all dependencies"/>
  +  </target>
  +  
     <target name="build.std.dist" depends="build.std.parts">
       <property name="has.nonstd.parts" value="false"/>
     </target>
  @@ -892,10 +939,23 @@
     <target name="build.nonstd.dist" depends="build.std.parts,build.nonstd.parts">
       <property name="has.nonstd.parts" value="true"/>
     </target>
  +  
  +    <target name="build.nonstd-separatejars.dist" depends="build.std-separatejars.parts,
  +                                                           build.nonstd-separatejars.parts">
  +    <property name="has.nonstd.parts" value="true"/>
  +  </target>
   
     <target name="build.std.parts"
             depends="jar,docs,javadocs,samples,extra.std.samples,xsltc.docs"/>
  +          
  +  <target name="build.std-separatejars.parts"
  +          depends="xalan-interpretive.jar,xsltc.jar,
  +                   docs.nojardepends,javadocs.nojardepends,
  +                   samples.nojardepends,extra.std.samples.nojardepends,
  +                   xsltc.docs"/>          
  +          
     <target name="build.nonstd.parts" depends="extra.nonstd.samples"/>
  +  <target name="build.nonstd-separatejars.parts" depends="extra.nonstd.samples.nojardepends"/>
   
     <target name="autodist">
       <echo message="autodist is for automated build processes, without dependencies"/>
  @@ -943,6 +1003,11 @@
            *-bin.zip/tar.gz and *-src.zip/tar.gz files.
       -->
       <copy file="${build.xalan.jar}" todir="${dist.dir}/bin" />
  +    
  +    <!-- only copy the xsltc.jar file if it has been built -->
  +    <copy todir="${dist.dir}/bin">
  +      <fileset dir="${build.dir}" includes="xsltc.jar"/>
  +    </copy>
   
       <copy todir="${dist.dir}">
         <fileset dir="." includes="readme.html,KEYS,License,build.xml,build.sh,build.bat,xsltc_todo.xml,todo.xsl,commits.xml"/>
  @@ -957,6 +1022,10 @@
         <include name="${dist.file}/License"/>
         <include name="${dist.file}/KEYS"/>
         <include name="${dist.file}/bin/${name}.jar"/>
  +      
  +      <!-- only pick up the xsltc.jar file if it has been built -->
  +      <include name="${dist.file}/bin/xsltc.jar"/>      
  +      
         <include name="${dist.file}/bin/${xmlapis.jar.name}"/>
         <include name="${dist.file}/bin/${bsf.jar.name}"/>
         <include name="${dist.file}/bin/${parser.jar.name}"/>
  @@ -1029,7 +1098,7 @@
     <!-- =================================================================== -->
     <!-- Creates the documentation tree for the org.apache.xml website       -->
     <!-- =================================================================== -->
  -  <target name="site" depends="prepare.docs"
  +  <target name="site" depends="prepare.docs.nojardepends"
       description="Build documentation for posting to the website" >
    
       <mkdir dir="${site.dir}/apidocs"/>
  @@ -1113,7 +1182,7 @@
     <!-- This is VERY preliminary, not yet for inclusion in distribution     -->
     <!-- =================================================================== -->
     <!--Collate the xml sources into a single xml source with a litle extra structure -->
  -  <target name="printerdocs" depends="prepare.docs">
  +  <target name="printerdocs" depends="prepare.docs.nojardepends">
       <echo message="NOTICE: requires fop.jar and xml.jar on the classpath"/>
       <java fork="yes" 
             classname="${xalan.cmdline.class}"
  @@ -1149,7 +1218,7 @@
     <!-- =================================================================== -->
   
   
  -  <target name="xsltc.prepare.docs" depends="prepare.docs">
  +  <target name="xsltc.prepare.docs" depends="prepare.docs.nojardepends">
         <echo message="Transform xsltc_todo.xml and put the result in ${build.docs}/xsltc"/>
      <mkdir dir="${build.docs}/xsltc"/>
       <java fork="yes" classname="${xalan.cmdline.class}">
  
  
  
  1.20      +21 -7     xml-xalan/java/src/org/apache/xalan/xslt/EnvironmentCheck.java
  
  Index: EnvironmentCheck.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xslt/EnvironmentCheck.java,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- EnvironmentCheck.java	10 Apr 2003 14:16:32 -0000	1.19
  +++ EnvironmentCheck.java	26 May 2003 19:48:29 -0000	1.20
  @@ -722,8 +722,22 @@
                 Hashtable h = new Hashtable(2);
                 // Note "-" char is looked for in appendFoundJars
                 h.put(jars[i] + "-path", f.getAbsolutePath());
  -              h.put(jars[i] + "-apparent.version",
  +             
  +              // We won't bother reporting on the xalan.jar on the
  +              // foundclasses.java.class.path since this requires
  +              // knowing the size of the xalan.jar and putting that 
  +              // value in the hashtable below before we build the
  +              // jar. Once we do that and perform a build, the 
  +              // xalan.jar size changes!.  If we find a better way
  +              // to do this, we can reable this function.  The user
  +              // will still be given information on the xalan.jar
  +              // found on the java.class.path.
  +              // For other jars, eg. xml-apis.jar and xercesImpl.jar, we 
  +              // report the apparent version of the file we've found
  +              if (!("xalan.jar".equalsIgnoreCase(jars[i]))) {              
  +                h.put(jars[i] + "-apparent.version",
                       getApparentVersion(jars[i], f.length()));
  +              }                    
                 v.addElement(h);
               }
               catch (Exception e)
  @@ -780,8 +794,8 @@
       else
       {
         if ("xerces.jar".equalsIgnoreCase(jarName)
  -              || "xercesImpl.jar".equalsIgnoreCase(jarName)
  -              || "xalan.jar".equalsIgnoreCase(jarName))
  +              || "xercesImpl.jar".equalsIgnoreCase(jarName))
  +//              || "xalan.jar".equalsIgnoreCase(jarName))
         {
   
           // For xalan.jar and xerces.jar/xercesImpl.jar, which we ship together:
  @@ -826,7 +840,7 @@
         Method method = clazz.getMethod(JAXP11_METHOD, noArgs);
   
         // If we succeeded, we at least have JAXP 1.1 available
  -      h.put(VERSION + "JAXP", "1.1");
  +      h.put(VERSION + "JAXP", "1.1 or higher");
       }
       catch (Exception e)
       {
  
  
  

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