Author: markt
Date: Sat Apr 24 21:18:40 2010
New Revision: 937698

URL: http://svn.apache.org/viewvc?rev=937698&view=rev
Log:
Build script improvements:
 - build src jars for every jar
 - use ecj-x.x.x.jar directly
 - add an embed-release target
 
Note: src JARs are required to fix 
https://issues.apache.org/bugzilla/show_bug.cgi?id=48222 (providing src JARs 
for Maven)

Removed:
    tomcat/trunk/res/META-INF/jasper-jdt.jar.license
    tomcat/trunk/res/META-INF/jasper-jdt.jar.notice
Modified:
    tomcat/trunk/LICENSE
    tomcat/trunk/build.xml

Modified: tomcat/trunk/LICENSE
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/LICENSE?rev=937698&r1=937697&r2=937698&view=diff
==============================================================================
--- tomcat/trunk/LICENSE (original)
+++ tomcat/trunk/LICENSE Sat Apr 24 21:18:40 2010
@@ -210,7 +210,7 @@ and license terms. Your use of these sub
 conditions of the following licenses. 
 
 
-For the jasper-jdt.jar component and the EnclosingMethod and
+For the ecj-x.x.x.jar component and the EnclosingMethod and
 LocalVariableTypeTable classes in the org.apache.tomcat.util.bcel.classfile
 package:
 

Modified: tomcat/trunk/build.xml
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/build.xml?rev=937698&r1=937697&r2=937698&view=diff
==============================================================================
--- tomcat/trunk/build.xml (original)
+++ tomcat/trunk/build.xml Sat Apr 24 21:18:40 2010
@@ -66,10 +66,12 @@
   <property name="tomcat.deployer"       value="${tomcat.output}/deployer"/>
   <property name="tomcat.dist"           value="${tomcat.output}/dist"/>
   <property name="tomcat.embed"          value="${tomcat.output}/embed"/>
-  <property name="tomcat.embed.sources"  value="${tomcat.output}/embed"/>
+  <property name="tomcat.embed.sources"  
value="${tomcat.output}/embed-src-jars"/>
   <property name="tomcat.extras"         value="${tomcat.output}/extras"/>
+  <property name="tomcat.extras.sources" 
value="${tomcat.output}/extras-src-jars"/>
   <property name="tomcat.manifests"      value="${tomcat.output}/manifests"/>
   <property name="tomcat.release"        value="${tomcat.output}/release"/>
+  <property name="tomcat.src.jars"       value="${tomcat.output}/src-jars"/>
   <property name="test.classes"          value="${tomcat.output}/testclasses"/>
 
   <!-- Servlet 3.0 spec requires 1.6+ -->
@@ -97,11 +99,30 @@
   <property name="jasper-el.jar" value="${tomcat.build}/lib/jasper-el.jar"/>
 
   <property name="tomcat-dbcp.home" 
value="${base.path}/tomcat${version.major}-deps/dbcp" />
-  <property name="jasper-jdt.home" 
value="${base.path}/tomcat${version.major}-deps/jdt" />
   <property name="tomcat-dbcp.jar" 
value="${tomcat-dbcp.home}/tomcat-dbcp.jar"/>
-  <property name="jasper-jdt.jar" value="${jasper-jdt.home}/jasper-jdt.jar"/>
 
-  <!-- Embedded JARs -->
+  <!-- Standard Source JARs -->
+  <property name="bootstrap-src.jar" 
value="${tomcat.src.jars}/bootstrap-src.jar"/>
+  <property name="tomcat-juli-src.jar" 
value="${tomcat.src.jars}/tomcat-juli-src.jar"/>
+
+  <property name="annotations-api-src.jar" 
value="${tomcat.src.jars}/annotations-api-src.jar"/>
+  <property name="servlet-api-src.jar" 
value="${tomcat.src.jars}/servlet-api-src.jar"/>
+  <property name="jsp-api-src.jar" value="${tomcat.src.jars}/jsp-api-src.jar"/>
+  <property name="el-api-src.jar" value="${tomcat.src.jars}/el-api-src.jar"/>
+  <property name="catalina-src.jar" 
value="${tomcat.src.jars}/catalina-src.jar"/>
+  <property name="catalina-tribes-src.jar" 
value="${tomcat.src.jars}/catalina-tribes-src.jar"/>
+  <property name="catalina-ha-src.jar" 
value="${tomcat.src.jars}/catalina-ha-src.jar"/>
+  <property name="catalina-ant-src.jar" 
value="${tomcat.src.jars}/catalina-ant-src.jar"/>
+  <property name="tomcat-coyote-src.jar" 
value="${tomcat.src.jars}/tomcat-coyote-src.jar"/>
+  <property name="tomcat-api-src.jar" 
value="${tomcat.src.jars}/tomcat-api-src.jar"/>
+  <property name="tomcat-util-src.jar" 
value="${tomcat.src.jars}/tomcat-util-src.jar"/>
+
+  <property name="jasper-src.jar" value="${tomcat.src.jars}/jasper-src.jar"/>
+  <property name="jasper-el-src.jar" 
value="${tomcat.src.jars}/jasper-el-src.jar"/>
+
+  <property name="tomcat-dbcp-src.jar" 
value="${tomcat-dbcp.home}/tomcat-dbcp-src.jar"/>
+
+  <!-- Embedded JARs & source JARs -->
   <property name="tomcat-embed-core.jar" 
value="${tomcat.embed}/tomcat-embed-core.jar"/>
   <property name="tomcat-embed-jasper.jar" 
value="${tomcat.embed}/tomcat-embed-jasper.jar"/>
   <property name="tomcat-embed-juli.jar" 
value="${tomcat.embed}/tomcat-embed-logging-juli.jar"/>
@@ -111,13 +132,19 @@
   <property name="tomcat-embed-juli-sources.jar" 
value="${tomcat.embed.sources}/tomcat-embed-logging-juli-src.jar"/>
   <property name="tomcat-embed-dbcp-sources.jar" 
value="${tomcat.embed.sources}/tomcat-dbcp-src.jar"/>
 
-  <!-- Extras JARs -->
+  <!-- Extras JARs & source JRAs -->
   <property name="tomcat-juli-extras.jar" 
value="${tomcat.extras}/tomcat-juli.jar"/>
   <property name="tomcat-juli-adapters.jar" 
value="${tomcat.extras}/tomcat-juli-adapters.jar"/>
   <property name="catalina-ws.jar" value="${tomcat.extras}/catalina-ws.jar"/>
   <property name="catalina-jmx-remote.jar" 
value="${tomcat.extras}/catalina-jmx-remote.jar"/>
   <property name="tomcat-embed-log4j.jar" 
value="${tomcat.embed}/tomcat-embed-logging-log4j.jar"/>
 
+  <property name="tomcat-juli-extras-src.jar" 
value="${tomcat.extras.sources}/tomcat-juli-src.jar"/>
+  <property name="tomcat-juli-adapters-src.jar" 
value="${tomcat.extras.sources}/tomcat-juli-adapters-src.jar"/>
+  <property name="catalina-ws-src.jar" 
value="${tomcat.extras.sources}/catalina-ws-src.jar"/>
+  <property name="catalina-jmx-remote-src.jar" 
value="${tomcat.extras.sources}/catalina-jmx-remote-src.jar"/>
+  <property name="tomcat-embed-log4j-src.jar" 
value="${tomcat.embed.sources}/tomcat-embed-logging-log4j-src.jar"/>
+
   <!-- Classpaths -->
   <path id="compile.classpath">
     <pathelement location="${jdt.jar}"/>
@@ -294,13 +321,6 @@
     <include name="org/apache/el/**" />
   </patternset>
 
-  <patternset id="files.jasper-jdt">
-    <include name="org/eclipse/jdt/core/compiler/**"/>
-    <include name="org/eclipse/jdt/core/JDTCompilerAdapter*"/>
-    <include name="org/eclipse/jdt/internal/antadapter/**"/>
-    <include name="org/eclipse/jdt/internal/compiler/**"/>
-  </patternset>
-
   <patternset id="files.tomcat-dbcp">
     <include name="org/apache/tomcat/dbcp/**"/>
   </patternset>
@@ -342,6 +362,15 @@
     <include name="org/apache/catalina/mbeans/JmxRemote*" />
   </patternset>
 
+  <patternset id="files.tomcat-extras-juli-adapters">
+    <include name="org/apache/juli/logging/impl/**" />
+    <exclude name="org/apache/juli/logging/impl/WeakHashtable*" />
+    <exclude name="org/apache/juli/logging/impl/LogFactoryImpl" />
+    <!-- Javadoc and i18n exclusions -->
+    <exclude name="**/package.html" />
+    <exclude name="**/LocalStrings_*" />
+  </patternset>
+
   <!-- =========================== Build targets =========================== 
-->
 
   <target name="build-prepare">
@@ -410,7 +439,8 @@
 
   </target>
 
-  <target name="build-manifests" unless="manifests.uptodate">
+  <target name="build-manifests" unless="manifests.uptodate"
+          depends="build-prepare">
     <!-- Filtering tokens for JAR manifests-->
     <filter token="source.jdk" value="${compile.source}"/>
     <filter token="target.jdk" value="${compile.target}"/>
@@ -722,7 +752,7 @@
 
     <copy file="${tomcat-dbcp.jar}" todir="${tomcat.build}/lib"
       failonerror="false"/>
-    <copy file="${jasper-jdt.jar}" todir="${tomcat.build}/lib" />
+    <copy file="${jdt.jar}" todir="${tomcat.build}/lib" />
 
   </target>
 
@@ -821,7 +851,7 @@
     <copy file="${basedir}/NOTICE" todir="${tomcat.embed}" />
     <copy file="${tomcat-dbcp.jar}" todir="${tomcat.embed}"
       failonerror="false"/>
-    <copy file="${jasper-jdt.jar}" todir="${tomcat.embed}" />
+    <copy file="${jdt.jar}" todir="${tomcat.embed}" />
 
     <jarIt jarfile="${tomcat-embed-core.jar}"
            filesDir="${tomcat.classes}"
@@ -843,11 +873,11 @@
 
     <mkdir dir="${tomcat.embed.sources}" />
 
-    <!--No sources for jasper-jdt-->
-
     <jarIt jarfile="${tomcat-embed-core-sources.jar}"
            filesDir="java"
-           filesId="files.tomcat-embed-core"/>
+           filesId="files.tomcat-embed-core"
+           notice="${tomcat.manifests}/tomcat-embed-core.jar.notice"
+           license="${tomcat.manifests}/tomcat-embed-core.jar.license"/>
     <jarIt jarfile="${tomcat-embed-jasper-sources.jar}"
            filesDir="java"
            filesId="files.tomcat-embed-jasper"/>
@@ -855,8 +885,16 @@
            filesDir="java"
            filesId="files.tomcat-juli"/>
 
+    <copy file="${tomcat-dbcp-src.jar}" todir="${tomcat.embed.sources}" />
+
+    <!--No sources for ${jdt.jar} -->
+
   </target>
 
+  <target name="embed-release"
+             description="Creates the experimental embedded release"
+             depends="embed,embed-sources,embed-extras" />
+
   <target name="test-compile" depends="compile,download-test-compile" >
     <mkdir dir="${test.classes}"/>
     <!-- Compile -->
@@ -896,7 +934,9 @@
 
   <target name="extras-prepare" >
     <mkdir dir="${tomcat.extras}"/>
+    <mkdir dir="${tomcat.extras.sources}"/>
     <mkdir dir="${tomcat.embed}"/>
+    <mkdir dir="${tomcat.embed.sources}"/>
     <mkdir dir="${tomcat.extras}/webservices"/>
   </target>
 
@@ -972,12 +1012,29 @@
       <param name="file" value="${tomcat-juli-extras.jar}" />
     </antcall>
 
-    <jar jarfile="${tomcat-juli-adapters.jar}"
-      manifest="${tomcat.manifests}/default.manifest" >
-      <fileset 
dir="${tomcat.extras}/logging/commons-logging-${commons-logging-version}-src/target/classes">
-        <include name="org/apache/juli/logging/impl/**.class" />
-        <exclude name="org/apache/juli/logging/impl/WeakHashtable*.class" />
-        <exclude name="org/apache/juli/logging/impl/LogFactoryImpl.class" />
+    <jarIt jarfile="${tomcat-juli-adapters.jar}"
+      
filesDir="${tomcat.extras}/logging/commons-logging-${commons-logging-version}-src/target/classes"
+      filesId="files.tomcat-extras-juli-adapters" />
+    <antcall target="md5sum">
+      <param name="file" value="${tomcat-juli-adapters.jar}" />
+    </antcall>
+       
+    <!-- Source JARs -->
+    <jar jarfile="${tomcat-juli-extras-src.jar}"
+         manifest="${tomcat.manifests}/default.manifest" >
+      <fileset 
dir="${tomcat.extras}/logging/commons-logging-${commons-logging-version}-src/src/java">
+        <include name="org/apache/juli/logging/*.java" />
+        <include name="org/apache/juli/logging/impl/LogFactoryImpl*.java" />
+        <include name="org/apache/juli/logging/impl/WeakHashtable*.java" />
+        <include name="org/apache/juli/logging/impl/SimpleLog*.java" />
+        <include name="org/apache/juli/logging/impl/NoOpLog*.java" />
+        <include name="org/apache/juli/logging/impl/Jdk14Logger.java" />
+        <!-- Javadoc and i18n exclusions -->
+        <exclude name="**/package.html" />
+        <exclude name="**/LocalStrings_*" />
+      </fileset>
+      <fileset dir="java">
+        <include name="org/apache/juli/*" />
         <!-- Javadoc and i18n exclusions -->
         <exclude name="**/package.html" />
         <exclude name="**/LocalStrings_*" />
@@ -987,9 +1044,10 @@
       <zipfileset file="${tomcat.manifests}/default.license"
         fullpath="META-INF/LICENSE" />
     </jar>
-    <antcall target="md5sum">
-      <param name="file" value="${tomcat-juli-adapters.jar}" />
-    </antcall>
+    <jarIt jarfile="${tomcat-juli-adapters-src.jar}"
+      
filesDir="${tomcat.extras}/logging/commons-logging-${commons-logging-version}-src/src/java"
+      filesId="files.tomcat-extras-juli-adapters" />
+
   </target>
 
   <target name="extras-webservices"
@@ -1031,6 +1089,11 @@
     <antcall target="md5sum">
       <param name="file" value="${catalina-ws.jar}" />
     </antcall>
+       
+    <jarIt jarfile="${catalina-ws-src.jar}"
+      filesDir="java"
+      filesId="files.tomcat-extras-ws" />
+
   </target>
 
   <target name="extras-jmx-remote"
@@ -1044,6 +1107,11 @@
     <antcall target="md5sum">
       <param name="file" value="${catalina-jmx-remote.jar}" />
     </antcall>
+
+    <jarIt jarfile="${catalina-jmx-remote-src.jar}"
+      filesDir="java"
+      filesId="files.tomcat-extras-jmxremote" />
+
   </target>
 
   <target name="extras"
@@ -1051,7 +1119,7 @@
           description="Build all extras packages">
   </target>
 
-  <target name="extras-embed" depends="extras"
+  <target name="embed-extras" depends="extras"
           description="Embedded packaging for those extras that can use it">
 
     <jar jarfile="${tomcat-embed-log4j.jar}"
@@ -1074,9 +1142,28 @@
       <zipfileset file="${tomcat.manifests}/default.license"
         fullpath="META-INF/LICENSE" />
     </jar>
-    <antcall target="md5sum">
-      <param name="file" value="${tomcat-embed-log4j.jar}" />
-    </antcall>
+       
+    <jar jarfile="${tomcat-embed-log4j-src.jar}"
+         manifest="${tomcat.manifests}/default.manifest" >
+      <fileset 
dir="${tomcat.extras}/logging/commons-logging-${commons-logging-version}-src/src/java">
+        <include name="org/apache/juli/logging/*.java" />
+        <include name="org/apache/juli/logging/impl/*.java" />
+        <!-- Javadoc and i18n exclusions -->
+        <exclude name="**/package.html" />
+        <exclude name="**/LocalStrings_*" />
+      </fileset>
+      <fileset dir="java">
+        <include name="org/apache/juli/*" />
+        <!-- Javadoc and i18n exclusions -->
+        <exclude name="**/package.html" />
+        <exclude name="**/LocalStrings_*" />
+      </fileset>
+      <zipfileset file="${tomcat.manifests}/default.notice"
+        fullpath="META-INF/NOTICE" />
+      <zipfileset file="${tomcat.manifests}/default.license"
+        fullpath="META-INF/LICENSE" />
+    </jar>
+
   </target>
 
   <target name="dist-prepare" depends="download-dist">
@@ -1297,7 +1384,7 @@ Apache Tomcat ${version} native binaries
   </target>
 
   <target name="release"
-       
depends="clean,dist-deployer,installer,package-zip,package-winzip,package-tgz,package-deployer-zip,package-deployer-tgz,javadoc,package-docs-tgz,package-src-zip,package-src-tgz"
+       
depends="clean,dist-deployer,installer,package-zip,package-winzip,package-tgz,package-deployer-zip,package-deployer-tgz,javadoc,package-docs-tgz,package-src-zip,package-src-tgz,package-src-jar"
     description="Create a Tomcat 7 packaged distribution">
 
     <copy file="KEYS"
@@ -1637,13 +1724,107 @@ Apache Tomcat ${version} native binaries
     </antcall>
   </target>
 
+  <!-- Packages the source code in JARs to match the binary JARs -->
+  <target name="package-src-jar" depends="build-manifests">
+
+    <mkdir dir="${tomcat.src.jars}" />
+
+    <!-- Common Annotations 1.0 JAR File -->
+    <jarIt jarfile="${annotations-api-src.jar}"
+      filesDir="java"
+      filesId="files.annotations-api"
+      manifest="${tomcat.manifests}/annotations-api.jar.manifest" />
+
+    <!-- Servlet 3.0 Implementation JAR File -->
+    <jarIt jarfile="${servlet-api-src.jar}"
+      filesDir="java"
+      filesId="files.servlet-api"
+      manifest="${tomcat.manifests}/servlet-api.jar.manifest"
+      notice="${tomcat.manifests}/servlet-api.jar.notice"
+      license="${tomcat.manifests}/servlet-api.jar.license" />
+
+    <!-- JSP 2.1 Implementation JAR File -->
+    <jarIt jarfile="${jsp-api-src.jar}"
+      filesDir="java"
+      filesId="files.jsp-api"
+      manifest="${tomcat.manifests}/jsp-api.jar.manifest"
+      notice="${tomcat.manifests}/jsp-api.jar.notice"
+      license="${tomcat.manifests}/jsp-api.jar.license" />
+
+    <!-- JSP 2.1 EL Implementation JAR File -->
+    <jarIt jarfile="${el-api-src.jar}"
+      filesDir="java"
+      filesId="files.el-api"
+      manifest="${tomcat.manifests}/el-api.jar.manifest" />
+
+    <!-- Bootstrap JAR File -->
+    <jarIt jarfile="${bootstrap-src.jar}"
+      filesDir="java"
+      filesId="files.bootstrap"
+      manifest="${tomcat.manifests}/bootstrap.jar.manifest" />
+
+    <!-- Tomcat-juli JAR File -->
+    <jarIt jarfile="${tomcat-juli-src.jar}"
+      filesDir="java"
+      filesId="files.tomcat-juli" />
+
+    <!-- Catalina Main JAR File -->
+    <jarIt jarfile="${catalina-src.jar}"
+      filesDir="java"
+      filesId="files.catalina" />
+
+    <!-- Catalina GroupCom/Tribes JAR File -->
+    <jarIt jarfile="${catalina-tribes-src.jar}"
+      filesDir="java"
+      filesId="files.catalina-tribes" />
+
+    <!-- Catalina Cluster/HA JAR File -->
+    <jarIt jarfile="${catalina-ha-src.jar}"
+      filesDir="java"
+      filesId="files.catalina-ha" />
+
+    <!-- Catalina Ant Tasks JAR File -->
+    <jarIt jarfile="${catalina-ant-src.jar}"
+      filesDir="java"
+      filesId="files.catalina-ant" />
+
+    <!-- Tomcat API JAR File -->
+    <jarIt jarfile="${tomcat-api-src.jar}"
+      filesDir="java"
+      filesId="files.tomcat-api" />
+
+    <!-- Tomcat Util JAR File -->
+    <jarIt jarfile="${tomcat-util-src.jar}"
+      filesDir="java"
+      filesId="files.tomcat-util" />
+
+    <!-- Protocol handlers - Coyote -->
+    <jarIt jarfile="${tomcat-coyote-src.jar}"
+      filesDir="java"
+      filesId="files.tomcat-coyote"
+      notice="${tomcat.manifests}/tomcat-coyote.jar.notice"
+      license="${tomcat.manifests}/tomcat-coyote.license" />
+
+    <!-- Jasper Implementation JAR File -->
+    <jarIt jarfile="${jasper-src.jar}"
+      filesDir="java"
+      filesId="files.jasper" />
+
+    <!-- Jasper EL Implementation JAR File -->
+    <jarIt jarfile="${jasper-el-src.jar}"
+      filesDir="java"
+      filesId="files.jasper-el" />
+
+    <!-- Repackaged DBCP -->
+       <copy file="${tomcat-dbcp-src.jar}" todir="${tomcat.src.jars}" />
+
+  </target>
 
   <!-- ========================= Cleaning Targets ========================== 
-->
 
   <target name="clean-depend"
           description="Deletes the dependencies that are built from source">
      <delete dir="${tomcat-dbcp.home}"/>
-     <delete dir="${jasper-jdt.home}"/>
   </target>
 
   <target name="clean"
@@ -1690,22 +1871,13 @@ Apache Tomcat ${version} native binaries
     </condition>
     <antcall target="build-tomcat-dbcp" />
 
-    <!-- Download src and build Jasper JDT bundle -->
+    <!-- Download JDT (Eclipse compiler) -->
     <antcall target="downloadfile-2">
       <param name="sourcefile.1" value="${jdt.loc.1}"/>
       <param name="sourcefile.2" value="${jdt.loc.2}"/>
       <param name="destfile" value="${jdt.jar}"/>
       <param name="destdir" value="${jdt.home}"/>
     </antcall>
-    <condition property="no.build.jasper-jdt">
-      <and>
-        <available file="${jasper-jdt.jar}"/>
-        <uptodate targetfile="${jasper-jdt.jar}" srcfile="${jdt.jar}"/>
-        <uptodate targetfile="${jasper-jdt.jar}" 
srcfile="${basedir}/build.xml"/>
-      </and>
-    </condition>
-    <antcall target="build-jasper-jdt" />
-
   </target>
 
   <target name="download-test-compile"
@@ -1800,28 +1972,11 @@ Apache Tomcat ${version} native binaries
        <jarIt jarfile="${tomcat-dbcp.jar}"
          filesDir="${tomcat-dbcp.home}/classes"
          filesId="files.tomcat-dbcp" />
+    <jarIt jarfile="${tomcat-dbcp-src.jar}"
+      filesDir="${tomcat-dbcp.home}/src/java"
+      filesId="files.tomcat-dbcp" />
   </target>
 
-  <target name="build-jasper-jdt" depends="build-manifests"
-             unless="no.build.jasper-jdt">
-    <delete dir="${jasper-jdt.home}"/>
-    <mkdir dir="${jasper-jdt.home}"/>
-    <unjar src="${jdt.jar}" dest="${jasper-jdt.home}" />
-       <jarIt jarfile="${jasper-jdt.jar}"
-         filesDir="${jasper-jdt.home}"
-         filesId="files.jasper-jdt"
-         manifest="${tomcat.manifests}/default.manifest"
-         notice="${tomcat.manifests}/jasper-jdt.jar.notice"
-         license="${tomcat.manifests}/jasper-jdt.jar.license"/>
-    <delete includeEmptyDirs="true">
-      <fileset dir="${jasper-jdt.home}">
-        <include name="**/*"/>
-        <exclude name="jasper-jdt.jar"/>
-      </fileset>
-    </delete>
-  </target>
-
-
   <!-- =============== Utility Targets to support downloads ================ 
-->
 
   <target name="proxyflags">



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to