diff options
author | Stephen D. Huston <shuston@apache.org> | 2011-10-21 14:42:12 +0000 |
---|---|---|
committer | Stephen D. Huston <shuston@apache.org> | 2011-10-21 14:42:12 +0000 |
commit | f83677056891e436bf5ba99e79240df2a44528cd (patch) | |
tree | 625bfd644b948e89105630759cf6decb0435354d /java/module.xml | |
parent | ebfd9ff053b04ab379acfc0fefedee5a31b6d8a5 (diff) | |
download | qpid-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.xml | 140 |
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> |