summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Ritchie <ritchiem@apache.org>2006-11-21 10:00:34 +0000
committerMartin Ritchie <ritchiem@apache.org>2006-11-21 10:00:34 +0000
commit0a56a30252989ed5ad33a0b82a7d81513e6436a6 (patch)
tree569a15926895e73d7df699f9d1ff5c5c0009e37e
parent4c0f09294bab717f613aadc2ba99f6ea19888ce3 (diff)
downloadqpid-python-0a56a30252989ed5ad33a0b82a7d81513e6436a6.tar.gz
Updated build system to prevent build and release artefacts being copied into any subsequent release builds.
For reference the source build should ready copying 663 files and the approximate file sizes for zips: src = 7264k client = 4410k client-broker = 5413k git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/M1@477598 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--java/build.xml229
-rw-r--r--java/common.xml30
-rw-r--r--java/module.xml12
-rw-r--r--specs/license.amqp.txt1
4 files changed, 142 insertions, 130 deletions
diff --git a/java/build.xml b/java/build.xml
index 8aa4fda67f..5c8ef33e36 100644
--- a/java/build.xml
+++ b/java/build.xml
@@ -20,93 +20,93 @@
-->
<project name="AMQ Java" default="build">
- <import file="common.xml"/>
-
- <property file="build.properties"/>
- <property name="modules.extra" value=""/>
- <property name="modules.client" value="common,client"/>
- <property name="modules"
- value="${modules.client},broker,broker/test,client/test,cluster,systests,${modules.extra}"/>
-
- <property name="release.fullversion" value="${build.release.version}-${build.release.name}-${build.release.tag}"/>
-
- <macrodef name="iterate">
- <attribute name="target"/>
- <attribute name="modules" default="${modules}"/>
- <element name="elements" implicit="true" optional="true"/>
- <sequential>
- <subant target="@{target}" antfile="build-module.xml">
- <filelist dir="." files="@{modules}"/>
- <elements/>
- </subant>
- </sequential>
- </macrodef>
-
- <target name="build" description="compile java source code for each module">
- <iterate target="build"/>
- </target>
-
- <target name="test" description="execute unit tests">
- <iterate target="test"/>
- </target>
-
- <target name="testreport" description="execute unit tests and produce reports">
- <iterate target="testreport"/>
- </target>
-
- <target name="doc" description="produce javadoc for each module">
- <iterate target="doc"/>
- </target>
-
- <target name="jar"
- description="create java class file archives for each module">
- <iterate target="jar"/>
- </target>
-
- <target name="dist"
- description="copy each module's files into a single distribution tree">
- <iterate target="dist"/>
- <iterate target="dist-lib" modules="${modules.client}">
- <property name="dist.dir" value="${dist.client.dir}"/>
- </iterate>
- </target>
-
- <target name="clean" description="remove all build artifacts">
- <iterate target="clean"/>
- <delete dir="${build.dir}"/>
- <delete dir="${release.dir}"/>
- </target>
-
- <property name="client.includes" value="*/client/**"/>
-
- <target name="zip" depends="dist"
- description="produce a zip archive of the distribution tree">
- <zip basedir="${dist.root}" destfile="${build.zip}"/>
- <zip basedir="${dist.root}" destfile="${client.zip}"
- includes="${client.includes}"/>
- </target>
-
- <target name="tar" depends="dist"
- description="produce a tar archive of the distribution tree">
- <tar basedir="${dist.root}" destfile="${build.tar}"/>
- <tar basedir="${dist.root}" destfile="${client.tar}"
- includes="${client.includes}"/>
- </target>
-
- <target name="gzip" depends="tar"
- description="produce a gzipped tarball of the distribution tree">
- <gzip src="${build.tar}" destfile="${build.tgz}"/>
- <gzip src="${client.tar}" destfile="${client.tgz}"/>
- </target>
-
- <target name="bzip2" depends="tar"
- description="produze a bzipped tarball of the distribution tree">
- <bzip2 src="${build.tar}" destfile="${build.bz2}"/>
- <bzip2 src="${client.tar}" destfile="${client.bz2}"/>
- </target>
-
- <target name="archive" depends="zip,gzip,bzip2"
- description="produce all archive formats of the distribution tree"/>
+ <import file="common.xml"/>
+
+ <property file="build.properties"/>
+ <property name="modules.extra" value=""/>
+ <property name="modules.client" value="common,client"/>
+ <property name="modules"
+ value="${modules.client},broker,broker/test,client/test,cluster,systests,${modules.extra}"/>
+
+ <property name="release.fullversion" value="${build.release.version}-${build.release.name}-${build.release.tag}"/>
+
+ <macrodef name="iterate">
+ <attribute name="target"/>
+ <attribute name="modules" default="${modules}"/>
+ <element name="elements" implicit="true" optional="true"/>
+ <sequential>
+ <subant target="@{target}" antfile="build-module.xml">
+ <filelist dir="." files="@{modules}"/>
+ <elements/>
+ </subant>
+ </sequential>
+ </macrodef>
+
+ <target name="build" description="compile java source code for each module">
+ <iterate target="build"/>
+ </target>
+
+ <target name="test" description="execute unit tests">
+ <iterate target="test"/>
+ </target>
+
+ <target name="testreport" description="execute unit tests and produce reports">
+ <iterate target="testreport"/>
+ </target>
+
+ <target name="doc" description="produce javadoc for each module">
+ <iterate target="doc"/>
+ </target>
+
+ <target name="jar"
+ description="create java class file archives for each module">
+ <iterate target="jar"/>
+ </target>
+
+ <target name="dist"
+ description="copy each module's files into a single distribution tree">
+ <iterate target="dist"/>
+ <iterate target="dist-lib" modules="${modules.client}">
+ <property name="dist.dir" value="${dist.client.dir}"/>
+ </iterate>
+ </target>
+
+ <target name="clean" description="remove all build artifacts">
+ <iterate target="clean"/>
+ <delete dir="${build.root.dir}"/>
+ <delete dir="${release.dir}"/>
+ </target>
+
+ <property name="client.includes" value="*/client/**"/>
+
+ <target name="zip" depends="dist"
+ description="produce a zip archive of the distribution tree">
+ <zip basedir="${dist.root}" destfile="${build.zip}"/>
+ <zip basedir="${dist.root}" destfile="${client.zip}"
+ includes="${client.includes}"/>
+ </target>
+
+ <target name="tar" depends="dist"
+ description="produce a tar archive of the distribution tree">
+ <tar basedir="${dist.root}" destfile="${build.tar}"/>
+ <tar basedir="${dist.root}" destfile="${client.tar}"
+ includes="${client.includes}"/>
+ </target>
+
+ <target name="gzip" depends="tar"
+ description="produce a gzipped tarball of the distribution tree">
+ <gzip src="${build.tar}" destfile="${build.tgz}"/>
+ <gzip src="${client.tar}" destfile="${client.tgz}"/>
+ </target>
+
+ <target name="bzip2" depends="tar"
+ description="produze a bzipped tarball of the distribution tree">
+ <bzip2 src="${build.tar}" destfile="${build.bz2}"/>
+ <bzip2 src="${client.tar}" destfile="${client.bz2}"/>
+ </target>
+
+ <target name="archive" depends="zip,gzip,bzip2"
+ description="produce all archive formats of the distribution tree"/>
<target name="preparerelease">
<mkdir dir="${release.dir}"/>
@@ -159,12 +159,12 @@
<param name="todir" value="${release.java.src.dir}"/>
</antcall>
- <copy todir="${release.java.src.dir}">
+ <copy todir="${release.java.src.dir}">
<fileset dir="${project.root}">
<include name="${tasks.dir}/${src.dir}/**"/>
<include name="${doc.dir}/**"/>
</fileset>
- </copy>
+ </copy>
<copy todir="${release.java.src.dir}">
<fileset dir="${project.root}">
@@ -193,7 +193,6 @@
</copy>
-
<!-- Copy Spec files for protocol generation -->
<copy todir="${release.src.dir}">
<fileset dir=".." casesensitive="false">
@@ -211,13 +210,16 @@
<target name="copyreleasedocs">
<!-- Copy Various Txt files to prepare directory -->
<copy todir="${todir}">
+
<fileset dir="release-docs">
<include name="RELEASE_NOTES.txt"/>
</fileset>
+
<fileset dir="${project.root}">
<include name="README.txt"/>
<include name="NOTICE.txt"/>
</fileset>
+
<fileset dir="${resources.root.dir}/META-INF">
<include name="DISCLAIMER.txt"/>
</fileset>
@@ -237,17 +239,18 @@
<!-- Find all the license files-->
<fileset dir="${fromdir}" id="license.files">
- <include name="**/${lib.dir}/**/license*"/>
+ <include name="**/license*"/>
</fileset>
<!-- Path to use to remove from the start of the license file name -->
- <path path="${todir}${file.separator}" id="release.prepare.dir.id" />
+ <path path="${todir}${file.separator}" id="release.prepare.dir.id"/>
<!-- Convert this path to use the platform file separator \ or / -->
<pathconvert refid="release.prepare.dir.id" property="release.prepare.path" dirsep="${file.separator}"/>
<!-- For each of the license files remove the release prepare path-->
- <pathconvert refid="license.files" id="licenses.convert.path.id" property="licenses.convert" pathsep="${line.separator}" >
+ <pathconvert refid="license.files" id="licenses.convert.path.id" property="licenses.convert"
+ pathsep="${line.separator}">
<map from="${release.prepare.path}${file.separator}" to=''/>
</pathconvert>
@@ -274,7 +277,7 @@
</zip>
</target>
- <target name="std-src-release-old" >
+ <target name="std-src-release-old">
<!-- Setup the local variables -->
<property name="release.src.name" value="${project.name}-java-${release.fullversion}-src"/>
@@ -299,24 +302,28 @@
<property name="release.src.name" value="${project.name}-java-${release.fullversion}-src"/>
<property name="build.release.src.dir" value="${build.release}/${release.src.name}"/>
+ <!-- Ensure there is nothing in our target bin dir -->
+ <delete dir="${build.release.src.dir}"/>
+ <mkdir dir="${build.release.src.dir}"/>
+
<copy todir="${build.release.src.dir}">
<fileset dir="${project.root}/..">
- <!--All source files -->
- <include name="java/**"/>
+ <!--All source files -->
<include name="specs/**"/>
+ <include name="java/**"/>
- <!--exclude files -->
+ <!--exclude files -->
<exclude name="**/.svn/**"/>
<exclude name="java/${build.dir}/**"/>
<exclude name="java/${release.dir}/**"/>
</fileset>
</copy>
+
<!-- Copy release docs to root of release -->
<antcall target="copyreleasedocs">
<param name="todir" value="${build.release.src.dir}"/>
</antcall>
-
<antcall target="tgzandzip">
<param name="file" value="${release.dir}/${release.src.name}"/>
@@ -346,20 +353,20 @@
modules.include i.e. ${modules.client}
release.libsonly determines what task to run on the iterate normally dist but if libs only then dist-lib
-->
- <target name="std-bin-release-item" depends="preparerelease">
+ <target name="std-bin-release-item" depends="preparerelease">
- <!-- if modules.include has not been set set it to all modules-->
- <property name="modules.include" value="${modules}"/>
+ <!-- if modules.include has not been set set it to all modules-->
+ <property name="modules.include" value="${modules}"/>
- <!-- Set the type of dist to do. Normally it is dist but if we are doing a libs only then set dist-lib -->
- <condition property="disttype" value="dist-lib" else="dist">
- <isset property="release.libsonly"/>
- </condition>
+ <!-- Set the type of dist to do. Normally it is dist but if we are doing a libs only then set dist-lib -->
+ <condition property="disttype" value="dist-lib" else="dist">
+ <isset property="release.libsonly"/>
+ </condition>
- <!-- If the module content has been specified then use then set that value-->
- <condition property="module.release.suffix" value="-bin-${module.content}" else="">
- <isset property="module.content"/>
- </condition>
+ <!-- If the module content has been specified then use then set that value-->
+ <condition property="module.release.suffix" value="-bin-${module.content}" else="">
+ <isset property="module.content"/>
+ </condition>
<!-- Setup the local variables -->
<property name="release.bin.name" value="${project.name}-java-${release.fullversion}${module.release.suffix}"/>
@@ -367,9 +374,11 @@
<property name="module.jar.prefix" value="${project.name}-"/>
<property name="module.jar.suffix" value="-${release.fullversion}"/>
+ <!-- Ensure there is nothing in our target bin dir -->
+ <delete dir="${release.bin.dir}"/>
<mkdir dir="${release.bin.dir}"/>
- <iterate target="${disttype}" modules="${modules.include}" >
+ <iterate target="${disttype}" modules="${modules.include}">
<property name="module.prefix" value="${module.jar.prefix}"/>
<property name="module.suffix" value="${module.jar.suffix}"/>
<property name="dist.dest.dir" value="${release.bin.dir}"/>
diff --git a/java/common.xml b/java/common.xml
index 9e25bd96e4..0a6430220b 100644
--- a/java/common.xml
+++ b/java/common.xml
@@ -25,7 +25,6 @@
<property name="project.version" value="0.9"/>
<property name="project.namever" value="${project.name}-${project.version}"/>
<property name="client.namever" value="${project.name}-client-${project.version}"/>
- <property name="build.dir" value="${project.root}/build"/>
<property name="specs.dir" value="specs"/>
@@ -43,6 +42,7 @@
<property name="tasks.dir" value="tasks"/>
<property name="metainf.dir" value="META-INF"/>
<property name="release.dir" value="release"/>
+ <property name="build.dir" value="build"/>
<property name="resources.dir" value="resources"/>
<property name="stylesheets.dir" value="stylesheets"/>
<property name="releasedocs.dir" value="release-docs"/>
@@ -50,10 +50,12 @@
<property name="launcher.sfx" value="-launch.jar"/>
<property name="release.root.dir" value="${project.root}/${release.dir}"/>
- <property name="resources.root.dir" value="${project.root}/${resources.dir}"/>
+ <property name="resources.root.dir" value="${project.root}/${resources.dir}"/>
+ <property name="build.root.dir" value="${project.root}/${build.dir}"/>
+ <property name="release.root.dir" value="${project.root}/${release.dir}"/>
- <property name="dist.root" value="${build.dir}/dist"/>
+ <property name="dist.root" value="${build.root.dir}/dist"/>
<property name="dist.dir" value="${dist.root}/${project.namever}"/>
<property name="dist.client.dir" value="${dist.dir}/client"/>
<property name="dist.bin" value="${dist.dir}/${bin.dir}"/>
@@ -66,19 +68,19 @@
<property name="module.file" value="module.xml"/>
<property name="common.file" value="common.xml"/>
<property name="build.properties.file" value="build.properties"/>
- <property name="build.release" value="${build.dir}/${release.dir}"/>
- <property name="build.release.prepare" value="${build.dir}/${release.dir}/prepare"/>
+ <property name="build.release" value="${build.root.dir}/${release.dir}"/>
+ <property name="build.release.prepare" value="${build.root.dir}/${release.dir}/prepare"/>
- <property name="build.zip" value="${build.dir}/${project.namever}.zip"/>
- <property name="build.tar" value="${build.dir}/${project.namever}.tar"/>
- <property name="build.tgz" value="${build.dir}/${project.namever}.tar.gz"/>
- <property name="build.bz2" value="${build.dir}/${project.namever}.tar.bz2"/>
+ <property name="build.zip" value="${build.root.dir}/${project.namever}.zip"/>
+ <property name="build.tar" value="${build.root.dir}/${project.namever}.tar"/>
+ <property name="build.tgz" value="${build.root.dir}/${project.namever}.tar.gz"/>
+ <property name="build.bz2" value="${build.root.dir}/${project.namever}.tar.bz2"/>
- <property name="client.zip" value="${build.dir}/${client.namever}.zip"/>
- <property name="client.tar" value="${build.dir}/${client.namever}.tar"/>
- <property name="client.tgz" value="${build.dir}/${client.namever}.tar.gz"/>
- <property name="client.bz2" value="${build.dir}/${client.namever}.tar.bz2"/>
+ <property name="client.zip" value="${build.root.dir}/${client.namever}.zip"/>
+ <property name="client.tar" value="${build.root.dir}/${client.namever}.tar"/>
+ <property name="client.tgz" value="${build.root.dir}/${client.namever}.tar.gz"/>
+ <property name="client.bz2" value="${build.root.dir}/${client.namever}.tar.bz2"/>
<property name="java.target" value="1.5"/>
<property name="java.source" value="1.5"/>
@@ -89,7 +91,7 @@
<property name="common.dir" value="common"/>
<property name="common.root.dir" value="${project.root}/${common.dir}"/>
- <mkdir dir="${tasks.classes}"/>
+ <mkdir dir="${tasks.classes}"/>
<javac srcdir="${tasks.src}" destdir="${tasks.classes}"
classpath="${java.class.path}"/>
<taskdef name="map" classname="org.apache.qpid.tasks.Map"
diff --git a/java/module.xml b/java/module.xml
index 0172ea2995..78999c2ea9 100644
--- a/java/module.xml
+++ b/java/module.xml
@@ -26,7 +26,7 @@
<globmapper from="${project.root}${file.separator}*" to="*"/>
</map>
- <property name="module.dir" value="${build.dir}/${module}"/>
+ <property name="module.dir" value="${build.root.dir}/${module}"/>
<property name="module.classes" value="${module.dir}/${classes.dir}"/>
<property name="module.precompiled" value="${module.dir}/${src.dir}"/>
@@ -75,7 +75,7 @@
<regexpmapper from="(.*)" to="\1/${lib.dir}/\*\*\/*\.jar" handledirsep="/"/>
</map>
<map property="module.depends.classes" value="${module.depends.dirs}" join=":">
- <globmapper from="*" to="${build.dir}/*/${classes.dir}"/>
+ <globmapper from="*" to="${build.root.dir}/*/${classes.dir}"/>
</map>
<path id="module.src.path">
@@ -167,13 +167,13 @@
<target name="build" depends="compile">
<antcall target="dist-bin">
- <param name="destdir" value="${build.dir}"/>
+ <param name="destdir" value="${build.root.dir}"/>
</antcall>
- <copy todir="${build.dir}/${etc.dir}" failonerror="false">
+ <copy todir="${build.root.dir}/${etc.dir}" failonerror="false">
<fileset dir="${module.etc}" excludes="**/*.conf"/>
</copy>
- <copy todir="${build.dir}/${etc.dir}" failonerror="false">
- <fileset dir="${build.dir}/${etc.dir}" includes="**/*.dev"/>
+ <copy todir="${build.root.dir}/${etc.dir}" failonerror="false">
+ <fileset dir="${build.root.dir}/${etc.dir}" includes="**/*.dev"/>
<mapper>
<globmapper from="*.dev" to="*"/>
</mapper>
diff --git a/specs/license.amqp.txt b/specs/license.amqp.txt
new file mode 100644
index 0000000000..01628a9b19
--- /dev/null
+++ b/specs/license.amqp.txt
@@ -0,0 +1 @@
+This is a placeholder license for amqp