You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by sa...@apache.org on 2002/02/22 18:38:40 UTC

cvs commit: jakarta-commons-sandbox/proposal .cvsignore MANIFEST.MF PROPOSAL.html RELEASE-NOTES.txt STATUS.html build.properties.sample build.xml sample.build.xml

sanders     02/02/22 09:38:40

  Added:       proposal .cvsignore MANIFEST.MF PROPOSAL.html
                        RELEASE-NOTES.txt STATUS.html
                        build.properties.sample build.xml sample.build.xml
  Log:
  Created a proposal creator!
  
  Just run ant -Dpackage=foo to create the foo proposal.
  I am using this to create the servlet proposal.
  
  Revision  Changes    Path
  1.1                  jakarta-commons-sandbox/proposal/.cvsignore
  
  Index: .cvsignore
  ===================================================================
  build.properties
  dist
  target
  
  
  
  1.1                  jakarta-commons-sandbox/proposal/MANIFEST.MF
  
  Index: MANIFEST.MF
  ===================================================================
  Extension-Name: @package@
  Specification-Vendor: Apache Software Foundation
  Specification-Version: 1.0
  Implementation-Vendor: Apache Software Foundation
  Implementation-Version: @version@
  
  
  
  1.1                  jakarta-commons-sandbox/proposal/PROPOSAL.html
  
  Index: PROPOSAL.html
  ===================================================================
  <html>
  <head>
  <title>Proposal for @package@ Package</title>
  </head>
  <body bgcolor="white">
  
  <div align="center">
  <h1>Proposal for <em>@package@</em> Package</h1>
  </div>
  
  <h3>(0) Rationale</h3>
  
  <p>Many software projects have a need to blah blah blah.  The @package@
  package seeks to encapsulate some  blah blah blah
  </p>
  
  
  <h3>(1) Scope of the Package</h3>
  
  <p>This proposal is to create a package of Java utility classes for
  various types of @package@ related activity.</p>
  
  
  <h3>(1.5) Interaction With Other Packages</h3>
  
  <p><em>@package@</em> relies only on standard JDK 1.2 (or later) APIs for
  production deployment.  It utilizes the JUnit unit testing framework for
  developing and executing unit tests, but this is of interest only to
  developers of the component.</p>
  
  <p>No external configuration files are utilized.</p>
  
  
  <h3>(2) Initial Source of the Package</h3>
  
  <p>The original Java classes are splashed around various Apache
  subprojects.  We intend to seek them out and integrate them.</p>
  
  <p>The proposed package name for the new component is
  <code>org.apache.commons.@package@</code>.</p>
  
  
  <h3>(3)  Required Jakarta-Commons Resources</h3>
  
  <ul>
  <li>CVS Repository - New directory <code>@package@</code> in the
      <code>jakarta-commons</code> CVS repository.</li>
  <li>Mailing List - Discussions will take place on the general
      <em>commons-dev@jakarta.apache.org</em> mailing list.  To help
      list subscribers identify messages of interest, it is suggested that
      the message subject of messages about this component be prefixed with
      [@package@].</li>
  <li>Bugzilla - New component "@package@" under the "Commons" product
      category, with appropriate version identifiers as needed.</li>
  <li>Jyve FAQ - New category "commons-@package@" (when available).</li>
  </ul>
  
  
  <h3>(4) Initial Committers</h3>
  
  <p>The initial committers on the IO component shall be:
  <ul>
    <li>Your name here</li>
  </ul>
  </p>
  
  
  
  </body>
  </html>
  
  
  
  1.1                  jakarta-commons-sandbox/proposal/RELEASE-NOTES.txt
  
  Index: RELEASE-NOTES.txt
  ===================================================================
  $Id: RELEASE-NOTES.txt,v 1.1 2002/02/22 17:38:40 sanders Exp $
  
  			 Commons @package@ Package
  			   Version 1.0-dev
  			    Release Notes
  
  
  INTRODUCTION:
  
  This document contains the release notes for this version of the Commons
  @package@ package, and highlights changes since the previous version.  The
  current release adds new features and bug fixes, and is being done now to
  follow the release early/release often mentality.
  
  
  NEW FEATURES:
  
  * 
  
  
  BUG FIXES:
  
  
  
  
  
  1.1                  jakarta-commons-sandbox/proposal/STATUS.html
  
  Index: STATUS.html
  ===================================================================
  <html>
  <head>
  <title>Status File for Jakarta Commons "@package@" Component</title>
  </head>
  <body bgcolor="white">
  
  
  <div align="center">
  <h1>The Jakarta Commons <em>@package@</em> Component</h1>
  $Id: STATUS.html,v 1.1 2002/02/22 17:38:40 sanders Exp $<br />
  <a href="#Introduction">[Introduction]</a>
  <a href="#Dependencies">[Dependencies]</a>
  <a href="#Release Info">[Release Info]</a>
  <a href="#Committers">[Committers]</a>
  <a href="#Action Items">[Action Items]</a>
  <br /><br />
  </div>
  
  
  <a name="Introduction"></a>
  <h3>1.  INTRODUCTION</h3>
  
  <p>The <em>@package@</em> Component contains a set of Java classes that provide
  ......The following classes are included:</p>
  <ul>
  <li><strong>TBD</strong> - TBD.</li>
  </ul>
  
  
  <a name="Dependencies"></a>
  <h3>2.  DEPENDENCIES</h3>
  
  <p>The <em>@package@</em> component is dependent upon the following external
  components for development and use:</p>
  <ul>
  <li><a href="http://java.sun.com/j2se">Java Development Kit</a>
      (Version 1.2 or later)</li>
  <li><a href="http://www.junit.org">JUnit Testing Framework</a>
      (Version 3.7 or later) - for unit tests only, not required
      for deployment</li>
  </ul>
  
  
  <a name="Release Info"></a>
  <h3>3.  RELEASE INFO</h3>
  
  <p>Current Release: @package@ is yet to be released.  We hope it will be RSN.</p>
  
  <p>Planned Next Release:  Real Soon Now :)  See the
  <a href="#Action Items">Action Items</a> list for tasks that need to be
  completed prior to this release.</p>
  
  
  <a name="Committers"></a>
  <h3>4.  COMMITTERS</h3>
  
  <p>The following individuals are the primary developers and maintainers of this
  component.  Developers who plan to use <em>@package@</em> in their own
  projects are encouraged to collaborate on the future development of this
  component to ensure that it continues to meet a variety of needs.</p>
  <ul>
  <li><a href="mailto:sanders@apache.org">Scott Sanders</a></li>
  <li>Fancy volunteering?  We need you!</li>
  </ul>
  
  
  <a name="Action Items"></a>
  <h3>5.  ACTION ITEMS</h3>
  
  <p>The following action items need to be completed prior to a Version 1.3
  release of this component:</p>
  
  <table border="1">
  
    <tr>
      <th width="80%">Action Item</th>
      <th width="20%">Volunteer</th>
    </tr>
  
    <tr>
      <td><strong>CODE!</strong>.  Add code to make this package useful.</td>
      <td align="center">Everyone</td>
    </tr>
  
  </table>
  
  </body>
  </html>
  
  
  
  1.1                  jakarta-commons-sandbox/proposal/build.properties.sample
  
  Index: build.properties.sample
  ===================================================================
  # The directory containing your binary distribution of JUnit, 
  # version 3.7 or later
  junit.home = /usr/local/junit3.7
  
  # The pathname of the "junit.jar" JAR file
  junit.jar = ${junit.home}/junit.jar
  
  
  1.1                  jakarta-commons-sandbox/proposal/build.xml
  
  Index: build.xml
  ===================================================================
  <project name="proposal" default="create" basedir=".">
  
  
  <!--
          "IO" component of the Jakarta Commons Subproject
          $Id: build.xml,v 1.1 2002/02/22 17:38:40 sanders Exp $
  -->
  
  
    <target name="init"
     description="Initialize and evaluate conditionals">
      <filter  token="package"                  value="${package}"/>
    </target>
  
    <target name="check" depends="init" unless="package">
      <echo message="property 'package' not set.  Please run Ant as: 'ant -Dpackage=foo' to create a new package."/>
      <fail/>
    </target>
  
    <target name="create" depends="init,check" description="Create a new package" if="package">
      <echo message="-------- Creating package ${package} --------"/>
      <property name="package.home" value="${basedir}/../${package}"/>
      <mkdir dir="${package.home}"/>
      <copy  todir="${package.home}" filtering="on" includeEmptyDirs="yes">
        <fileset dir="${basedir}" includes="build.properties.sample,PROPOSAL.html,STATUS.html,RELEASE-NOTES.txt,src/**"/>
      </copy>
      <copy  file="sample.build.xml" tofile="${package.home}/build.xml" filtering="on"/>
      <copy  file="MANIFEST.MF" todir="${package.home}/src/conf"/>
      <mkdir dir="${package.home}/src/java/org/apache/commons/${package}"/>
      <mkdir dir="${package.home}/src/test/org/apache/commons/${package}"/>
    </target>
  
  </project>
  
  
  
  1.1                  jakarta-commons-sandbox/proposal/sample.build.xml
  
  Index: sample.build.xml
  ===================================================================
  <project name="@package@" default="compile" basedir=".">
  
  
  <!--
          "@package@" component of the Jakarta Commons Subproject
          $Id: sample.build.xml,v 1.1 2002/02/22 17:38:40 sanders Exp $
  -->
  
  
  <!-- ========== Initialize Properties ===================================== -->
  
  
    <property file="build.properties"/>                <!-- Component local   -->
    <property file="../build.properties"/>             <!-- Commons local     -->
    <property file="${user.home}/build.properties"/>   <!-- User local        -->
  
  
  <!-- ========== External Dependencies ===================================== -->
  
  
    <!-- The directory containing your binary distribution of JUnit,
         version 3.7 or later -->
    <property name="junit.home"              value="/usr/local/junit3.7"/>
  
  
  <!-- ========== Derived Values ============================================ -->
  
  
    <!-- The pathname of the "junit.jar" JAR file -->
    <property name="junit.jar"               value="${junit.home}/junit.jar"/>
  
  
  <!-- ========== Component Declarations ==================================== -->
  
  
    <!-- The name of this component -->
    <property name="component.name"          value="@package@"/>
  
    <!-- The primary package name of this component -->
    <property name="component.package"       value="org.apache.commons.@package@"/>
  
    <!-- The title of this component -->
    <property name="component.title"         value="@package@ Utilities"/>
  
    <!-- The current version number of this component -->
    <property name="component.version"       value="1.0-dev"/>
  
    <!-- The base directory for compilation targets -->
    <property name="build.home"              value="target"/>
  
    <!-- The base directory for component configuration files -->
    <property name="conf.home"               value="src/conf"/>
  
    <!-- The base directory for distribution targets -->
    <property name="dist.home"               value="dist"/>
  
    <!-- The base directory for component sources -->
    <property name="source.home"             value="src/java"/>
  
    <!-- The base directory for unit test sources -->
    <property name="test.home"               value="src/test"/>
  
  
  <!-- ========== Compiler Defaults ========================================= -->
  
  
    <!-- Should Java compilations set the 'debug' compiler option? -->
    <property name="compile.debug"           value="true"/>
  
    <!-- Should Java compilations set the 'deprecation' compiler option? -->
    <property name="compile.deprecation"     value="true"/>
  
    <!-- Should Java compilations set the 'optimize' compiler option? -->
    <property name="compile.optimize"        value="true"/>
  
    <!-- Construct compile classpath -->
    <path id="compile.classpath">
      <pathelement location="${build.home}/classes"/>
    </path>
  
  
  <!-- ========== Test Execution Defaults =================================== -->
  
  
    <!-- Construct unit test classpath -->
    <path id="test.classpath">
      <pathelement location="${build.home}/classes"/>
      <pathelement location="${build.home}/tests"/>
      <pathelement location="${junit.jar}"/>
    </path>
  
    <!-- Should all tests fail if one does? -->
    <property name="test.failonerror"        value="true"/>
  
    <!-- The test runner to execute -->
    <property name="test.runner"             value="junit.textui.TestRunner"/>
  
  
  <!-- ========== Executable Targets ======================================== -->
  
  
    <target name="init"
     description="Initialize and evaluate conditionals">
      <echo message="-------- ${component.name} ${component.version} --------"/>
      <filter  token="name"                  value="${component.name}"/>
      <filter  token="package"               value="${component.package}"/>
      <filter  token="version"               value="${component.version}"/>
    </target>
  
  
    <target name="prepare" depends="init"
     description="Prepare build directory">
      <mkdir dir="${build.home}"/>
      <mkdir dir="${build.home}/classes"/>
      <mkdir dir="${build.home}/conf"/>
      <mkdir dir="${build.home}/tests"/>
    </target>
  
  
    <target name="static" depends="prepare"
     description="Copy static files to build directory">
      <tstamp/>
      <copy  todir="${build.home}/conf" filtering="on">
        <fileset dir="${conf.home}" includes="*.MF"/>
      </copy>
    </target>
  
  
    <target name="compile" depends="static"
     description="Compile shareable components">
      <javac  srcdir="${source.home}"
             destdir="${build.home}/classes"
               debug="${compile.debug}"
         deprecation="${compile.deprecation}"
            optimize="${compile.optimize}">
        <classpath refid="compile.classpath"/>
      </javac>
      <copy    todir="${build.home}/classes" filtering="on">
        <fileset dir="${source.home}" excludes="**/*.java"/>
      </copy>
    </target>
  
  
    <target name="compile.tests" depends="compile"
     description="Compile unit test cases">
      <javac  srcdir="${test.home}"
             destdir="${build.home}/tests"
               debug="${compile.debug}"
         deprecation="${compile.deprecation}"
            optimize="${compile.optimize}">
        <classpath refid="test.classpath"/>
      </javac>
      <copy    todir="${build.home}/tests" filtering="on">
        <fileset dir="${test.home}" excludes="**/*.java"/>
      </copy>
    </target>
  
  
    <target name="clean"
     description="Clean build and distribution directories">
      <delete    dir="${build.home}"/>
      <delete    dir="${dist.home}"/>
    </target>
  
  
    <target name="all" depends="clean,compile"
     description="Clean and compile all components"/>
  
  
    <target name="javadoc" depends="compile"
     description="Create component Javadoc documentation">
      <mkdir      dir="${dist.home}"/>
      <mkdir      dir="${dist.home}/docs"/>
      <mkdir      dir="${dist.home}/docs/api"/>
      <javadoc sourcepath="${source.home}"
                  destdir="${dist.home}/docs/api"
             packagenames="org.apache.commons.*"
                   author="true"
                  private="true"
                  version="true"
                 doctitle="&lt;h1&gt;${component.title}&lt;/h1&gt;"
              windowtitle="${component.title} (Version ${component.version})"
                   bottom="Copyright (c) 2001-2002 - Apache Software Foundation">
        <classpath refid="compile.classpath"/>
      </javadoc>
    </target>
  
  
    <target name="dist" depends="compile,javadoc"
     description="Create binary distribution">
      <mkdir      dir="${dist.home}"/>
      <copy      file="../LICENSE"
                todir="${dist.home}"/>
      <copy      file="RELEASE-NOTES.txt"
                todir="${dist.home}"/>
      <antcall target="jar"/>
    </target>
  
  
    <target name="jar" depends="compile"
     description="Create jar">
      <mkdir      dir="${dist.home}"/>
      <mkdir      dir="${build.home}/classes/META-INF"/>
      <copy      file="../LICENSE"
               tofile="${build.home}/classes/META-INF/LICENSE.txt"/>
      <jar    jarfile="${dist.home}/commons-${component.name}.jar"
              basedir="${build.home}/classes"
             manifest="${build.home}/conf/MANIFEST.MF"/>
    </target>
  
  
    <target name="install-jar" depends="jar"
     description="--> Installs jar file in ${lib.repo}">
      <copy todir="${lib.repo}" filtering="no">
        <fileset dir="${dist.home}">
          <include name="commons-${component.name}.jar"/>
        </fileset>
      </copy>
    </target>
  
  
  <!-- ========== Unit Test Targets ========================================= -->
  
  
    <target name="test"  depends="compile.tests,
                                  test.@package@"
     description="Run all unit test cases">
    </target>
  
  
    <target name="test.@package@" depends="compile.tests">
      <echo message="Running @package@ tests ..."/>
      <java classname="${test.runner}" fork="yes"
          failonerror="${test.failonerror}">
        <arg value="org.apache.commons.@package@.SomeTestCase"/>
        <classpath refid="test.classpath"/>
      </java>
    </target>
  
  </project>
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: cvs commit: jakarta-commons-sandbox/proposal .cvsignore MANIFEST.MF PROPOSAL.html RELEASE-NOTES.txt STATUS.html build.properties.sample build.xml sample.build.xml

Posted by Daniel Rall <dl...@finemaltcoding.com>.
Yeah Scott!  I was wondering how long it was going to be before
someone made an actual template for these things.

sanders@apache.org writes:

> sanders     02/02/22 09:38:40
>
>   Added:       proposal .cvsignore MANIFEST.MF PROPOSAL.html
>                         RELEASE-NOTES.txt STATUS.html
>                         build.properties.sample build.xml sample.build.xml
>   Log:
>   Created a proposal creator!
>   
>   Just run ant -Dpackage=foo to create the foo proposal.
>   I am using this to create the servlet proposal.
>   
>   Revision  Changes    Path
>   1.1                  jakarta-commons-sandbox/proposal/.cvsignore
>   
>   Index: .cvsignore
>   ===================================================================
>   build.properties
>   dist
>   target
>   
>   
>   
>   1.1                  jakarta-commons-sandbox/proposal/MANIFEST.MF
>   
>   Index: MANIFEST.MF
>   ===================================================================
>   Extension-Name: @package@
>   Specification-Vendor: Apache Software Foundation
>   Specification-Version: 1.0
>   Implementation-Vendor: Apache Software Foundation
>   Implementation-Version: @version@
>   
>   
>   
>   1.1                  jakarta-commons-sandbox/proposal/PROPOSAL.html
>   
>   Index: PROPOSAL.html
>   ===================================================================
>   <html>
>   <head>
>   <title>Proposal for @package@ Package</title>
>   </head>
>   <body bgcolor="white">
>   
>   <div align="center">
>   <h1>Proposal for <em>@package@</em> Package</h1>
>   </div>
>   
>   <h3>(0) Rationale</h3>
>   
>   <p>Many software projects have a need to blah blah blah.  The @package@
>   package seeks to encapsulate some  blah blah blah
>   </p>
>   
>   
>   <h3>(1) Scope of the Package</h3>
>   
>   <p>This proposal is to create a package of Java utility classes for
>   various types of @package@ related activity.</p>
>   
>   
>   <h3>(1.5) Interaction With Other Packages</h3>
>   
>   <p><em>@package@</em> relies only on standard JDK 1.2 (or later) APIs for
>   production deployment.  It utilizes the JUnit unit testing framework for
>   developing and executing unit tests, but this is of interest only to
>   developers of the component.</p>
>   
>   <p>No external configuration files are utilized.</p>
>   
>   
>   <h3>(2) Initial Source of the Package</h3>
>   
>   <p>The original Java classes are splashed around various Apache
>   subprojects.  We intend to seek them out and integrate them.</p>
>   
>   <p>The proposed package name for the new component is
>   <code>org.apache.commons.@package@</code>.</p>
>   
>   
>   <h3>(3)  Required Jakarta-Commons Resources</h3>
>   
>   <ul>
>   <li>CVS Repository - New directory <code>@package@</code> in the
>       <code>jakarta-commons</code> CVS repository.</li>
>   <li>Mailing List - Discussions will take place on the general
>       <em>commons-dev@jakarta.apache.org</em> mailing list.  To help
>       list subscribers identify messages of interest, it is suggested that
>       the message subject of messages about this component be prefixed with
>       [@package@].</li>
>   <li>Bugzilla - New component "@package@" under the "Commons" product
>       category, with appropriate version identifiers as needed.</li>
>   <li>Jyve FAQ - New category "commons-@package@" (when available).</li>
>   </ul>
>   
>   
>   <h3>(4) Initial Committers</h3>
>   
>   <p>The initial committers on the IO component shall be:
>   <ul>
>     <li>Your name here</li>
>   </ul>
>   </p>
>   
>   
>   
>   </body>
>   </html>
>   
>   
>   
>   1.1                  jakarta-commons-sandbox/proposal/RELEASE-NOTES.txt
>   
>   Index: RELEASE-NOTES.txt
>   ===================================================================
>   $Id: RELEASE-NOTES.txt,v 1.1 2002/02/22 17:38:40 sanders Exp $
>   
>   			 Commons @package@ Package
>   			   Version 1.0-dev
>   			    Release Notes
>   
>   
>   INTRODUCTION:
>   
>   This document contains the release notes for this version of the Commons
>   @package@ package, and highlights changes since the previous version.  The
>   current release adds new features and bug fixes, and is being done now to
>   follow the release early/release often mentality.
>   
>   
>   NEW FEATURES:
>   
>   * 
>   
>   
>   BUG FIXES:
>   
>   
>   
>   
>   
>   1.1                  jakarta-commons-sandbox/proposal/STATUS.html
>   
>   Index: STATUS.html
>   ===================================================================
>   <html>
>   <head>
>   <title>Status File for Jakarta Commons "@package@" Component</title>
>   </head>
>   <body bgcolor="white">
>   
>   
>   <div align="center">
>   <h1>The Jakarta Commons <em>@package@</em> Component</h1>
>   $Id: STATUS.html,v 1.1 2002/02/22 17:38:40 sanders Exp $<br />
>   <a href="#Introduction">[Introduction]</a>
>   <a href="#Dependencies">[Dependencies]</a>
>   <a href="#Release Info">[Release Info]</a>
>   <a href="#Committers">[Committers]</a>
>   <a href="#Action Items">[Action Items]</a>
>   <br /><br />
>   </div>
>   
>   
>   <a name="Introduction"></a>
>   <h3>1.  INTRODUCTION</h3>
>   
>   <p>The <em>@package@</em> Component contains a set of Java classes that provide
>   ......The following classes are included:</p>
>   <ul>
>   <li><strong>TBD</strong> - TBD.</li>
>   </ul>
>   
>   
>   <a name="Dependencies"></a>
>   <h3>2.  DEPENDENCIES</h3>
>   
>   <p>The <em>@package@</em> component is dependent upon the following external
>   components for development and use:</p>
>   <ul>
>   <li><a href="http://java.sun.com/j2se">Java Development Kit</a>
>       (Version 1.2 or later)</li>
>   <li><a href="http://www.junit.org">JUnit Testing Framework</a>
>       (Version 3.7 or later) - for unit tests only, not required
>       for deployment</li>
>   </ul>
>   
>   
>   <a name="Release Info"></a>
>   <h3>3.  RELEASE INFO</h3>
>   
>   <p>Current Release: @package@ is yet to be released.  We hope it will be RSN.</p>
>   
>   <p>Planned Next Release:  Real Soon Now :)  See the
>   <a href="#Action Items">Action Items</a> list for tasks that need to be
>   completed prior to this release.</p>
>   
>   
>   <a name="Committers"></a>
>   <h3>4.  COMMITTERS</h3>
>   
>   <p>The following individuals are the primary developers and maintainers of this
>   component.  Developers who plan to use <em>@package@</em> in their own
>   projects are encouraged to collaborate on the future development of this
>   component to ensure that it continues to meet a variety of needs.</p>
>   <ul>
>   <li><a href="mailto:sanders@apache.org">Scott Sanders</a></li>
>   <li>Fancy volunteering?  We need you!</li>
>   </ul>
>   
>   
>   <a name="Action Items"></a>
>   <h3>5.  ACTION ITEMS</h3>
>   
>   <p>The following action items need to be completed prior to a Version 1.3
>   release of this component:</p>
>   
>   <table border="1">
>   
>     <tr>
>       <th width="80%">Action Item</th>
>       <th width="20%">Volunteer</th>
>     </tr>
>   
>     <tr>
>       <td><strong>CODE!</strong>.  Add code to make this package useful.</td>
>       <td align="center">Everyone</td>
>     </tr>
>   
>   </table>
>   
>   </body>
>   </html>
>   
>   
>   
>   1.1                  jakarta-commons-sandbox/proposal/build.properties.sample
>   
>   Index: build.properties.sample
>   ===================================================================
>   # The directory containing your binary distribution of JUnit, 
>   # version 3.7 or later
>   junit.home = /usr/local/junit3.7
>   
>   # The pathname of the "junit.jar" JAR file
>   junit.jar = ${junit.home}/junit.jar
>   
>   
>   1.1                  jakarta-commons-sandbox/proposal/build.xml
>   
>   Index: build.xml
>   ===================================================================
>   <project name="proposal" default="create" basedir=".">
>   
>   
>   <!--
>           "IO" component of the Jakarta Commons Subproject
>           $Id: build.xml,v 1.1 2002/02/22 17:38:40 sanders Exp $
>   -->
>   
>   
>     <target name="init"
>      description="Initialize and evaluate conditionals">
>       <filter  token="package"                  value="${package}"/>
>     </target>
>   
>     <target name="check" depends="init" unless="package">
>       <echo message="property 'package' not set.  Please run Ant as: 'ant -Dpackage=foo' to create a new package."/>
>       <fail/>
>     </target>
>   
>     <target name="create" depends="init,check" description="Create a new package" if="package">
>       <echo message="-------- Creating package ${package} --------"/>
>       <property name="package.home" value="${basedir}/../${package}"/>
>       <mkdir dir="${package.home}"/>
>       <copy  todir="${package.home}" filtering="on" includeEmptyDirs="yes">
>         <fileset dir="${basedir}" includes="build.properties.sample,PROPOSAL.html,STATUS.html,RELEASE-NOTES.txt,src/**"/>
>       </copy>
>       <copy  file="sample.build.xml" tofile="${package.home}/build.xml" filtering="on"/>
>       <copy  file="MANIFEST.MF" todir="${package.home}/src/conf"/>
>       <mkdir dir="${package.home}/src/java/org/apache/commons/${package}"/>
>       <mkdir dir="${package.home}/src/test/org/apache/commons/${package}"/>
>     </target>
>   
>   </project>
>   
>   
>   
>   1.1                  jakarta-commons-sandbox/proposal/sample.build.xml
>   
>   Index: sample.build.xml
>   ===================================================================
>   <project name="@package@" default="compile" basedir=".">
>   
>   
>   <!--
>           "@package@" component of the Jakarta Commons Subproject
>           $Id: sample.build.xml,v 1.1 2002/02/22 17:38:40 sanders Exp $
>   -->
>   
>   
>   <!-- ========== Initialize Properties ===================================== -->
>   
>   
>     <property file="build.properties"/>                <!-- Component local   -->
>     <property file="../build.properties"/>             <!-- Commons local     -->
>     <property file="${user.home}/build.properties"/>   <!-- User local        -->
>   
>   
>   <!-- ========== External Dependencies ===================================== -->
>   
>   
>     <!-- The directory containing your binary distribution of JUnit,
>          version 3.7 or later -->
>     <property name="junit.home"              value="/usr/local/junit3.7"/>
>   
>   
>   <!-- ========== Derived Values ============================================ -->
>   
>   
>     <!-- The pathname of the "junit.jar" JAR file -->
>     <property name="junit.jar"               value="${junit.home}/junit.jar"/>
>   
>   
>   <!-- ========== Component Declarations ==================================== -->
>   
>   
>     <!-- The name of this component -->
>     <property name="component.name"          value="@package@"/>
>   
>     <!-- The primary package name of this component -->
>     <property name="component.package"       value="org.apache.commons.@package@"/>
>   
>     <!-- The title of this component -->
>     <property name="component.title"         value="@package@ Utilities"/>
>   
>     <!-- The current version number of this component -->
>     <property name="component.version"       value="1.0-dev"/>
>   
>     <!-- The base directory for compilation targets -->
>     <property name="build.home"              value="target"/>
>   
>     <!-- The base directory for component configuration files -->
>     <property name="conf.home"               value="src/conf"/>
>   
>     <!-- The base directory for distribution targets -->
>     <property name="dist.home"               value="dist"/>
>   
>     <!-- The base directory for component sources -->
>     <property name="source.home"             value="src/java"/>
>   
>     <!-- The base directory for unit test sources -->
>     <property name="test.home"               value="src/test"/>
>   
>   
>   <!-- ========== Compiler Defaults ========================================= -->
>   
>   
>     <!-- Should Java compilations set the 'debug' compiler option? -->
>     <property name="compile.debug"           value="true"/>
>   
>     <!-- Should Java compilations set the 'deprecation' compiler option? -->
>     <property name="compile.deprecation"     value="true"/>
>   
>     <!-- Should Java compilations set the 'optimize' compiler option? -->
>     <property name="compile.optimize"        value="true"/>
>   
>     <!-- Construct compile classpath -->
>     <path id="compile.classpath">
>       <pathelement location="${build.home}/classes"/>
>     </path>
>   
>   
>   <!-- ========== Test Execution Defaults =================================== -->
>   
>   
>     <!-- Construct unit test classpath -->
>     <path id="test.classpath">
>       <pathelement location="${build.home}/classes"/>
>       <pathelement location="${build.home}/tests"/>
>       <pathelement location="${junit.jar}"/>
>     </path>
>   
>     <!-- Should all tests fail if one does? -->
>     <property name="test.failonerror"        value="true"/>
>   
>     <!-- The test runner to execute -->
>     <property name="test.runner"             value="junit.textui.TestRunner"/>
>   
>   
>   <!-- ========== Executable Targets ======================================== -->
>   
>   
>     <target name="init"
>      description="Initialize and evaluate conditionals">
>       <echo message="-------- ${component.name} ${component.version} --------"/>
>       <filter  token="name"                  value="${component.name}"/>
>       <filter  token="package"               value="${component.package}"/>
>       <filter  token="version"               value="${component.version}"/>
>     </target>
>   
>   
>     <target name="prepare" depends="init"
>      description="Prepare build directory">
>       <mkdir dir="${build.home}"/>
>       <mkdir dir="${build.home}/classes"/>
>       <mkdir dir="${build.home}/conf"/>
>       <mkdir dir="${build.home}/tests"/>
>     </target>
>   
>   
>     <target name="static" depends="prepare"
>      description="Copy static files to build directory">
>       <tstamp/>
>       <copy  todir="${build.home}/conf" filtering="on">
>         <fileset dir="${conf.home}" includes="*.MF"/>
>       </copy>
>     </target>
>   
>   
>     <target name="compile" depends="static"
>      description="Compile shareable components">
>       <javac  srcdir="${source.home}"
>              destdir="${build.home}/classes"
>                debug="${compile.debug}"
>          deprecation="${compile.deprecation}"
>             optimize="${compile.optimize}">
>         <classpath refid="compile.classpath"/>
>       </javac>
>       <copy    todir="${build.home}/classes" filtering="on">
>         <fileset dir="${source.home}" excludes="**/*.java"/>
>       </copy>
>     </target>
>   
>   
>     <target name="compile.tests" depends="compile"
>      description="Compile unit test cases">
>       <javac  srcdir="${test.home}"
>              destdir="${build.home}/tests"
>                debug="${compile.debug}"
>          deprecation="${compile.deprecation}"
>             optimize="${compile.optimize}">
>         <classpath refid="test.classpath"/>
>       </javac>
>       <copy    todir="${build.home}/tests" filtering="on">
>         <fileset dir="${test.home}" excludes="**/*.java"/>
>       </copy>
>     </target>
>   
>   
>     <target name="clean"
>      description="Clean build and distribution directories">
>       <delete    dir="${build.home}"/>
>       <delete    dir="${dist.home}"/>
>     </target>
>   
>   
>     <target name="all" depends="clean,compile"
>      description="Clean and compile all components"/>
>   
>   
>     <target name="javadoc" depends="compile"
>      description="Create component Javadoc documentation">
>       <mkdir      dir="${dist.home}"/>
>       <mkdir      dir="${dist.home}/docs"/>
>       <mkdir      dir="${dist.home}/docs/api"/>
>       <javadoc sourcepath="${source.home}"
>                   destdir="${dist.home}/docs/api"
>              packagenames="org.apache.commons.*"
>                    author="true"
>                   private="true"
>                   version="true"
>                  doctitle="&lt;h1&gt;${component.title}&lt;/h1&gt;"
>               windowtitle="${component.title} (Version ${component.version})"
>                    bottom="Copyright (c) 2001-2002 - Apache Software Foundation">
>         <classpath refid="compile.classpath"/>
>       </javadoc>
>     </target>
>   
>   
>     <target name="dist" depends="compile,javadoc"
>      description="Create binary distribution">
>       <mkdir      dir="${dist.home}"/>
>       <copy      file="../LICENSE"
>                 todir="${dist.home}"/>
>       <copy      file="RELEASE-NOTES.txt"
>                 todir="${dist.home}"/>
>       <antcall target="jar"/>
>     </target>
>   
>   
>     <target name="jar" depends="compile"
>      description="Create jar">
>       <mkdir      dir="${dist.home}"/>
>       <mkdir      dir="${build.home}/classes/META-INF"/>
>       <copy      file="../LICENSE"
>                tofile="${build.home}/classes/META-INF/LICENSE.txt"/>
>       <jar    jarfile="${dist.home}/commons-${component.name}.jar"
>               basedir="${build.home}/classes"
>              manifest="${build.home}/conf/MANIFEST.MF"/>
>     </target>
>   
>   
>     <target name="install-jar" depends="jar"
>      description="--> Installs jar file in ${lib.repo}">
>       <copy todir="${lib.repo}" filtering="no">
>         <fileset dir="${dist.home}">
>           <include name="commons-${component.name}.jar"/>
>         </fileset>
>       </copy>
>     </target>
>   
>   
>   <!-- ========== Unit Test Targets ========================================= -->
>   
>   
>     <target name="test"  depends="compile.tests,
>                                   test.@package@"
>      description="Run all unit test cases">
>     </target>
>   
>   
>     <target name="test.@package@" depends="compile.tests">
>       <echo message="Running @package@ tests ..."/>
>       <java classname="${test.runner}" fork="yes"
>           failonerror="${test.failonerror}">
>         <arg value="org.apache.commons.@package@.SomeTestCase"/>
>         <classpath refid="test.classpath"/>
>       </java>
>     </target>
>   
>   </project>
>   
>   
>   
>
> --
> To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
> For additional commands, e-mail: <ma...@jakarta.apache.org>

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>