- Add the usual download target (including building JDT and DBCP).
authorremm <remm@13f79535-47bb-0310-9956-ffa450edef68>
Wed, 12 Apr 2006 16:01:42 +0000 (16:01 +0000)
committerremm <remm@13f79535-47bb-0310-9956-ffa450edef68>
Wed, 12 Apr 2006 16:01:42 +0000 (16:01 +0000)
git-svn-id: https://svn.apache.org/repos/asf/tomcat/tc6.0.x/trunk@393491 13f79535-47bb-0310-9956-ffa450edef68

build.properties.default
build.xml

index d66c22a..f309ab3 100644 (file)
@@ -20,6 +20,8 @@ base.path=/usr/share/java
 compile.source=1.5\r
 compile.target=1.5\r
 \r
+base-jakarta.loc=http://archive.apache.org/dist/jakarta\r
+\r
 # ----- Commons Logging, version 1.0.1 or later -----\r
 commons-logging.home=${base.path}/commons-logging-1.0.4\r
 commons-logging.lib=${commons-logging.home}\r
@@ -34,6 +36,23 @@ jdt.jar=${jdt.lib}/org.eclipse.jdt.core_3.1.2.jar
 jdt.loc=http://sunsite.informatik.rwth-aachen.de/eclipse/downloads/drops/R-3.1.2-200601181600/eclipse-JDT-3.1.2.zip\r
 \r
 # ----- Tomcat native library -----\r
-tomcat-native.home=${base.path}/tomcat-native-1.1.2\r
+tomcat-native.home=${base.path}/tomcat-native-1.1.3\r
 tomcat-native.tar.gz=${tomcat-native.home}/tomcat-native.tar.gz\r
-tomcat-native.loc=${base-tomcat.loc}/tomcat-connectors/native/tomcat-native-1.1.2.tar.gz\r
+tomcat-native.loc=${base-tomcat.loc}/tomcat-connectors/native/tomcat-native-1.1.3.tar.gz\r
+\r
+# ----- Commons DBCP, version 1.1 or later -----\r
+commons-dbcp.version=1.2.1\r
+commons-dbcp.home=${base.path}/commons-dbcp-1.2.1\r
+commons-dbcp-src.loc=${base-jakarta.loc}/commons/dbcp/source/commons-dbcp-1.2.1-src.tar.gz\r
+\r
+# ----- Commons Pool, version 1.1 or later -----\r
+commons-pool.home=${base.path}/commons-pool-1.2\r
+commons-pool-src.loc=${base-jakarta.loc}/commons/pool/source/commons-pool-1.2-src.tar.gz\r
+\r
+# ----- Commons Collections, version 2.0 or later -----\r
+commons-collections.home=${base.path}/commons-collections-3.1\r
+commons-collections.lib=${commons-collections.home}\r
+commons-collections.jar=${commons-collections.lib}/commons-collections-3.1.jar\r
+commons-collections.loc=${base-jakarta.loc}/commons/collections/binaries/commons-collections-3.1.tar.gz\r
+commons-collections-src.loc=${base-jakarta.loc}/commons/collections/source/commons-collections-3.1-src.tar.gz\r
+\r
index 8b42942..96a6ced 100644 (file)
--- a/build.xml
+++ b/build.xml
@@ -33,7 +33,7 @@
 \r
   <!-- Can't be lower - jsp uses templates -->\r
   <property name="compile.source" value="1.5"/>\r
-  \r
+\r
   <!-- JAR artifacts -->\r
   <property name="bootstrap.jar" value="${tomcat.build}/bin/bootstrap.jar"/>\r
 \r
 \r
   <property name="jasper.jar" value="${tomcat.build}/lib/jasper.jar"/>\r
   <property name="jasper-el.jar" value="${tomcat.build}/lib/jasper-el.jar"/>\r
-  \r
+\r
+  <property name="tomcat-dbcp.home" value="${base.path}/tomcat6-deps" />\r
+  <property name="jasper-jdt.home" value="${base.path}/tomcat6-deps" />\r
+  <property name="tomcat-dbcp.jar" value="${tomcat-dbcp.home}/tomcat-dbcp.jar"/>\r
+  <property name="jasper-jdt.jar" value="${jasper-jdt.home}/jasper-jdt.jar"/>\r
+\r
   <!-- Classpath -->\r
   <path id="tomcat.classpath">\r
     <pathelement location="${ant.jar}"/>\r
@@ -62,7 +67,7 @@
     <available classname="junit.framework.TestCase" property="junit.present" />\r
 \r
     <mkdir dir="${tomcat.classes}"/>\r
-    \r
+\r
     <mkdir dir="${tomcat.build}"/>\r
     <mkdir dir="${tomcat.build}/bin"/>\r
     <mkdir dir="${tomcat.build}/conf"/>\r
 \r
   <target name="build-only" depends="build-prepare,compile,package" />\r
 \r
-  <target name="package" >  \r
+  <target name="package" >\r
 \r
     <!-- Common Annotations 1.0 JAR File -->\r
     <jar  jarfile="${annotations-api.jar}">\r
         <include name="org/apache/catalina/security/SecurityClassLoad.class" />\r
         <include name="org/apache/naming/JndiPermission.class" />\r
         <include name="org/apache/tomcat/util/compat/*" />\r
-       <!-- Javadoc and i18n exclusions -->\r
+        <!-- Javadoc and i18n exclusions -->\r
         <exclude name="**/package.html" />\r
         <exclude name="**/LocalStrings_*" />\r
       </fileset>\r
     <!-- Catalina Ant Tasks JAR File -->\r
     <jar jarfile="${catalina-ant.jar}">\r
       <fileset dir="${tomcat.classes}">\r
-       <include name="org/apache/catalina/ant/*" />\r
-       <include name="org/apache/catalina/ant/jmx/*" />\r
+        <include name="org/apache/catalina/ant/*" />\r
+        <include name="org/apache/catalina/ant/jmx/*" />\r
         <include name="org/apache/catalina/util/Base64.class" />\r
-       <!-- Javadoc and i18n exclusions -->\r
+        <!-- Javadoc and i18n exclusions -->\r
         <exclude name="**/package.html" />\r
         <exclude name="**/LocalStrings_*" />\r
       </fileset>\r
       </fileset>\r
     </jar>\r
 \r
-     <!-- Jasper EL Implementation JAR File -->\r
-     <jar  jarfile="${jasper-el.jar}">\r
-       <fileset dir="${tomcat.classes}">\r
-         <include name="org/apache/el/**" />\r
-         <!-- Javadoc and i18n exclusions -->\r
-         <exclude name="**/package.html" />\r
-         <exclude name="**/LocalStrings_*" />\r
-       </fileset>\r
-     </jar>\r
+    <!-- Jasper EL Implementation JAR File -->\r
+    <jar  jarfile="${jasper-el.jar}">\r
+      <fileset dir="${tomcat.classes}">\r
+        <include name="org/apache/el/**" />\r
+        <!-- Javadoc and i18n exclusions -->\r
+        <exclude name="**/package.html" />\r
+        <exclude name="**/LocalStrings_*" />\r
+      </fileset>\r
+    </jar>\r
+\r
+    <!-- i18n JARs -->\r
+    <jar jarfile="${tomcat.build}/lib/tomcat-i18n-es.jar">\r
+      <fileset dir="${tomcat.classes}">\r
+        <include name="**/LocalStrings_es.properties" />\r
+      </fileset>\r
+    </jar>\r
+    <jar jarfile="${tomcat.build}/lib/tomcat-i18n-fr.jar">\r
+      <fileset dir="${tomcat.classes}">\r
+        <include name="**/LocalStrings_fr.properties" />\r
+      </fileset>\r
+    </jar>\r
+    <jar jarfile="${tomcat.build}/lib/tomcat-i18n-ja.jar">\r
+      <fileset dir="${tomcat.classes}">\r
+        <include name="**/LocalStrings_ja.properties" />\r
+      </fileset>\r
+    </jar>\r
 \r
   </target>\r
 \r
       </fileset>\r
     </copy>\r
 \r
-    <!-- Temp: Copy webapps -->\r
+    <!-- FIXME: Copy webapps -->\r
     <copy todir="${tomcat.build}/webapps">\r
       <fileset dir="webapps">\r
         <include name="ROOT/**"/>\r
       </fileset>\r
     </copy>\r
 \r
+    <copy file="${tomcat-dbcp.jar}" todir="${tomcat.build}/lib" />\r
+    <copy file="${jasper-jdt.jar}" todir="${tomcat.build}/lib" />\r
+\r
   </target>\r
 \r
   <target name="clean">\r
     <delete dir="${tomcat.classes}" />\r
     <delete dir="${tomcat.build}" />\r
   </target>\r
-  \r
+\r
+  <!-- Download and dependency building -->\r
+  <target name="setproxy"  if="useproxy">\r
+    <taskdef name="setproxy"\r
+            classname="org.apache.tools.ant.taskdefs.optional.net.SetProxy" />\r
+    <setproxy proxyhost="${proxy.host}" proxyport="${proxy.port}"/>\r
+    <echo message="Using ${proxy.host}:${proxy.port} to download ${sourcefile}"/>\r
+  </target>\r
+\r
+  <target name="testexist">\r
+    <echo message="Testing  for ${destfile}"/>\r
+    <available file="${destfile}" property="exist"/>\r
+  </target>\r
+\r
+  <target name="downloadgz" unless="exist" depends="setproxy,testexist">\r
+    <!-- Download and extract the package -->\r
+    <get src="${sourcefile}" dest="${base.path}/file.tar.gz" />\r
+    <gunzip src="${base.path}/file.tar.gz" dest="${base.path}/file.tar"/>\r
+    <untar src="${base.path}/file.tar" dest="${base.path}"/>\r
+    <delete file="${base.path}/file.tar"/>\r
+    <delete file="${base.path}/file.tar.gz"/>\r
+  </target>\r
+\r
+  <target name="downloadzip" unless="exist" depends="setproxy,testexist">\r
+    <!-- Download and extract the package -->\r
+    <get src="${sourcefile}" dest="${base.path}/file.zip" />\r
+    <mkdir dir="${destdir}" />\r
+    <unzip src="${base.path}/file.zip" dest="${destdir}"/>\r
+    <delete file="${base.path}/file.zip"/>\r
+  </target>\r
+\r
+  <target name="download"\r
+          description="Builds and download dependent components">\r
+\r
+    <antcall target="downloadgz">\r
+      <param name="sourcefile" value="${commons-logging.loc}"/>\r
+      <param name="destfile" value="${commons-logging.jar}"/>\r
+    </antcall>\r
+\r
+    <!-- Build Tomcat DBCP bundle -->\r
+    <antcall target="downloadgz">\r
+      <param name="sourcefile" value="${commons-collections-src.loc}"/>\r
+      <param name="destfile" value="${tomcat-dbcp.jar}" />\r
+    </antcall>\r
+    <antcall target="downloadgz">\r
+      <param name="sourcefile" value="${commons-pool-src.loc}"/>\r
+      <param name="destfile" value="${tomcat-dbcp.jar}" />\r
+    </antcall>\r
+    <antcall target="downloadgz">\r
+      <param name="sourcefile" value="${commons-dbcp-src.loc}"/>\r
+      <param name="destfile" value="${tomcat-dbcp.jar}" />\r
+    </antcall>\r
+    <mkdir dir="${tomcat-dbcp.home}"/>\r
+    <antcall target="build-tomcat-dbcp">\r
+      <param name="basedir" value="${tomcat-dbcp.home}" />\r
+    </antcall>\r
+\r
+    <!-- Build Jasper JDT bundle -->\r
+    <antcall target="downloadzip">\r
+      <param name="sourcefile" value="${jdt.loc}"/>\r
+      <param name="destfile" value="${jdt.jar}"/>\r
+      <param name="destdir" value="${base.path}"/>\r
+    </antcall>\r
+    <mkdir dir="${jasper-jdt.home}"/>\r
+    <antcall target="build-jasper-jdt">\r
+      <param name="basedir" value="${jasper-jdt.home}" />\r
+    </antcall>\r
+\r
+  </target>\r
+\r
+  <target name="build-tomcat-dbcp">\r
+    <copy todir="${tomcat-dbcp.home}">\r
+      <fileset dir="${commons-collections.home}" >\r
+        <include name="**/collections/CursorableLinkedList.java" />\r
+        <include name="**/collections/KeyValue.java" />\r
+        <include name="**/collections/LRUMap.java" />\r
+        <include name="**/collections/SequencedHashMap.java" />\r
+      </fileset>\r
+      <fileset dir="${commons-pool.home}">\r
+        <include name="**/*.java" />\r
+        <exclude name="**/Stack*.java" />\r
+        <exclude name="**/SoftReferenceObjectPool.java" />\r
+        <exclude name="**/test/**" />\r
+      </fileset>\r
+      <fileset dir="${commons-dbcp.home}">\r
+        <include name="**/*.java" />\r
+        <exclude name="**/test/**" />\r
+      </fileset>\r
+    </copy>\r
+    <replace dir="${tomcat-dbcp.home}/src/java/org/apache/commons">\r
+      <replacefilter token="return UnmodifiableList.decorate(l);"\r
+            value="return l;" />\r
+      <replacefilter token="import org.apache.commons.collections.list.UnmodifiableList;"\r
+            value=" " />\r
+    </replace>\r
+    <replace dir="${tomcat-dbcp.home}/src/java/org/apache/commons" >\r
+      <replacefilter token="org.apache.commons"\r
+            value="org.apache.tomcat.dbcp" />\r
+    </replace>\r
+    <mkdir dir="${tomcat-dbcp.home}/src/java/org/apache/tomcat/dbcp" />\r
+    <move todir="${tomcat-dbcp.home}/src/java/org/apache/tomcat/dbcp">\r
+      <fileset dir="${tomcat-dbcp.home}/src/java/org/apache/commons" />\r
+    </move>\r
+    <mkdir dir="${tomcat-dbcp.home}/classes"/>\r
+    <javac destdir="classes"\r
+           optimize="off"\r
+           debug="${compile.debug}"\r
+           deprecation="${compile.deprecation}"\r
+           source="${compile.source}"\r
+           sourcepath="${tomcat-dbcp.home}/src/java"\r
+           srcdir="src/java" >\r
+      <include name="**" />\r
+    </javac>\r
+    <jar jarfile="${tomcat-dbcp.jar}"\r
+         index="true">\r
+      <fileset dir="${tomcat-dbcp.home}/classes">\r
+        <include name="**/*.class" />\r
+        <include name="**/*.properties" />\r
+      </fileset>\r
+    </jar>\r
+  </target>\r
+\r
+  <target name="build-jasper-jdt">\r
+    <unjar src="${jdt.jar}" dest="${jasper-jdt.home}" />\r
+    <jar destfile="${jasper-jdt.jar}" index="true">\r
+      <fileset dir="${jasper-jdt.home}">\r
+        <include name="org/eclipse/jdt/core/compiler/**"/>\r
+        <include name="org/eclipse/jdt/internal/compiler/**"/>\r
+        <include name="org/eclipse/jdt/internal/core/util/CommentRecorder*"/>\r
+      </fileset>\r
+    </jar>\r
+  </target>\r
+\r
 </project>\r