You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@labs.apache.org by th...@apache.org on 2008/09/28 02:26:40 UTC
svn commit: r699760 - in /labs/droids/branch/LABS-144: build.xml
default.properties
Author: thorsten
Date: Sat Sep 27 17:26:40 2008
New Revision: 699760
URL: http://svn.apache.org/viewvc?rev=699760&view=rev
Log:
LABS-144 Preparing the split for the build files
Modified:
labs/droids/branch/LABS-144/build.xml
labs/droids/branch/LABS-144/default.properties
Modified: labs/droids/branch/LABS-144/build.xml
URL: http://svn.apache.org/viewvc/labs/droids/branch/LABS-144/build.xml?rev=699760&r1=699759&r2=699760&view=diff
==============================================================================
--- labs/droids/branch/LABS-144/build.xml (original)
+++ labs/droids/branch/LABS-144/build.xml Sat Sep 27 17:26:40 2008
@@ -60,26 +60,56 @@
<!-- will generate the properties file which we need to substitute all of our
variables (@var@) -->
<target name="droids.properties">
+ <!-- If possible, include the svnversion -->
+ <exec dir="." executable="${svnversion.exe}" outputproperty="build.current.revision"
+ failifexecutionfails="false">
+ <arg line="${basedir}"/>
+ <redirector>
+ <outputfilterchain>
+ <tokenfilter>
+ <replaceregex pattern="^([0-9]*):.*" replace="\1" flags="g"/>
+ </tokenfilter>
+ </outputfilterchain>
+ </redirector>
+ </exec>
<echoproperties destfile="${build.dir}/droids.properties"/>
</target>
<!-- ====================================================== -->
<!-- Compile the Java files -->
<!-- ====================================================== -->
- <target name="droids.compile" depends="droids.compile-core" description="--> Will compile/deploy the droids core"/>
-<!-- ,ivy.resolve -->
- <target name="droids.compile-core" depends="droids.init,droids.properties" description="--> Will compile the droids core" >
- <javac
+
+ <!-- Macro for compilation -->
+ <macrodef name="droids-javac">
+ <attribute name="srcdir" />
+ <attribute name="destdir" />
+ <attribute name="classpathref" />
+ <element name="nested" optional="true" implicit="true" />
+ <sequential>
+ <mkdir dir="@{destdir}" />
+ <javac
encoding="${build.encoding}"
- srcdir="${src.dir.core}"
- includes="org/apache/droids/**/*.java"
- destdir="${build.classes}"
+ srcdir="@{srcdir}"
+ includes="org/apache/**/*.java"
+ destdir="@{destdir}"
debug="${javac.debug}"
optimize="${javac.optimize}"
target="${javac.version}"
source="${javac.version}"
deprecation="${javac.deprecation}">
- <classpath refid="droids.classpath"/>
+ <classpath refid="@{classpathref}"/>
</javac>
+ </sequential>
+ </macrodef>
+
+
+ <!-- <target name="droids.compile"
+ depends="droids.compile-core,droids.compile-dynamics,droids.compile-plugins,droids.compile-robots,droids.compile-example"
+ description="-> Will compile/deploy the droids core"/>-->
+ <target name="droids.compile"
+ depends="droids.compile-core,droids.compile-example"
+ description="-> Will compile/deploy the droids core"/>
+ <target name="droids.compile-core" depends="droids.init,droids.properties" description="-> Will compile the droids core" >
+ <droids-javac destdir="${build.classes}" srcdir="${src.dir.core}" classpathref="droids.classpath" />
<filter filtersfile="${build.dir}/droids.properties"/>
<copy todir="${build.classes}" preservelastmodified="true" filtering="true">
<fileset dir="${src.dir.core}" includes="**/*.properties,**/*.xml,**/*.txt"/>
@@ -87,52 +117,121 @@
</target>
<!-- Examples -->
<target name="droids.compile-example" depends="droids.compile-core" description="-> Will compile the droids examples" >
- <javac
- encoding="${build.encoding}"
- srcdir="${src.dir.example}"
- includes="org/apache/droids/**/*.java"
- destdir="${build.classesExample}"
- debug="${javac.debug}"
- optimize="${javac.optimize}"
- target="${javac.version}"
- source="${javac.version}"
- deprecation="${javac.deprecation}">
- <classpath refid="droids.classpath"/>
- </javac>
+ <droids-javac destdir="${build.classesExample}" srcdir="${src.dir.example}" classpathref="droids.classpath" />
<filter filtersfile="${build.dir}/droids.properties"/>
<copy todir="${build.classesExample}" preservelastmodified="true" filtering="true">
<fileset dir="${src.dir.example}" includes="**/*.properties,**/*.xml,**/*.txt"/>
</copy>
</target>
- <target name="droids.crawl" description="-> Will invoke the crawling.">
- <java classname="org.apache.droids.Cli" fork="true" dir="${build.dir}"
- maxmemory="${droids.maxmemory}" failonerror="true"
- resultproperty="buildResult">
- <arg value="${droids.name}"/>
- <arg value="${droids.spring.context}"/>
- <classpath>
- <path refid="droids.classpath"/>
- </classpath>
- </java>
- </target>
+ <!--<!-#- dynamics -#->
+ <target name="droids.compile-dynamics" depends="droids.compile-core" description="-> Will compile the droids core" >
+ <droids-javac destdir="${build.classes.dynamics}" srcdir="${src.dir.dynamics}" classpathref="droids.classpath" />
+ <filter filtersfile="${build.dir}/droids.properties"/>
+ <copy todir="${build.classes.dynamics}" preservelastmodified="true" filtering="true">
+ <fileset dir="${src.dir.dynamics}" includes="**/*.properties,**/*.xml,**/*.txt"/>
+ </copy>
+ </target>
+ <!-#- plugins -#->
+ <target name="droids.compile-plugins" depends="droids.compile-core" description="-> Will compile the droids core" >
+ <droids-javac destdir="${build.classes.plugins}" srcdir="${src.dir.plugins}" classpathref="droids.classpath" />
+ <filter filtersfile="${build.dir}/droids.properties"/>
+ <copy todir="${build.classes.plugins}" preservelastmodified="true" filtering="true">
+ <fileset dir="${src.dir.plugins}" includes="**/*.properties,**/*.xml,**/*.txt"/>
+ </copy>
+ </target>
+ <!-#- robots -#->
+ <target name="droids.compile-robots" depends="droids.compile-core" description="-> Will compile the droids core" >
+ <droids-javac destdir="${build.classes.robots}" srcdir="${src.dir.robots}" classpathref="droids.classpath" />
+ <filter filtersfile="${build.dir}/droids.properties"/>
+ <copy todir="${build.classes.robots}" preservelastmodified="true" filtering="true">
+ <fileset dir="${src.dir.robots}" includes="**/*.properties,**/*.xml,**/*.txt"/>
+ </copy>
+ </target>-->
- <target name="droids.jar" depends="droids.compile-core,droids.compile-example" description="-> Make droids.jar">
- <jar jarfile="${build.dir}/${final.name}.jar"
- basedir="${build.classes}">
- <manifest>
- <attribute name="Main-Class" value="org.apache.droids.Cli"/>
- <section name="org/apache/droids/">
- <attribute name="Comment" value="Support classes for Apache Droids"/>
- <attribute name="Implementation-Title" value="org.apache.droids"/>
- <attribute name="Implementation-Version" value="${final.name} "/>
- <attribute name="Implementation-Vendor" value="The Apache Software Foundation"/>
- <attribute name="Implementation-URL" value="http://labs.apache.org/droids/"/>
- </section>
- </manifest>
- </jar>
+ <!-- ====================================================== -->
+ <!-- Jar the Java files -->
+ <!-- ====================================================== -->
+ <!-- Creates a Manifest file for Jars -->
+ <macrodef name="make-manifest">
+ <attribute name="class-dir" default="${build.classes}" />
+ <element name="nested" optional="true" implicit="true" />
+ <sequential>
+ <mkdir dir="@{class-dir}/META-INF/" />
+ <manifest mode="replace" file="@{class-dir}/META-INF/MANIFEST.MF">
+ <!--
+ http://java.sun.com/j2se/1.5.0/docs/guide/jar/jar.html#JAR%20Manifest
+ http://java.sun.com/j2se/1.5.0/docs/guide/versioning/spec/versioning2.html
+ http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Package.html
+ http://java.sun.com/j2se/1.5.0/docs/api/java/util/jar/package-summary.html
+ http://java.sun.com/developer/Books/javaprogramming/JAR/basics/manifest.html
+ -->
+ <!-- Don't set 'Manifest-Version' it identifies the version of the
+ manifest file format, and should always be 1.0 (the default)
+
+ Don't set 'Created-by' attribute, its purpose is
+ to identify the version of java used to build the jar,
+ which ant will do by default.
+
+ Ant will happily override these with bogus strings if you
+ tell it to, so don't.
+
+ NOTE: we don't use section info because all of our manifest data
+ applies to the entire jar/war ... no package specific info.
+ -->
+ <attribute name="Comment"
+ value="Support classes for Apache Droids"/>
+ <attribute name="Extension-Name"
+ value="org.apache.droids"/>
+ <attribute name="Specification-Title"
+ value="Apache Droids Robot Framework"/>
+ <!-- spec version must match "digit+{.digit+}*" -->
+ <attribute name="Specification-Version"
+ value="${specversion}"/>
+ <attribute name="Specification-Vendor"
+ value="The Apache Software Foundation"/>
+ <attribute name="Implementation-Title"
+ value="org.apache.droids"/>
+ <!-- impl version can be any string -->
+ <attribute name="Implementation-Version"
+ value="${final.name} ${svnversion} - ${user.name} "/>
+ <attribute name="Implementation-Vendor"
+ value="The Apache Software Foundation"/>
+
+ <attribute name="X-Compile-Source-JDK"
+ value="${java.compat.version}"/>
+ <attribute name="X-Compile-Target-JDK"
+ value="${java.compat.version}"/>
+ </manifest>
+ </sequential>
+ </macrodef>
+ <!-- Macro for building Jars -->
+ <macrodef name="droids-jar">
+ <attribute name="destfile" />
+ <attribute name="srcdir" default="${build.classes}" />
+ <attribute name="includes" default="org/apache/**" />
+ <attribute name="excludes" default="" />
+ <attribute name="manifest" default="@{srcdir}/META-INF/MANIFEST.MF" />
+ <element name="nested" optional="true" implicit="true" />
+ <sequential>
+ <make-manifest class-dir="@{srcdir}"/>
+ <jar destfile="@{destfile}"
+ basedir="@{srcdir}"
+ includes="@{includes}"
+ excludes="@{excludes}"
+ filesetmanifest="skip"
+ manifest="@{manifest}">
+ <metainf dir="${basedir}" includes="LICENSE.txt"/>
+ <nested />
+ </jar>
+ </sequential>
+ </macrodef>
+ <!-- Creates the droids jars. -->
+ <target name="droids.jar" depends="droids.compile-core" description="-> Make droids.jar">
+ <droids-jar destfile="${build.dir}/${final.name}.jar"/>
</target>
<target name="droids.example.jar" depends="droids.compile-example" description="-> Make droids-example.jar">
- <jar jarfile="${build.dir}/${final.name}-example.jar"
+ <droids-jar destfile="${build.dir}/${final.name}-example.jar" srcdir="${build.classesExample}" />
+ <!--<jar jarfile="${build.dir}/${final.name}-example.jar"
basedir="${build.classesExample}">
<manifest>
<section name="org/apache/droids/">
@@ -143,7 +242,7 @@
<attribute name="Implementation-URL" value="http://labs.apache.org/droids/"/>
</section>
</manifest>
- </jar>
+ </jar>-->
<copy todir="${lib.dir}">
<fileset dir="${build.dir}" includes="${final.name}-example.jar"/>
</copy>
@@ -203,5 +302,17 @@
<target name="droids.clean" description="-> Delete the build files, and their directories">
<delete dir="${build.dir}"/>
</target>
+
+ <target name="droids.crawl" description="-> Will invoke the crawling.">
+ <java classname="org.apache.droids.Cli" fork="true" dir="${build.dir}"
+ maxmemory="${droids.maxmemory}" failonerror="true"
+ resultproperty="buildResult">
+ <arg value="${droids.name}"/>
+ <arg value="${droids.spring.context}"/>
+ <classpath>
+ <path refid="droids.classpath"/>
+ </classpath>
+ </java>
+ </target>
</project>
Modified: labs/droids/branch/LABS-144/default.properties
URL: http://svn.apache.org/viewvc/labs/droids/branch/LABS-144/default.properties?rev=699760&r1=699759&r2=699760&view=diff
==============================================================================
--- labs/droids/branch/LABS-144/default.properties (original)
+++ labs/droids/branch/LABS-144/default.properties Sat Sep 27 17:26:40 2008
@@ -55,12 +55,17 @@
Name=Droids
name=droids
version=initial
-final.name=${name}-${version}
+final.name=${name}-${version}-r${build.current.revision}
year=2008
+svnversion.exe=svnversion
+
basedir = ./
src.dir.core = ${basedir}/src/core/java
src.dir.example = ${basedir}/src/examples/java
+src.dir.dynamics = ${basedir}/src/dynamics/java
+src.dir.plugins = ${basedir}/src/plugins/java
+src.dir.robots = ${basedir}/src/robots/java
lib.dir = ${basedir}/lib
conf.dir = ${basedir}/conf
docs.dir = ${basedir}/docs
@@ -68,8 +73,12 @@
xmlcatalog.dir = ${basedir}/src/xmlcatalog
build.dir = ${basedir}/build
-build.classes = ${build.dir}/classes
-build.classesExample = ${build.dir}/classesExample
+build.classes = ${build.dir}/classes/core
+build.classesExample = ${build.dir}/classes/example
+build.classes.dynamics = ${build.dir}/classes/dynamics
+build.classes.plugins = ${build.dir}/classes/plugins
+build.classes.robots = ${build.dir}/classes/robots
+
build.webapps = ${build.dir}/webapps
build.plugins = ${build.dir}/plugins
build.docs = ${build.dir}/docs
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org