summaryrefslogtreecommitdiff
path: root/java/module.xml
diff options
context:
space:
mode:
authorStephen D. Huston <shuston@apache.org>2011-10-21 14:42:12 +0000
committerStephen D. Huston <shuston@apache.org>2011-10-21 14:42:12 +0000
commitf83677056891e436bf5ba99e79240df2a44528cd (patch)
tree625bfd644b948e89105630759cf6decb0435354d /java/module.xml
parentebfd9ff053b04ab379acfc0fefedee5a31b6d8a5 (diff)
downloadqpid-python-QPID-2519.tar.gz
Merged out from trunkQPID-2519
git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/QPID-2519@1187375 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/module.xml')
-rw-r--r--java/module.xml140
1 files changed, 111 insertions, 29 deletions
diff --git a/java/module.xml b/java/module.xml
index d3954a1544..349fb91e4a 100644
--- a/java/module.xml
+++ b/java/module.xml
@@ -66,6 +66,8 @@
<property name="module.release.bz2" location="${module.release}/${module.namever}.tar.bz2"/>
<property name="module.genpom.args" value=""/>
+ <property name="maven.remote.repo" value="file://${module.release.base}/maven"/>
+
<property name="broker.log.prefix" value="BROKER: "/>
<property name="broker.log.interleave" value="true"/>
@@ -75,6 +77,7 @@
<property name="module.coverage" location="${module.build}/coverage"/>
<property name="cobertura.datafile" location="${module.instrumented}/cobetura.ser"/>
+
<available property="module.test.src.exists" file="${module.test.src}"/>
<available property="module.etc.exists" file="${module.etc}"/>
<available property="module.bin.exists" file="${module.bin}"/>
@@ -204,7 +207,6 @@
<mkdir dir="${build.etc}"/>
<mkdir dir="${build.lib}"/>
<mkdir dir="${build.results}"/>
- <mkdir dir="${build.data}"/>
<mkdir dir="${build.plugins}"/>
<mkdir dir="${module.classes}"/>
<mkdir dir="${module.precompiled}"/>
@@ -220,8 +222,8 @@
<arg line='"${project.root}/genpom"'/>
<arg line='-s "${project.root}/lib/poms"'/>
<arg line='-o "${build.scratch}/qpid-${module.name}.pom"'/>
- <arg line="-u http://qpid.apache.org"/>
- <arg line="-g org.apache.qpid"/>
+ <arg line="-u ${project.url}"/>
+ <arg line="-g ${project.groupid}"/>
<arg line="-v ${project.version}${maven.version.suffix}"/>
<arg line="-p qpid"/>
<arg line='-m "${module.depends}"'/>
@@ -237,14 +239,14 @@
<artifact:pom id="module.pom" file="${build.scratch}/qpid-${module.name}.pom"/>
- <artifact:install file="${module.jar}" pomRefId="module.pom">
+ <artifact:install file="${module.jar}" pomRefId="module.pom" settingsFile="${maven.settings.xml}">
<localRepository path="${maven.local.repo}"/>
</artifact:install>
- <artifact:deploy file="${module.jar}" pomRefId="module.pom" uniqueVersion="${maven.unique.version}">
+ <artifact:deploy file="${module.jar}" pomRefId="module.pom" uniqueVersion="${maven.unique.version}" settingsFile="${maven.settings.xml}">
<attach file="${module.source.jar}" classifier="sources"/>
<localRepository path="${maven.local.repo}"/>
- <remoteRepository url="file://${module.release.base}/maven"/>
+ <remoteRepository url="${maven.remote.repo}"/>
</artifact:deploy>
</target>
@@ -278,7 +280,8 @@
<javac target="${java.target}" source="${java.source}"
destdir="${module.test.classes}" debug="on"
deprecation="${javac.deprecation}"
- srcdir="${module.test.src}">
+ srcdir="${module.test.src}"
+ includeantruntime="false">
<classpath refid="module.test.path"/>
</javac>
@@ -292,7 +295,7 @@
</target>
- <property name="profile" value="default"/>
+ <property name="profile" value="java-mms.0-10"/>
<property name="testprofile.file" value="${test.profiles}/${profile}.testprofile"/>
<available file="${testprofile.file}" property="testprofile.file.present"/>
@@ -300,29 +303,29 @@
<property file="${testprofile.file}" prefix="preload"/>
<property name="preload.include" value=""/>
- <condition property="profiles"
- value="${preload.include} ${profile}"
- else="default ${preload.include} ${profile}">
- <equals arg1="${profile}" arg2="default"/>
- </condition>
+ <property name="profiles" value="${preload.include} ${profile}"/>
<map property="_profile_files" value="${profiles}" join=" ">
<globmapper from="*" to="*.testprofile"/>
</map>
+
+ <delete file="${build.scratch}/test-${profile}.properties" quiet="true"/>
<concat destfile="${build.scratch}/test-${profile}.properties" force="no" fixlastline="yes">
+ <filelist dir="${test.profiles}" files="testprofile.defaults"/>
<filelist dir="${test.profiles}" files="${_profile_files}"/>
</concat>
<property file="${build.scratch}/test-${profile}.properties"/>
<map property="test.excludefiles" value="${test.excludes}">
- <globmapper from="*" to="${test.profiles}/*"/>
+ <globmapper from="*" to="${test.profiles}/*;"/>
</map>
-
<condition property="dontruntest" value="dontruntest" else="runtest">
<contains substring="${module.name}" string="${exclude.modules}" />
</condition>
<property name="jvm.args" value=""/>
+ <property name="broker.existing.qpid.work" value=""/>
+
<target name="test" depends="build,compile-tests" if="module.test.src.exists"
unless="${dontruntest}" description="execute unit tests">
@@ -331,7 +334,8 @@
<echo message="Using profile:${profile}" level="info"/>
<junit fork="yes" forkmode="once" maxmemory="${test.mem}" reloading="no"
haltonfailure="${haltonfailure}" haltonerror="${haltonerror}"
- failureproperty="test.failures" printsummary="on" timeout="6000000" >
+ failureproperty="test.failures" printsummary="on" timeout="6000000"
+ dir="${project.root}" >
<jvmarg line="${jvm.args}" />
@@ -343,14 +347,6 @@
<sysproperty key="log4j.configuration" value="${log4j.configuration}"/>
<sysproperty key="java.naming.factory.initial" value="${java.naming.factory.initial}"/>
<sysproperty key="java.naming.provider.url" value="${java.naming.provider.url}"/>
- <sysproperty key="broker" value="${broker}"/>
- <sysproperty key="broker.clean" value="${broker.clean}"/>
- <sysproperty key="broker.clean.between.tests" value="${broker.clean.between.tests}"/>
- <sysproperty key="broker.persistent" value="${broker.persistent}"/>
- <sysproperty key="broker.version" value="${broker.version}"/>
- <sysproperty key="broker.ready" value="${broker.ready}" />
- <sysproperty key="broker.stopped" value="${broker.stopped}" />
- <sysproperty key="broker.config" value="${broker.config}" />
<sysproperty key="messagestore.class.name" value="${messagestore.class.name}" />
<sysproperty key="test.output" value="${module.results}"/>
<sysproperty key="qpid.amqp.version" value="${qpid.amqp.version}"/>
@@ -401,6 +397,15 @@
</target>
+ <target name="report-module" description="generate junit reports for each module">
+ <junitreport todir="${module.results}">
+ <fileset dir="${module.results}">
+ <include name="TEST-*.xml"/>
+ </fileset>
+ <report format="frames" todir="${module.results}/report/html"/>
+ </junitreport>
+ </target>
+
<target name="touch-failed" if="test.failures">
<touch file="${module.failed}"/>
<touch file="${build.failed}"/>
@@ -647,9 +652,6 @@
<fileset dir="${module.classes}">
<include name="**/*.class"/>
</fileset>
- <fileset dir="${module.test.classes}">
- <include name="**/*.class"/>
- </fileset>
</cobertura-instrument>
</target>
@@ -658,7 +660,8 @@
<mkdir dir="${build.coveragereport}" />
<junit fork="yes" forkmode="once" maxmemory="${test.mem}" reloading="no"
haltonfailure="${haltonfailure}" haltonerror="${haltonerror}"
- failureproperty="test.failures" printsummary="on" timeout="600000" >
+ failureproperty="test.failures" printsummary="on" timeout="600000"
+ dir="${project.root}" >
<sysproperty key="amqj.logging.level" value="${amqj.logging.level}"/>
<sysproperty key="amqj.protocol.logging.level" value="${amqj.protocol.logging.level}"/>
@@ -668,7 +671,6 @@
<sysproperty key="java.naming.factory.initial" value="${java.naming.factory.initial}"/>
<sysproperty key="java.naming.provider.url" value="${java.naming.provider.url}"/>
<sysproperty key="broker" value="${broker}"/>
- <sysproperty key="broker.clean" value="${broker.clean}"/>
<sysproperty key="broker.version" value="${broker.version}"/>
<sysproperty key="broker.ready" value="${broker.ready}" />
<sysproperty key="test.output" value="${module.results}"/>
@@ -814,4 +816,84 @@ qpid.name=${project.name}
<touch file="${velocity.timestamp}" />
</target>
+ <target name="eclipse" depends="eclipse-setup,eclipse-project,eclipse-source-only,eclipse-source-and-test"/>
+
+ <target name="eclipse-setup">
+ <taskdef name="eclipse" classname="prantl.ant.eclipse.EclipseTask" />
+
+ <!-- Build set of directories representing the dependencies -->
+
+ <dirset id="eclipse.required.projectdirs.path" dir="${project.root}" includes="${module.depends} ${module.test.depends} neverBeEmpty">
+ <!-- Select only those projects from module.depends that contain a build.xml. This serves to exclude dependencies that
+ don't become Eclipse projects e.g. broker-plugins and common-tests -->
+ <present targetdir="${project.root}">
+ <mapper type="glob" from="*" to="*/build.xml"/>
+ </present>
+ </dirset>
+
+ <!-- Convert from the set of directories into Eclipse project names proceeded by forward slashes -->
+
+ <pathconvert property="eclipse.required.projectnames" refid="eclipse.required.projectdirs.path" pathsep=" " dirsep="-">
+ <map from="${project.root}${file.separator}" to=''/>
+ </pathconvert>
+ <map property="eclipse.required.slashedprojectnames" value="${eclipse.required.projectnames}" join="${path.separator}">
+ <globmapper from="*" to="/*"/>
+ </map>
+
+ <echo message="Ant module dependencies : ${module.depends} ${module.test.depends} converted to Eclipse required project(s): ${eclipse.required.slashedprojectnames}"/>
+ <path id="eclipse.required.slashedprojectnames.path">
+ <pathelement path="${eclipse.required.slashedprojectnames}"/>
+ </path>
+ </target>
+
+ <!-- Create the Eclipse .project -->
+ <target name="eclipse-project">
+ <eclipse updatealways="${eclipse.updatealways}">
+ <project name="${module.name}"/>
+
+ <!-- If the Eclipse task were to ever support the generation of
+ linked resources, we would configure it to generate
+ the following:
+
+ scratch_src -> ${module.precompiled}
+
+ in each project. This would avoid the 'linked sources'
+ manual step documented on the Wiki.
+ -->
+ </eclipse>
+ </target>
+
+ <!-- Create the Eclipse .classpath -->
+ <target name="eclipse-source-only" unless="module.test.src.exists">
+ <eclipse updatealways="${eclipse.updatealways}">
+ <settings>
+ <jdtcore compilercompliance="${eclipse.compilercompliance}" />
+ </settings>
+ <classpath>
+ <container path="${eclipse.container}" />
+ <source path="${module.src}" />
+ <source pathref="eclipse.required.slashedprojectnames.path" />
+ <library pathref="module.libs"/>
+ <output path="classes" />
+ </classpath>
+ </eclipse>
+ </target>
+
+ <!-- Create the Eclipse .classpath -->
+ <target name="eclipse-source-and-test" if="module.test.src.exists">
+ <eclipse updatealways="${eclipse.updatealways}">
+ <settings>
+ <jdtcore compilercompliance="${eclipse.compilercompliance}" />
+ </settings>
+ <classpath>
+ <container path="${eclipse.container}" />
+ <source path="${module.src}" />
+ <source path="${module.test.src}" />
+ <source pathref="eclipse.required.slashedprojectnames.path" />
+ <library pathref="module.libs"/>
+ <library pathref="module.test.libs"/>
+ <output path="classes" />
+ </classpath>
+ </eclipse>
+ </target>
</project>