You are viewing a plain text version of this content. The canonical link for it is here.
Posted to servletapi-dev@jakarta.apache.org by cr...@apache.org on 2001/07/20 21:19:49 UTC

cvs commit: jakarta-servletapi-4 BUILDING.txt README.txt build.xml README build.bat build.sh

craigmcc    01/07/20 12:19:49

  Modified:    .        build.xml
  Added:       .        BUILDING.txt README.txt
  Removed:     .        README build.bat build.sh
  Log:
  Bring "jakarta-servletapi-4" up to current build procedures for Jakarta
  subprojects (including up-to-date documentation on building from source).
  
  Revision  Changes    Path
  1.4       +53 -13    jakarta-servletapi-4/build.xml
  
  Index: build.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-servletapi-4/build.xml,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- build.xml	2001/05/21 22:36:49	1.3
  +++ build.xml	2001/07/20 19:19:48	1.4
  @@ -1,54 +1,75 @@
   <project name="Servlet API Classes" default="compile" basedir=".">
   
  +
     <!-- =================== Environmental Properties ======================= -->
   
  +  <!-- Load user property definition overrides -->
     <property file="build.properties"/>
     <property file="${user.home}/build.properties"/>
   
  -  <property name="build.compiler"   value="classic"/>
  +  <!-- Establish property definition defaults -->
     <property name="servletapi.build" value="build"/>
     <property name="servletapi.dist"  value="dist"/>
     <property name="servletapi.lib"   value="lib"/>
   
  +
     <!-- ===================== Prepare Directories ========================= -->
     <target name="prepare">
  +
       <!-- "Build" Hierarchy -->
       <mkdir dir="${servletapi.build}"/>
       <mkdir dir="${servletapi.build}/classes"/>
  -    <mkdir dir="${servletapi.build}/classes/javax"/>
  -    <mkdir dir="${servletapi.build}/classes/javax/servlet"/>
  -    <mkdir dir="${servletapi.build}/classes/javax/servlet/resources"/>
  -    <mkdir dir="${servletapi.build}/classes/javax/servlet/jsp"/>
  -    <mkdir dir="${servletapi.build}/classes/javax/servlet/jsp/resources"/>
       <mkdir dir="${servletapi.build}/docs"/>
       <mkdir dir="${servletapi.build}/docs/api"/>
  +
       <!-- "Dist" Hierarchy -->
       <mkdir dir="${servletapi.dist}"/>
       <mkdir dir="${servletapi.dist}/docs"/>
       <mkdir dir="${servletapi.dist}/docs/api"/>
       <mkdir dir="${servletapi.dist}/lib"/>
       <mkdir dir="${servletapi.dist}/src"/>
  +
       <!-- "Library" Hierarchy -->
       <mkdir dir="${servletapi.lib}"/>
  +
     </target>
   
  +
  +  <!-- ======================= Static Files ============================== -->
  +  <target name="static" depends="prepare">
  +
  +    <!-- "Dist" Hierarchy -->
  +    <copy todir="${servletapi.dist}">
  +      <fileset dir="." includes="BUILDING.txt"/>
  +      <fileset dir="." includes="LICENSE"/>
  +      <fileset dir="." includes="README.txt"/>
  +    </copy>
  +
  +  </target>
  +
  +
     <!-- ======================== Compile Classes ========================== -->
  -  <target name="compile" depends="prepare">
  +  <target name="compile" depends="static"
  +   description="Compile API classes (Default)">
  +
       <!-- Java classes -->
       <javac srcdir="src/share" destdir="${servletapi.build}/classes"
              debug="on" optimize="on" deprecation="on"/>
  +
       <!-- Associated property files -->
       <copy todir="${servletapi.build}/classes">
           <fileset dir="src/share">
             <include name="**/*.properties"/>
           </fileset>
       </copy>
  +
       <!-- Servlet resources -->
       <copy todir="${servletapi.build}/classes/javax/servlet/resources">
           <fileset dir="src/share/dtd">
             <include name="web-app*.dtd"/>
           </fileset>
       </copy>
  +
       <!-- JSP resources -->
       <copy todir="${servletapi.build}/classes/javax/servlet/jsp/resources">
           <fileset dir="src/share/dtd">
  @@ -56,44 +77,63 @@
             <include name="jspxml.*"/>
           </fileset>
       </copy>
  +
     </target>
   
  +
     <!-- ======================== Build JavaDoc =========================== -->
     <target name="javadoc" depends="prepare">
  +
       <javadoc packagenames="javax.servlet.*"
                sourcepath="${basedir}/src/share"
                destdir="${servletapi.build}/docs/api"
                use="true"
                windowtitle="Servlet and JavaServer Pages API Documentation"
                doctitle="Servlet and JavaServer Pages API Documentation"
  -             bottom="Copyright &amp;copy; 1999-2000 The Apache Software Foundation.  All Rights Reserved."/>
  +             bottom="Copyright &amp;copy; 1999-2001 The Apache Software Foundation.  All Rights Reserved."/>
  +
     </target>
   
   
     <!-- ===================== Distribution Files ========================= -->
  -  <target name="dist" depends="compile,javadoc">
  +  <target name="dist" depends="compile,javadoc"
  +   description="Create binary distribution">
  +
  +    <!-- Copy Javadocs -->
       <copy todir="${servletapi.dist}/docs/api">
           <fileset dir="${servletapi.build}/docs/api"/>
       </copy>
   
  +    <!-- Create JAR file -->
       <jar jarfile="${servletapi.dist}/lib/servlet.jar"
            basedir="${servletapi.build}/classes"/>
   
  -    <copy file="build.xml" tofile="${servletapi.dist}/lib/build.xml"/>
  +    <!-- Copy API source files -->
       <copy todir="${servletapi.dist}/src">
           <fileset dir="src/share"/>
       </copy>
  -    <copy file="${servletapi.dist}/lib/servlet.jar" tofile="${servletapi.lib}/servlet.jar"/>
  +
  +    <!-- Copy JAR file to ${servletapi.lib} (legacy reasons) -->
  +    <copy file="${servletapi.dist}/lib/servlet.jar"
  +        tofile="${servletapi.lib}/servlet.jar"/>
  +
     </target>
   
  +
     <!-- ====================== Clean Generated Files ===================== -->
  -  <target name="clean">
  +  <target name="clean"
  +   description="Clean previous build results">
  +
       <delete dir="${servletapi.build}"/>
       <delete dir="${servletapi.dist}"/>
       <delete dir="${servletapi.lib}"/>
  +
     </target>
   
  +
     <!-- ========================= All In One Build ======================= -->
  -  <target name="all" depends="clean,dist"/>
  +  <target name="all" depends="clean,dist"
  +   description="Clean, compile, and dist"/>
  +
   
   </project>
  
  
  
  1.1                  jakarta-servletapi-4/BUILDING.txt
  
  Index: BUILDING.txt
  ===================================================================
  $Id: BUILDING.txt,v 1.1 2001/07/20 19:19:48 craigmcc Exp $
  
  
                 Building The Java Servlet and JSP API Classes
                 =============================================
  
  This subproject contains the source code for the implementation classes of the
  Java Servlet and JSP APIs (packages javax.servlet, javax.servlet.http,
  javax.servlet.jsp, and javax.servlet.jsp.tagext).  In order to build these
  sources successfully, you must do the following:
  
  
  (1) Download and Install the Ant Binary Distribution
  
  NOTE:  These instructions assume that you are using the Ant 1.3 release.
  Procedures for Ant 1.4 and later versions should be similar, but have not
  been tested.
  
  * Download a binary distribution of Ant 1.3 from:
  
      http://jakarta.apache.org/builds/jakarta-ant/release/v1.3/bin/
  
    On a Windows platform, you will need:
      jakarta-ant-1.3-bin.zip
      jakarta-ant-1.3-optional.jar
  
    On a Unix platform, you will need:
      jakarta-ant-1.3-bin.tar.gz
      jakarta-ant-1.3-optional.jar
  
  * Unpack the binary distribution into a convenient location so that the
    Ant release resides in its own directory (conventionally named
    "jakarta-ant-1.3").  For the purposes of the remainder of this document,
    the symbolic name "${ant.home}" is used to refer to the full pathname of
    the release directory.
  
  * Copy the file "jakarta-ant-1.3-optional.jar", downloaded above, into
    the directory "${ant.home}/lib".  This makes available several Ant
    extension commands that are commonly required when building Jakarta
    based projects.
  
  * Modify the PATH environment variable to include directory
    "${ant.home}/bin" in its list.  This makes the "ant" command line script
    available, which will be used to actually perform the build.
  
  
  (2) Download and Install the JAXP/1.1 Reference Implementation (OPTIONAL)
  
  NOTE:  Although this step is not required to build this particular subproject,
  it is commonly required to build other Jakarta projects.  Hence, the steps
  required are documented here.
  
  * Download a binary distribution of JAXP 1.1 (Final Version) from:
  
      http://java.sun.com/xml/download.html
  
  * Unpack the binary distribution into a convenient location so that the
    JAXP/1.1 release resides in its own directory (conventionally named
    "jaxp-1.1".  For the purposes of the remainder of this document, the
    symbolic name "${jaxp.home}" is used to refer to the full pathname of
    the release directory.
  
  * Make the JAR files of this distribution ("crimson.jar", "jaxp.jar", and
    "xalan.jar") available for use by performing ONE of the following options:
  
    - Remove the existing "jaxp.jar" and "parser.jar" files found in the
      "${ant.home}/lib" directory, and copy these JAR files into the
      "${ant.home}/lib" directory (prefered option).
  
    - Add these files to your CLASSPATH environment variable.
  
  
  (3) Download and Install Subproject Source Code
  
  * Use Anonymous CVS (as described on the Jakarta web site at
    <http://jakarta.apache.org/site/cvsindex.html>, or
    download a source distribution from:
  
      http://jakarta.apache.org/builds/jakarta-servletapi-4/nightly/src/
  
    On a Windows platform, you will need:
      jakarta-servletapi-4-src-YYYYMMDD.zip
  
    On a Unix platform, you will need:
      jakarta-servletapi-4-src-YYYYMMDD.zip
  
    (Alternatively, you can download the Servlet API source distribution
    from the same directory as you find a released version of Tomcat 4.
    Such distributions will contain exactly the Servlet API classes used
    to build the "servlet.jar" file inside that Tomcat distribution.)
  
  * Unpack the source distribution into a convenient location so that the
    distribution resides in its own directory (conventionally named
    "jakarta-servletapi-4").  For the purposes of the remainder of this document,
    the symbolic name "${servletapi.source}" is used to refer to the full
    pathname of the release directory.
  
  
  (4) Customize Build Properties For This Subproject
  
  Most Jakarta subprojects allow you to customize Ant properties (with default
  values defined in the "build.xml" file.  This is done by creating a text file
  named "build.properties" in the source distribution directory (for property
  definitions local to this subproject) and/or your user home directory (for
  property definitions shared across subprojects).
  
  The "jakarta-servletapi-4" subproject does not define any customizable
  build properties.
  
  
  (5) Build A Binary Distribution
  
  Open a command line shell, and issue the following commands:
  
    cd ${servletapi.source}
    ant -projecthelp
  
  If everything is installed correctly, you should see a list of the Ant
  "targets" that represent different commands you might wish to build.  By
  convention, the "dist" target creates a complete binary distribution.  To
  execute it, type the following commands:
  
    cd ${servletapi.source}
    ant dist
  
  This will create a complete binary distribution of the subproject (equivalent
  in structure to the corresponding binary distribution downloadable from the
  Jakarta web site), in the "${servletapi.source}/dist" directory.  It will have
  the contents described in the corresponding "README.txt" file.
  
  The file most commonly required by other projects will be the "servlet.jar"
  file, found in "${servletapi.source}/lib/servlet.jar".  Make a note of the
  full pathname to this file, because you will need it when customizing build
  properties for other Jakarta subprojects that depend on these classes.
  
  
  
  1.1                  jakarta-servletapi-4/README.txt
  
  Index: README.txt
  ===================================================================
  $Id: README.txt,v 1.1 2001/07/20 19:19:48 craigmcc Exp $
  
                        Java Servlet and JSP API Classes
                        ================================
  
  This subproject contains the compiled code for the implementation classes of
  the Java Servlet and JSP APIs (packages javax.servlet, javax.servlet.http,
  javax.servlet.jsp, and javax.servlet.jsp.tagext).  It includes the following
  contents:
  
  
    BUILDING.txt                Instructions for building from sources
    LICENSE                     Apache Software License for this release
    README.txt                  This document
    docs/                       Documentation for this release
        api/                    Javadocs for Servlet and JSP API classes
    lib/                        Binary JAR files for this release
        servlet.jar             Binary Servlet and JSP API classes
    src/                        Sources for Servlet and JSP API classes
  
  In general, you will need to add the "servlet.jar" file (found in the "lib"
  subdirectory of this release) into the compilation class path for your
  projects that depend on these APIs.
  
  The compiled "servlet.jar" file included in this subproject is automatically
  included in binary distributions of Tomcat 4.0, so you need not download this
  subproject separately unless you wish to utilize the Javadocs, or peruse the
  source code to see how the API classes are implemented.