Author: costin
Date: Thu Nov 26 06:52:28 2009
New Revision: 884420

URL: http://svn.apache.org/viewvc?rev=884420&view=rev
Log:
For downloading deps - used Ant Ivy. The actual deps are declared in a maven 
pom.xml ( Ivy is supporting it just fine ).

The maven file can be used to compile and test tomcat-lite in servlet-2.5 mode 
- I wouldn't recomend to anyone to 
use it, but if you have to and can't use build.xml - it does the basic thing.


Added:
    tomcat/trunk/modules/tomcat-lite/ivy.xml   (with props)
    tomcat/trunk/modules/tomcat-lite/pom.xml   (with props)
Modified:
    tomcat/trunk/modules/tomcat-lite/build.xml

Modified: tomcat/trunk/modules/tomcat-lite/build.xml
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/modules/tomcat-lite/build.xml?rev=884420&r1=884419&r2=884420&view=diff
==============================================================================
--- tomcat/trunk/modules/tomcat-lite/build.xml (original)
+++ tomcat/trunk/modules/tomcat-lite/build.xml Thu Nov 26 06:52:28 2009
@@ -1,60 +1,161 @@
 <?xml version="1.0"?>
-<project name="Tomcat Lite" default="tomcat-lite.jar" basedir="../..">
+<project name="Tomcat Lite" default="tomcat-lite.jar" 
+         xmlns:ivy="antlib:org.apache.ivy.ant"
+         basedir=".">
 
     <property file="${user.home}/build.properties" />
     <property file="${basedir}/build.properties" />
     <property file="${basedir}/build.properties.default" />
 
-    <property name="tomcat.build" value="${basedir}/output/build" />
-    <property name="tomcat.src" value="${basedir}/java" />
-    <property name="tomcat.lite.src" value="${basedir}/modules/tomcat-lite" />
-    
-    <property name="classes" value="${basedir}/output/tomcat-lite/classes" />
-    <property name="jar.dir" value="${basedir}/output/tomcat-lite/" />
+    <property name="tomcat.base" value="${basedir}/../.." />
+    <property name="tomcat.src" value="${tomcat.base}/java" />
+    <property name="tomcat.build" value="${tomcat.base}/output/build" />
+
+    <property name="tomcat.lite.src" value="${basedir}/" />
+    <property name="classes" value="${basedir}/target/tomcat-lite/classes" />
+    <property name="test-classes" 
value="${basedir}/target/tomcat-lite/test-classes" />
+    <property name="jar.dir" value="${basedir}/target/tomcat-lite/" />
     <property name="MAIN" value="org.apache.tomcat.integration.simple.Main"/>
-
-    <target name="compile">
+    <property name="compile.source" value="1.6"/>
+ 
+    <!-- All Ivy downloads -->
+    <path id='lite-classpath'>
+        <fileset dir='target/lib' includes="*.jar" />
+    </path>
+
+    <path id='head-classpath'>
+        <pathelement location="${tomcat.build}/../classes" />
+        <pathelement location="target/lib/asm.jar" />
+        <pathelement location="target/lib/asm-tree.jar" />                
+        <pathelement location="target/lib/junit.jar"/>
+        <pathelement location="target/lib/commons-codec.jar"/>
+    </path>
+
+     
+    <target name="compile" 
+           description="Build against tomcat head">
+        <javac destdir="${classes}"
+               debug="${compile.debug}"
+               deprecation="${compile.deprecation}"
+               source="${compile.source}"
+               optimize="${compile.optimize}"
+               encoding="ISO-8859-1">
+            <src path="${tomcat.lite.src}/java" />
+            <classpath refid="head-classpath" />
+            <exclude name="**/ServletApi25.java"/>
+        </javac>
+        <copy todir="${classes}">
+            <fileset dir="${tomcat.lite.src}/java" 
+                includes="**/*.properties **/*.xml" />
+        </copy>
+    </target>
+    
+    <target name="compile25" 
+        description="Build against 2.5 servlet API, similar with the maven">
         <mkdir dir="${classes}" />
-       <!-- Tomcat deps first -->
         <javac destdir="${classes}"
                debug="${compile.debug}"
                deprecation="${compile.deprecation}"
                source="${compile.source}"
                optimize="${compile.optimize}"
-               srcdir="${tomcat.src}"
                encoding="ISO-8859-1"
         >
-            <include name="javax/servlet/**" />
-            <include name="javax/annotation/**" />
-            <!--include name="org/apache/coyote/**" />
-            <include name="org/apache/tomcat/util/**" /-->
-            <includesfile name="${tomcat.lite.src}/coyote-nio.files"/>
-            <include name="org/apache/jasper/**" />
+            <classpath refid="lite-classpath" />
+            <src path="${tomcat.lite.src}/java" />
+            <exclude name="**/ServletApi30.java"/>
+            <exclude name="org/apache/tomcat/coyote/servlet/*.java"/>
         </javac>
 
-        <javac destdir="${classes}"
+        <copy todir="${classes}">
+            <fileset dir="${tomcat.lite.src}/java" 
+                includes="**/*.properties **/*.xml" />
+        </copy>
+    </target>
+
+    <target name="test" depends="test30,test25"/>
+
+    <target name="test30" depends="compile">
+        <mkdir dir="${test-classes}"/>
+        <javac destdir="${test-classes}"
                debug="${compile.debug}"
                deprecation="${compile.deprecation}"
                source="${compile.source}"
                optimize="${compile.optimize}"
                encoding="ISO-8859-1"
         >
-            <src path="${tomcat.lite.src}/java" />
+            <classpath refid="head-classpath" />
+            <classpath path="${classes}" />
+            <src path="${tomcat.lite.src}/test" />
         </javac>
+        <copy todir="${test-classes}">
+            <fileset dir="${tomcat.lite.src}/test" 
+                includes="**/*.properties **/*.xml  **/*.keystore" />
+        </copy>
 
-        <copy todir="${classes}">
-            <fileset dir="${tomcat.lite.src}/java" includes="**/*.properties 
**/*.xml" />
-            <fileset dir="${tomcat.src}"
-                     includes="org/apache/tomcat/util/**/*.properties 
org/apache/tomcat/util/**/*.xml"
-            />
-            <fileset dir="${tomcat.src}"
-                     includes="javax/servlet/**/*.properties"
-            />
-            <fileset dir="${tomcat.src}"
-                     includes="org/apache/coyote/**/*.properties 
org/apache/coyote/**/*.xml"
-            />
+        <!-- Need to run it in tomcat to find output/build/webapps --> 
+        <junit printsummary="yes" fork="yes" dir="${tomcat.base}"
+            >
+            <classpath refid="head-classpath" />
+            <classpath path="${test-classes}" />
+            <classpath path="${classes}" />
+
+          <formatter type="plain" usefile="false" />
+
+          <batchtest>
+            <fileset dir="test" >
+              <!-- Include all by default -->
+                <include name="**/*Test.java" />
+                <include name="**/*Tests.java" />
+              <!-- Exclude TestAll ortherwise there will be duplicated -->
+              <exclude name="**/TestAll.java" />
+              <!-- Exclude helper classes -->
+              <exclude name="**/Tester*.java" />
+            </fileset>
+           </batchtest>
+            </junit>
+    </target>
+    
+    <target name="test25" depends="compile25">
+        <mkdir dir="${test-classes}"/>
+        <javac destdir="${test-classes}"
+               debug="${compile.debug}"
+               deprecation="${compile.deprecation}"
+               source="${compile.source}"
+               optimize="${compile.optimize}"
+               encoding="ISO-8859-1"
+        >
+            <classpath refid="lite-classpath" />
+            <classpath path="${classes}" />
+            <classpath path="target/lib/junit.jar"/>
+            <classpath path="target/lib/commons-codec.jar"/>
+            <src path="${tomcat.lite.src}/test" />
+            <exclude name="org/apache/coyote/**"/>
+        </javac>
+        <copy todir="${test-classes}">
+            <fileset dir="${tomcat.lite.src}/test" 
+                includes="**/*.properties **/*.xml **/*.keystore" />
         </copy>
 
+        <junit printsummary="yes" fork="yes">
+            <classpath refid="lite-classpath" />
+            <classpath path="${test-classes}" />
+            <classpath path="${classes}" />
+
+          <formatter type="plain" usefile="false" />
+
+          <batchtest>
+            <fileset dir="test" >
+                <exclude name="org/apache/coyote/**" />
+              <!-- Include all by default -->
+              <include name="**/*Test.java" />
+              <include name="**/*Tests.java" />
+              <!-- Exclude TestAll ortherwise there will be duplicated -->
+                <exclude name="**/TestAll.java" />
+              <!-- Exclude helper classes -->
+              <exclude name="**/Tester*.java" />
+            </fileset>
+           </batchtest>
+            </junit>
     </target>
 
     <target name="clean">
@@ -66,54 +167,56 @@
     <target name="tomcat-lite.jar" depends="compile,pack_tomcat-lite.jar" />
 
     <target name="pack_tomcat-lite.jar">
-        <!-- individually packed jars for servlet support-->
         <mkdir dir="${jar.dir}/jar" />
         <jar destfile="${jar.dir}/jar/tomcat-lite.jar">
             <manifest>
-                  <attribute name="Main-Class" value="${MAIN}"/>
-              </manifest>
+                <attribute name="Main-Class" value="${MAIN}"/>
+            </manifest>
             <fileset dir="${classes}">
                 <include name ="org/apache/tomcat/lite/**" />
                 <include name ="org/apache/tomcat/servlets/**" />
             </fileset>
         </jar>
-       <copy file="${tomcat.build}/lib/annotations-api.jar" 
todir="${jar.dir}/jar"/>
-       <copy file="${tomcat.build}/lib/servlet-api.jar" 
todir="${jar.dir}/jar"/>
-        <copy file="${tomcat.build}/lib/tomcat-coyote.jar" 
todir="${jar.dir}/jar"/>
-        
-        <!-- Jasper jars -->
-        <mkdir dir="${jar.dir}/jasper" />
-        <copy file="${tomcat.build}/lib/el-api.jar" 
todir="${jar.dir}/jasper"/> 
-        <copy file="${tomcat.build}/lib/jsp-api.jar" 
todir="${jar.dir}/jasper"/>
-        <copy file="${tomcat.build}/lib/jasper.jar" 
todir="${jar.dir}/jasper"/> 
-        <copy file="${tomcat.build}/lib/jasper-el.jar" 
todir="${jar.dir}/jasper"/>
-        
-        <!-- Bundles -->
-        <!-- All included: javax, jasper, coyote, tomcat-lite -->
-        <jar destfile="${jar.dir}/tomcat-lite-all.jar">
-            <manifest>
-                  <attribute name="Main-Class" value="${MAIN}"/>
-              </manifest>
-            <fileset dir="${classes}">
-            </fileset>
-        </jar>
-
-        <!-- Tomcat lite without jasper -->
-        <jar destfile="${jar.dir}/tomcat-lite+javax+coyote.jar">
-             <manifest>
-                 <attribute name="Main-Class" value="${MAIN}"/>
-             </manifest>
-             <fileset dir="${classes}">
-                 <exclude name ="org/apache/jasper/**" />
-                 <exclude name ="org/apache/el/**" />
-             </fileset>
-        </jar>
-        
-        
     </target>
 
     <target name="run">
-        <java jar="${jar.dir}/tomcat-lite-ALL.jar"/>
+        <java jar="${jar.dir}/tomcat-lite.jar"/>
     </target>
-    
+
+    <!-- Boilreplate for dependencies -->
+
+    <property name="ivy.install.version" value="2.1.0" />
+    <condition property="ivy.home" value="${env.IVY_HOME}">
+        <isset property="env.IVY_HOME" />
+    </condition>
+    <property name="ivy.home" value="${basedir}/target/ivy" />
+    <property name="ivy.jar.dir" value="${ivy.home}/lib" />
+    <property name="ivy.jar.file" value="${ivy.jar.dir}/ivy.jar" />
+    <available file="${ivy.jar.file}" property="ivy.exist"/>
+
+    <target name="download-ivy" unless="ivy.exist">
+        <mkdir dir="${ivy.jar.dir}"/>
+        <get 
src="http://repo2.maven.org/maven2/org/apache/ivy/ivy/${ivy.install.version}/ivy-${ivy.install.version}.jar";
 
+                 dest="${ivy.jar.file}" usetimestamp="true"/>
+    </target>
+
+    <target name="init-ivy" depends="download-ivy">
+        <!-- try to load ivy here from ivy home, in case the user has not 
already dropped
+                  it into ant's lib dir (note that the latter copy will always 
take precedence).
+                  We will not fail as long as local lib dir exists (it may be 
empty) and
+                  ivy is in at least one of ant's lib dir or the local lib 
dir. -->
+        <path id="ivy.lib.path">
+            <fileset dir="${ivy.jar.dir}" includes="*.jar"/>
+
+        </path>
+        <taskdef resource="org/apache/ivy/ant/antlib.xml"
+                     uri="antlib:org.apache.ivy.ant" 
classpathref="ivy.lib.path"/>
+    </target>
+
+    <target name="download" depends="init-ivy">
+        <mkdir dir="target/lib"/>
+        <ivy:resolve file="pom.xml" conf="compile" />
+        <ivy:retrieve pattern="target/lib/[artifact].[ext]"/>
+    </target>
+
 </project>

Added: tomcat/trunk/modules/tomcat-lite/ivy.xml
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/modules/tomcat-lite/ivy.xml?rev=884420&view=auto
==============================================================================
--- tomcat/trunk/modules/tomcat-lite/ivy.xml (added)
+++ tomcat/trunk/modules/tomcat-lite/ivy.xml Thu Nov 26 06:52:28 2009
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied.  See the License for the
+   specific language governing permissions and limitations
+   under the License.    
+-->
+<ivy-module version="2.0" 
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+       
xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd";>
+    <info
+        organisation="org.apache.tomcat.lite"
+        module="tomcat-lite"
+        status="integration">
+       </info>
+       
+       <dependencies>
+         
+       </dependencies>
+</ivy-module>

Propchange: tomcat/trunk/modules/tomcat-lite/ivy.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: tomcat/trunk/modules/tomcat-lite/pom.xml
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/modules/tomcat-lite/pom.xml?rev=884420&view=auto
==============================================================================
--- tomcat/trunk/modules/tomcat-lite/pom.xml (added)
+++ tomcat/trunk/modules/tomcat-lite/pom.xml Thu Nov 26 06:52:28 2009
@@ -0,0 +1,119 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/maven-v4_0_0.xsd";>
+  <modelVersion>4.0.0</modelVersion>
+  
+  <groupId>org.apache.tomcat.lite</groupId>
+  <artifactId>lite</artifactId>
+  
+  <version>0.0.1-SNAPSHOT</version>
+  
+  <dependencies>
+        <dependency>
+                <groupId>com.jcraft</groupId>
+                <artifactId>jzlib</artifactId>
+                <version>1.0.7</version>
+                <type>jar</type>
+                <scope>compile</scope>
+        </dependency>
+        <dependency>
+                <groupId>javax.servlet</groupId>
+                <artifactId>servlet-api</artifactId>
+                <version>2.5</version>
+        </dependency>
+        <dependency>
+                <groupId>junit</groupId>
+                <artifactId>junit</artifactId>
+                <version>3.8.2</version>
+                <type>jar</type>
+                <scope>compile</scope>
+        </dependency>
+        <dependency>
+                <groupId>commons-codec</groupId>
+                <artifactId>commons-codec</artifactId>
+                <version>1.4</version>
+                <type>jar</type>
+                <scope>compile</scope>
+        </dependency>
+        <dependency>
+                <groupId>org.apache.tomcat</groupId>
+                <artifactId>jasper</artifactId>
+                <version>6.0.20</version>
+                <type>jar</type>
+                <scope>compile</scope>
+        </dependency>
+        <dependency>
+                <groupId>org.apache.tomcat</groupId>
+                <artifactId>jasper-jdt</artifactId>
+                <version>6.0.20</version>
+                <type>jar</type>
+                <scope>compile</scope>
+        </dependency>
+        <dependency>
+                <groupId>org.apache.tomcat</groupId>
+                <artifactId>jasper-el</artifactId>
+                <version>6.0.20</version>
+                <type>jar</type>
+                <scope>compile</scope>
+        </dependency>  
+        <dependency>
+                <groupId>asm</groupId>
+                <artifactId>asm</artifactId>
+                <version>3.1</version>
+                <type>jar</type>
+                <scope>compile</scope>
+        </dependency>
+        <dependency>
+                <groupId>asm</groupId>
+                <artifactId>asm-tree</artifactId>
+                <version>3.1</version>
+                <type>jar</type>
+                <scope>compile</scope>
+        </dependency>
+        <dependency>
+               <groupId>org.apache.tomcat</groupId>
+               <artifactId>coyote</artifactId>
+               <version>6.0.20</version>
+        </dependency>
+        <dependency>
+               <groupId>org.apache.ant</groupId>
+               <artifactId>ant</artifactId>
+               <version>1.7.1</version>
+        </dependency>
+  </dependencies>
+   
+   <build>
+  
+    <sourceDirectory>java</sourceDirectory>
+    
+    <testSourceDirectory>test</testSourceDirectory>
+
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <configuration>
+          <source>1.6</source>
+          <target>1.6</target>
+          <excludes>
+            <exclude>org/apache/coyote/servlet/**</exclude>
+            <exclude>**/ServletApi30.java</exclude>
+          </excludes>
+          <testExcludes>
+            <exclude>org/apache/coyote/servlet/**</exclude>
+            <exclude>org/apache/coyote/lite/**</exclude>
+            <exclude>**/ServletApi30.java</exclude>
+          </testExcludes>
+        </configuration>
+      </plugin>
+    </plugins>
+
+    <testResources>
+      <testResource>
+        <directory>test</directory>
+        <excludes>
+          <exclude>**/*.java</exclude>
+        </excludes>
+       </testResource>
+   </testResources>
+
+  </build>
+</project>

Propchange: tomcat/trunk/modules/tomcat-lite/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native



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

Reply via email to