You are viewing a plain text version of this content. The canonical link for it is here.
Posted to taglibs-dev@jakarta.apache.org by gl...@apache.org on 2002/04/05 20:01:59 UTC

cvs commit: jakarta-taglibs/src/doc addtaglib.xml

glenn       02/04/05 10:01:59

  Modified:    .        common.properties common.xml
               src/doc  addtaglib.xml
  Log:
  Changes to the build and release process.
  
  Added support for creating a jar/war MANIFEST.MF.
  
  Added a new target called "release" for the common taglib build.
  This is used when doing a release, it creates the zip and tar.gz files.
  
  Added a new section to addtaglib.xml with instructions for the release
  manager.
  
  Revision  Changes    Path
  1.10      +10 -3     jakarta-taglibs/common.properties
  
  Index: common.properties
  ===================================================================
  RCS file: /home/cvs/jakarta-taglibs/common.properties,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- common.properties	11 Oct 2001 23:48:04 -0000	1.9
  +++ common.properties	5 Apr 2002 18:01:59 -0000	1.10
  @@ -31,15 +31,20 @@
   #
   # TAGLIB DOC KIT
   #
  -# These properties support the generation of the HTML documentation
  -# and TLD for a taglib using a single XML document
  +# These properties support the generation of the HTML documentation,
  +# jar and war mainifest's, and TLD for a taglib using a single XML document
   #
   taglib-doc.dir = ${taglibs.basedir}/src/taglib
   tld11.xsl = ${taglib-doc.dir}/tld11.xsl
   tld12.xsl = ${taglib-doc.dir}/tld12.xsl
   taglib-doc.xsl = ${taglib-doc.dir}/taglib-doc.xsl
   changes-doc.xsl = ${taglib-doc.dir}/changes-doc.xsl
  - 
  +manifest.xsl = ${taglib-doc.dir}/manifest.xsl
  +
  +# Override this property from the ant command line when doing a release
  +# with the version number of the release, i.e. 1.0B1
  +release=UNKNOWN
  +
   # 
   # DERIVED PROPERTIES 
   # 
  @@ -91,5 +96,7 @@
   library-dist.post=default.post
   dist.pre=default.pre
   dist.post=default.post
  +release.pre=default.pre
  +release.post=default.post
   clean.pre=default.pre
   clean.post=default.post
  
  
  
  1.25      +31 -4     jakarta-taglibs/common.xml
  
  Index: common.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-taglibs/common.xml,v
  retrieving revision 1.24
  retrieving revision 1.25
  diff -u -r1.24 -r1.25
  --- common.xml	23 Feb 2002 19:29:28 -0000	1.24
  +++ common.xml	5 Apr 2002 18:01:59 -0000	1.25
  @@ -20,6 +20,24 @@
     </target>
   
     <!-- =================================================================== -->
  +  <!-- Perform an official release -->
  +  <!-- =================================================================== -->
  +  <target name="release" depends="library-dist,documentation-dist,examples-dist,dist">
  +    <antcall target="${release.pre}"/>
  +    <copy file="../LICENSE"   tofile="${dist.dir}/LICENSE"/>
  +    <copy file="../README"    tofile="${dist.dir}/README"/>
  +    <!-- delete the doc directory, it isn't needed -->
  +    <delete dir="${dist.dir}/doc"/>
  +    <zip zipfile="${dist.dir}/../jakarta-taglibs-${taglib.name}-${release}.zip"
  +       basedir="${dist.dir}" excludes="doc/**"/>
  +    <tar tarfile="${dist.dir}/../jakarta-taglibs-${taglib.name}-${release}.tar"
  +       basedir="${dist.dir}" excludes="doc/**"/>
  +    <gzip zipfile="${dist.dir}/../jakarta-taglibs-${taglib.name}-${release}.tar.gz"
  +          src="${dist.dir}/../jakarta-taglibs-${taglib.name}-${release}.tar"/>
  +    <antcall target="${release.post}"/>
  +  </target>
  +
  +  <!-- =================================================================== -->
     <!-- Create the entire set of distribution files -->
     <!-- =================================================================== -->
     <target name="dist" depends="library-dist,documentation-dist,examples-dist">
  @@ -82,6 +100,13 @@
       <available file="xml/${taglib.name}.xml" property="template.present"/>
       <!-- See if there is any documentation web app documents -->
       <available file="${doc.src}/web" property="documentation.present"/>
  +    <!-- Generate a manifest for the jar and war files -->
  +    <style in="${xml.src}/${taglib.name}.xml"
  +           destdir="${build.dir}/${taglib.name}"
  +           out="${build.dir}/${taglib.name}/${taglib.name}.mf"
  +           style="${manifest.xsl}">
  +      <param name="release" expression="${release}"/>
  +    </style>
       <antcall target="${prepare.post}"/>
     </target>
   
  @@ -227,7 +252,8 @@
     <!-- =================================================================== -->
     <target name="documentation-dist" depends="documentation">
       <antcall target="${documentation-dist.pre}"/>
  -    <jar jarfile="${dist.doc}" basedir="${build.doc}" excludes="intro.html"/>
  +    <jar jarfile="${dist.doc}" basedir="${build.doc}" excludes="intro.html"
  +         manifest="${build.dir}/${taglib.name}/${taglib.name}.mf" />
       <mkdir dir="${taglibs.doc}"/>  
       <copy todir="${taglibs.doc}">
         <fileset dir="${build.doc}">
  @@ -242,7 +268,8 @@
     <!-- =================================================================== -->
     <target name="examples-dist" depends="examples">
       <antcall target="${examples-dist.pre}"/>
  -    <jar jarfile="${dist.examples}" basedir="${build.examples}"/>
  +    <jar jarfile="${dist.examples}" basedir="${build.examples}"
  +         manifest="${build.dir}/${taglib.name}/${taglib.name}.mf" />
       <antcall target="${examples-dist.post}"/>
     </target>
   
  @@ -252,8 +279,8 @@
     <target name="library-dist" depends="library">
       <antcall target="${library-dist.pre}"/>
       <copy file="${examples.tld}" toFile="${library.tld}"/>
  -    <jar jarfile="${dist.library}/${taglib.name}.jar"
  -         basedir="${build.library}"/>
  +    <jar jarfile="${dist.library}/${taglib.name}.jar" basedir="${build.library}"
  +         manifest="${build.dir}/${taglib.name}/${taglib.name}.mf" />
       <copy file="${examples.tld}" toFile="${dist.tld}"/>
       <antcall target="${library-dist.post}"/>
     </target>
  
  
  
  1.12      +43 -0     jakarta-taglibs/src/doc/addtaglib.xml
  
  Index: addtaglib.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-taglibs/src/doc/addtaglib.xml,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- addtaglib.xml	22 Jul 2001 15:46:11 -0000	1.11
  +++ addtaglib.xml	5 Apr 2002 18:01:59 -0000	1.12
  @@ -19,6 +19,7 @@
   <a href="#Milestone">Publishing a milestone release</a><br/>
   <a href="#Beta">Publishing a beta release</a><br/>
   <a href="#Release">Publishing an official release</a><br/>
  +<a href="#manager">Release Manager Actions</a><br/>
   </section>
   
   <section name="Approval from JAKARTA-TAGLIBS committers" href="Approval">
  @@ -478,5 +479,47 @@
   <p>The taglib release will be available for download at:
   http://jakarta.apache.org/builds/jakarta-taglibs/releases/{taglib-name}/{release-name}.zip</p>
   </section>
  +
  +<section name="Release Manager Actions" href="manager">
  +<p>Prerequisites:
  +<ul>
  +<li>The jakarta-taglibs committer performing a release must have
  +a shell account on the apache web server.</li>
  +<li>The jakarta-taglibs committer performing a release must have
  +a PGP key for signing the release. See
  +<a href="http://jakarta.apache.org/builds/jakarta-taglibs/releases/KEYS">
  +http://jakarta.apache.org/builds/jakarta-taglibs/releases/KEYS</a></li>
  +</ul>
  +</p>
  +
  +<p>Building a release:
  +<ul>
  +<li>This works for any taglib that uses the common taglib ant build. If the
  +taglib does not use this, you are on your own.</li>
  +<li>Checkout a clean copy of jakarta-taglibs from CVS:
  +  <code>cvs co jakarta-taglibs</code>.</li>
  +<li>cd to the directory for the taglib being released: 
  +  <code>cd jakarta-taglibs/{taglib-name}</code>.</li>
  +<li>Use ant to build the release distribution passing in the release version:
  +  <code>ant -Drelease={release-version} -Ddist.dir=../dist/jakarta-taglibs release</code>.</li>
  +<li>Sign the tar.gz and zip files for the taglib release found in the dist directory.</li>
  +</ul>
  +</p>
  +
  +<p>Publishing the release to http://jakarta.apache.org/:
  +<ul>
  +<li>Publish the release documentation found in the dist dir to the jakarta-taglibs
  +webiste location identified for the release. Make sure the group write bit is set
  +for all directories and files.</li>
  +<li>Publish the release distributions and .asc files to the jakarta-taglibs
  +release directory on the website. Make sure the group write bit is set
  +for all directories and files.</li>
  +<li>Announce the release to announcements@jakarta.apache.org, taglibs-user@jakarta.apache.org,
  +and taglibs-dev@jakarta.apache.org.</li>
  +</ul>
  +</p>
  +
  +</section>
  +
     </body>
   </document>
  
  
  

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