minchau     2004/10/14 20:06:57

  Modified:    java     build.xml
  Log:
  
  PR: XALANJ-1891
  Submitted by: Brian Minchau
  Reviewed by:  Sarah McNamara
  Changes to java/build.xml so that the serializer.jar is built
  and used by Xalan.
  
  The two new build targets are serializer.jar and serializer-dist
  
  Revision  Changes    Path
  1.211     +248 -6    xml-xalan/java/build.xml
  
  Index: build.xml
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/build.xml,v
  retrieving revision 1.210
  retrieving revision 1.211
  diff -u -r1.210 -r1.211
  --- build.xml 13 Oct 2004 20:33:42 -0000      1.210
  +++ build.xml 15 Oct 2004 03:06:57 -0000      1.211
  @@ -113,6 +113,7 @@
     <property name="XSLTInfo.props" 
value="./src/org/apache/xalan/res/XSLTInfo.properties"/>  
     <property name="src.dir" value="./src"/>
     <property name="apachexml.reldir" value="org/apache/xml"/>
  +  <property name="serializer.reldir" value="org/apache/xml/serializer"/>
     <property name="xpath.reldir" value="org/apache/xpath"/>
     <property name="xalan.reldir" value="org/apache/xalan"/>
     <property name="domxpath.reldir" value="org/w3c/dom/xpath"/>
  @@ -166,6 +167,24 @@
     <property name="xdocs.XSLTCDONE.file" value="XSLTCDONE"/>
     <property name="xdocs.XSLTCDONE.location" 
value="${xdocs.dir}/sources/xalan/${xdocs.XSLTCDONE.file}"/>
   
  +      
  +  <!-- PROPERTIES TO COMPILE THE SERIALIZER  
======================================= -->  
  +  <property name="serializer.src.dir"       value="./src"                    
 />
  +  <property name="serializer.build.dir"     value="./build"                  
 /> 
  +  <property name="serializer.build.classes" 
value="${serializer.build.dir}/serializer"/> 
  +  
  +  <!-- PROPERTIES TO MAKE THE SERIALIZER JAR 
======================================= -->
  +  <property name="serializer.notice"        value="NOTICE"                   
 />
  +  <property name="serializer.license"       value="LICENSE"                  
 />  
  +  <property name="serializer.manifest.basename" value="MANIFEST.SERIALIZER"  
 /> 
  +  <property name="serializer.manifest"      
value="${serializer.src.dir}/${serializer.manifest.basename}" />
  +  <property name="serializer.impl.version"  value="${impl.version}"          
 />
  +  <property name="serializer.java.version"  value="${java.version}"          
 />
  +  <property name="serializer.java.vendor"   value="${java.vendor}"           
 />
  +  <property name="serializer.jar"           
value="${serializer.build.dir}/serializer.jar"/> 
  +  <!-- a copy of the value above, but for clarity of what it is used for -->
  +  <property name="build.serializer.jar"     value="${serializer.jar}"/> 
  + 
     <!-- Class paths used in various targets -->
     <path id="docs.class.path">
       <pathelement location="${xmlapis.jar}" />
  @@ -175,6 +194,7 @@
       <pathelement location="${stylebook.jar}" />
       <pathelement location="${doclet.jar}" />
       <pathelement location="${taglet.jar}" />
  +    <pathelement location="${build.serializer.jar}" />
       <pathelement location="${build.xalan.jar}" />
       <pathelement path="${java.class.path}" />
     </path>
  @@ -187,6 +207,7 @@
     <path id="compile.class.path">
       <!-- Ensure the selected parser.jar file is used to compile against -->
       <pathelement location="${build.classes}" />
  +    <pathelement location="${serializer.jar}" />
       <pathelement location="${xmlapis.jar}" />
       <pathelement location="${parser.jar}" />
       <pathelement path="${java.class.path}" />
  @@ -215,6 +236,7 @@
       <include name="${dist.file}/bin/xsltc.jar"/>      
       <include name="${dist.file}/bin/${xmlapis.jar.name}"/>
       <include name="${dist.file}/bin/${parser.jar.name}"/>
  +    <include name="${dist.file}/bin/serializer.jar"/>
       <include name="${dist.file}/bin/xalansamples.jar"/>
       <include name="${dist.file}/bin/xalanservlet.war"/>
       <include name="${dist.file}/bin/xsltcapplet.jar"/>
  @@ -234,6 +256,7 @@
       <include name="${dist.file}/bin/xsltc.jar"/>      
       <include name="${dist.file}/bin/${xmlapis.jar.name}"/>
       <include name="${dist.file}/bin/${parser.jar.name}"/>
  +    <include name="${dist.file}/bin/serializer.jar"/>
       <include name="${dist.file}/bin/xalansamples.jar"/>
       <include name="${dist.file}/bin/xalanservlet.war"/>
       <include name="${dist.file}/bin/xsltcapplet.jar"/>
  @@ -323,13 +346,15 @@
     <!-- =================================================================== 
-->
     <!-- Compile the DTM implementation and xml utilities                    
-->
     <!-- =================================================================== 
-->
  -  <target name="xml.compile" depends="prepare">
  +    <target name="xml.compile" depends="prepare,serializer.jar">
       <echo message="Compiling DTM implementation and utilities" />
       <javac srcdir="${src.dir}"
              destdir="${build.classes}"
              debug="${build.debug}"
              target="1.1" >
         <include name="${apachexml.reldir}/**/*.java" />
  +      <!-- exclude the serializer -->
  +      <exclude name="${serializer.reldir}/**/*.java" />      
         <!-- Exclude file that depends upon presence of Xerces in build path 
-->
         <exclude name="**/IncrementalSAXSource_Xerces.java" 
           unless="xerces.present"       />
  @@ -338,7 +363,10 @@
       </javac>
       <!-- Copy needed properties, resource, etc. files to be put into .jar 
file -->
       <copy todir="${build.classes}">
  -      <fileset dir="${src.dir}" 
includes="${apachexml.reldir}/**/*.properties"/>
  +      <fileset dir="${src.dir}" 
  +          includes="${apachexml.reldir}/**/*.properties" 
  +          excludes="${serializer.reldir}/**/*.properties"
  +      />
       </copy>  
     </target>
     
  @@ -378,6 +406,7 @@
     <!-- =================================================================== 
-->
     <path id="xsltc.class.path">
       <pathelement location="${xmlapis.jar}" />
  +    <pathelement location="${serializer.jar}" />
       <pathelement location="${bcel.jar}" />
       <pathelement location="${jlex.jar}" />
       <pathelement location="${java_cup.jar}" />
  @@ -458,7 +487,8 @@
       <javac srcdir="${src.dir}" 
              destdir="${build.classes}"
              includes="${xsltc.reldir}/**/*.java"
  -           debug="${build.debug}">
  +           excludes="${serializer.reldir}/**/*.java"
  +           debug="${build.debug}"> 
         <classpath refid="xsltc.class.path" />
         <bootclasspath refid="xslt.boot.class.path" />
       </javac>
  @@ -579,7 +609,8 @@
           <include name="org/apache/xalan/xsltc/**"/>
           <exclude name="org/apache/xalan/xsltc/util/JavaCupRedirect*" />
         </fileset>
  -      <fileset dir="${build.classes}" includes="org/apache/xml/**" />
  +      <fileset dir="${build.classes}" includes="org/apache/xml/**" 
  +                                      excludes="${serializer.reldir}/**" />
         <fileset dir="${build.classes}" includes="org/apache/bcel/**" />
         <fileset dir="${build.classes}" includes="JLex/**" />
         <fileset dir="${build.classes}" includes="java_cup/**" />
  @@ -606,6 +637,7 @@
           <include name="${xalan.reldir}/**/*" />
           <include name="META-INF/services/*" />
           <exclude name="${xsltc.reldir}/**/*" />
  +        <exclude name="${serializer.reldir}/**/*" />
         </patternset>
       </jar>
     </target>
  @@ -627,6 +659,7 @@
           <include name="${xalan.reldir}/**/*" />
           <include name="META-INF/services/*" />
           <exclude name="${xsltc.reldir}/util/JavaCupRedirect*" />
  +        <exclude name="${serializer.reldir}/**/*.*" />
         </patternset>    
       </jar>
     </target>
  @@ -648,6 +681,7 @@
            basedir="${build.classes}" >
          <patternset>
            <exclude name="${xsltc.reldir}/util/JavaCupRedirect*" />
  +         <exclude name="${serializer.reldir}/**/*" />
          </patternset>
       </jar>  
     
  @@ -1230,6 +1264,7 @@
       <copy todir="${dist.dir}/bin">
         <fileset dir="${build.dir}" includes="xsltc.jar"/>
       </copy>
  +    <copy file="${build.serializer.jar}" todir="${dist.dir}/bin" />
   
       <copy todir="${dist.dir}">
         <fileset dir="." 
includes="readme.html,KEYS,LICENSE,NOTICE,build.xml,build.sh,build.bat,xsltc_todo.xml,todo.xsl,commits.xml"/>
  @@ -1461,5 +1496,212 @@
       <zip zipfile="./build/xalan-j-docs.zip" 
basedir="./xml-site/target/xalan-j" includes="**"/>
     </target>
   
  +
  +<!-- ####################################################
  +     # START OF SECTION TO BUILD STAND-ALONE SERIALIZER #
  +     #################################################### -->
  +
  +  <!-- try not to use other properties directly when building the serializer 
-->
  +  <!-- either create new values, or copy, just in case we separate into      
-->
  +  <!-- a totally new build.xml file                                          
-->
  +  <property name="serializer.build.debug"   value="${build.debug}"           
 />
  + 
  +  
  +  <!-- PROPERTIES TO MAKE THE SOURCE DISTRIBUTION ========================== 
--> 
  +  <property name="serializer.name"          value="serializer"               
 />
  +  <property name="serializer.version"       value="${version}"               
 />
  +  <property name="serializer.bin.dir"       value="./bin"                    
 />  
  +  <property name="serializer.dist.file"     
value="${serializer.name}-j_${serializer.version}"/>  
  +  <property name="serializer.dist.dir"      
value="${serializer.build.dir}/${serializer.dist.file}"/>
  +
  +  <!-- patternset for source distribution packages -->
  +  <patternset id="serializer-src-distro" >
  +    <!-- some license and legal stuff -->
  +    <include name="${serializer.dist.file}/${serializer.license}"/>
  +    <include name="${serializer.dist.file}/${serializer.notice}"/>  
  +    <include name="${serializer.dist.file}/KEYS"/>  
  +    
  +    <!-- The build stuff that uses Ant and this file itself, build.xml
  +         this is getting into a strange loop but the source distribution
  +         needs to build, and it uses this file, build.xml to do so ... -->
  +    <include name="${serializer.dist.file}/build.bat"/>
  +    <include name="${serializer.dist.file}/build.sh"/>
  +    <include name="${serializer.dist.file}/build.xml"/>
  +    
  +    <!-- The source code that the source distribution would build -->
  +    <include 
name="${serializer.dist.file}/src/${serializer.reldir}/**/*.java" />
  +    <include 
name="${serializer.dist.file}/src/${serializer.reldir}/**/*.properties" />
  +    <include 
name="${serializer.dist.file}/src/${serializer.manifest.basename}" />
  +        
  +    <!-- We need Ant in order to run build.xml in the source distribution -->
  +    <include name="${serializer.dist.file}/bin/ant.jar"/>
  +    <include name="${serializer.dist.file}/bin/ant.LICENSE.txt"/>
  +    <include name="${serializer.dist.file}/bin/ant.README.txt"/>
  +    <include name="${serializer.dist.file}/bin/antRun"/>
  +    <include name="${serializer.dist.file}/bin/antRun.bat"/>
  +    
  +    <!-- The serializer needs this jar in order to build -->
  +    <include name="${serializer.dist.file}/bin/xml-apis.jar"/>
  +    <include name="${serializer.dist.file}/bin/xml-apis.LICENSE.txt"/>
  +    <include name="${serializer.dist.file}/bin/xml-apis.README.txt"/>
  +    
  +    <!-- Ant needs an XML parser in order to read in the build.xml, so it
  +         can even do the build ... this is a strange loop ... -->
  +    <include name="${serializer.dist.file}/bin/xercesImpl.jar"/>
  +    <include name="${serializer.dist.file}/bin/xercesImpl.LICENSE.txt"/>
  +    <include name="${serializer.dist.file}/bin/xercesImpl.README.txt"/>    
  +  </patternset> 
  +  
  +  <!-- patternset for  binary distribution packages ... if needed
  +  <patternset id="serializer-bin-distro" >
  +    <include name="${serializer.dist.file}/readme.html"/>
  +    <include name="${serializer.dist.file}/LICENSE"/>
  +    <include name="${serializer.dist.file}/NOTICE"/>      
  +    <include name="${serializer.dist.file}/KEYS"/>
  +    <include name="${serializer.dist.file}/bin/${serializer.name}.jar"/>
  +    <include name="${serializer.dist.file}/bin/${xmlapis.jar.name}"/>
  +  </patternset>
  +  -->
  + 
  +
  + 
  + 
  +  
  +  <!-- =================================================================== 
-->
  +  <!-- Creates the Serializer jar                                          
-->
  +  <!-- =================================================================== 
-->  
  +  <target name="serializer.jar"
  +    depends="serializer.prepare,serializer.compile"
  +    description="Build the serializer and created serializer.jar" >
  +    <!-- Copy over the manifest, with filtering (for version number) -->
  +    <filter token="impl.version" value="${serializer.impl.version}"/>
  +    <filter token="java.version" value="${serializer.java.version}"/>
  +    <filter token="java.vendor" value="${serializer.java.vendor}"/>   
  +    <copy todir="${serializer.build.dir}" file="${serializer.manifest}" 
filtering="true"/>
  +
  +
  +    <jar jarfile="${serializer.jar}" 
  +      manifest="${serializer.build.dir}/${serializer.manifest.basename}" 
  +      basedir="${serializer.build.classes}" >
  +      <patternset><!-- relative to jar/@basedir -->
  +        <include name="${serializer.reldir}/**/*" />
  +        <include name="${serializer.notice}" />
  +        <include name="${serializer.license}" />
  +      </patternset>
  +    </jar>
  +  </target>  
  +
  +  <target name="serializer.prepare">
  +    <mkdir dir="${serializer.build.dir}"/>
  +    <mkdir dir="${serializer.build.classes}"/>
  +  </target>  
  +  
  +
  +  <target name="serializer.compile">
  +    <echo message="Compiling the Serializer" />
  +    <javac srcdir="${serializer.src.dir}"
  +           destdir="${serializer.build.classes}"
  +           debug="${serializer.build.debug}"
  +           target="1.1" >
  +      <include name="${serializer.reldir}/**/*.java" />
  +      <!-- But exclude unused synthetic* files; should be obsoleted from CVS 
-->
  +      <classpath refid="compile.class.path" />
  +      <bootclasspath refid="xslt.boot.class.path" />
  +    </javac>
  +    <!-- Copy needed properties, resource, etc. files to be put into .jar 
file -->
  +    <copy todir="${serializer.build.classes}">
  +      <fileset dir="${serializer.src.dir}" 
includes="${serializer.reldir}/**/*.properties"/>
  +    </copy>  
  +        
  +    <copy todir="${serializer.build.classes}" file="${serializer.license}" />
  +    <copy todir="${serializer.build.classes}" file="${serializer.notice}" />
  +  </target> 
  +
  +  <!-- =================================================================== 
-->
  +  <!-- Create the serializer source distribution                           
-->
  +  <!-- =================================================================== 
-->
  +  <target name="serializer-dist"
  +          depends="serializer.jar"
  +          description="Build the serializer source distribution .tar and 
.zip">
  +    <antcall target="serializer-autodist-mkdirs"/>
  +    <antcall target="serializer-autodist-copy-files"/>
  +      <!-- <antcall target="serializer-autodist-create-bin-packages"/> -->
  +    <antcall target="serializer-autodist-create-src-packages"/>    
  +  </target>  
  +  
  +  <target name="serializer-autodist-mkdirs">
  +    <echo message="Serializer: making distribution directories" />
  +    <mkdir dir="${serializer.dist.dir}"/>
  +    <mkdir dir="${serializer.dist.dir}/bin"/>
  +    <mkdir dir="${serializer.dist.dir}/src"/>
  +  </target>
  +  
  +  <target name="serializer-autodist-copy-files">
  +    <!-- Copy bin directory, which includes preexisting checked-in .jar 
files -->
  +    <copy todir="${serializer.dist.dir}/bin">
  +      <fileset dir="${serializer.bin.dir}" />
  +    </copy> 
  +
  +    <echo message="Serializer: copy source files to 
${serializer.dist.dir}/src" />
  +    <echo message="            ... from 
${serializer.src.dir}/${serializer.reldir}" />
  +    <!-- Copy sources -->
  +    <copy todir="${serializer.dist.dir}/src/${serializer.reldir}">
  +      <fileset dir="${serializer.src.dir}/${serializer.reldir}"/>
  +    </copy>
  +    <!-- Copy the manifest -->
  +    <copy file="${serializer.src.dir}/${serializer.manifest.basename}"
  +          todir="${serializer.dist.dir}/src" />
  +
  +    <!-- Copy built jars -->
  +    <copy file="${serializer.jar}" todir="${serializer.dist.dir}/bin" />
  +
  +
  +    <copy todir="${serializer.dist.dir}">
  +      <fileset dir="." 
includes="readme.html,KEYS,LICENSE,NOTICE,build.xml,build.sh,build.bat,xsltc_todo.xml,todo.xsl,commits.xml"/>
  +    </copy>
  +  </target>
  +  
  +  
  +  <target name="serializer-autodist-create-bin-packages">
  +    <tar tarfile="${serializer.build.dir}/${serializer.dist.file}-bin.tar" >
  +      <tarfileset dir="${serializer.build.dir}">
  +        <patternset refid="serializer-bin-distro"/>
  +      </tarfileset>
  +    </tar>
  +    <gzip src="${serializer.build.dir}/${serializer.dist.file}-bin.tar" 
  +      zipfile="${serializer.build.dir}/${serializer.dist.file}-bin.tar.gz"/>
  +      
  +    <!--  
  +    <delete file="${serializer.build.dir}/${serializer.dist.file}-bin.tar" />
  +      -->
  +
  +    <zip zipfile="${serializer.build.dir}/${serializer.dist.file}-bin.zip" >
  +      <fileset dir="${serializer.build.dir}">
  +        <patternset refid="serializer-bin-distro"/>
  +      </fileset>
  +    </zip>
  +  </target>
  +  
  +  <target name="serializer-autodist-create-src-packages">
  +    <tar tarfile="${serializer.build.dir}/${serializer.dist.file}-src.tar" >
  +      <tarfileset dir="${serializer.build.dir}">
  +        <patternset refid="serializer-src-distro"/>
  +      </tarfileset>
  +    </tar>
  +    <gzip src="${serializer.build.dir}/${serializer.dist.file}-src.tar" 
zipfile="${serializer.build.dir}/${serializer.dist.file}-src.tar.gz"/>
  +    
  +    
  +    <delete file="${serializer.build.dir}/${serializer.dist.file}-src.tar" />
  +    
  +    
  +    <zip zipfile="${serializer.build.dir}/${serializer.dist.file}-src.zip" >
  +      <fileset dir="${serializer.build.dir}">
  +        <patternset refid="serializer-src-distro"/>
  +      </fileset>
  +    </zip>    
  +  </target>  
  +<!-- ##################################################
  +     # END OF SECTION TO BUILD STAND-ALONE SERIALIZER #
  +     ################################################## -->
    
   </project>
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to