You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@edgent.apache.org by dj...@apache.org on 2016/03/07 19:26:51 UTC
[41/50] incubator-quarks git commit: Add test setup and running of
tests against Java 7 with travis
Add test setup and running of tests against Java 7 with travis
Project: http://git-wip-us.apache.org/repos/asf/incubator-quarks/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-quarks/commit/6088eefc
Tree: http://git-wip-us.apache.org/repos/asf/incubator-quarks/tree/6088eefc
Diff: http://git-wip-us.apache.org/repos/asf/incubator-quarks/diff/6088eefc
Branch: refs/heads/master
Commit: 6088eefc0951b233bce98a6530cfa12801763c38
Parents: 49c9902
Author: Daniel J. Debrunner <de...@us.ibm.com>
Authored: Sun Mar 6 16:12:07 2016 -0800
Committer: Daniel J. Debrunner <de...@us.ibm.com>
Committed: Sun Mar 6 16:12:07 2016 -0800
----------------------------------------------------------------------
.travis.yml | 11 +-
platform/java7/build.xml | 383 +++++++++++++++++++++++-------------------
2 files changed, 213 insertions(+), 181 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-quarks/blob/6088eefc/.travis.yml
----------------------------------------------------------------------
diff --git a/.travis.yml b/.travis.yml
index a69016f..fc95def 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -13,7 +13,10 @@ addons:
install: true
-script: apache-ant-1.9.4/bin/ant -Dquarks.build.ci=true -lib /usr/share/java/junit4.jar -lib jacoco-0.7.5/lib clean all test release
-
-jdk:
- - oraclejdk8
+script:
+ - jdk_switcher use oraclejdk8
+ - apache-ant-1.9.4/bin/ant -Dquarks.build.ci=true -lib /usr/share/java/junit4.jar -lib jacoco-0.7.5/lib clean all test release
+ - apache-ant-1.9.4/bin/ant -buildfile platform/java7 -Dquarks.build.ci=true -lib /usr/share/java/junit4.jar -lib jacoco-0.7.5/lib test7.setup
+ - jdk_switcher use oraclejdk7
+ - apache-ant-1.9.4/bin/ant -buildfile platform/java7 -Dquarks.build.ci=true -lib /usr/share/java/junit4.jar -lib jacoco-0.7.5/lib test7.run
+
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-quarks/blob/6088eefc/platform/java7/build.xml
----------------------------------------------------------------------
diff --git a/platform/java7/build.xml b/platform/java7/build.xml
index 31e8d8e..1d7de38 100644
--- a/platform/java7/build.xml
+++ b/platform/java7/build.xml
@@ -1,194 +1,223 @@
<project name="quarks.platform.java7" default="all"
xmlns:jacoco="antlib:org.jacoco.ant"
>
- <description>
+ <description>
Create Java 7 versions of selected jars in java8
by running retrolambda against them.
</description>
- <property environment="env"/>
-
- <property name="quarks" location="../.."/>
- <property name="quarks8.target" location="${quarks}/target/java8"/>
- <property name="quarks7.target" location="${quarks}/target/java7"/>
-
- <property name="input.dir" location="classes.in"/>
- <property name="output.dir" location="classes.out"/>
- <property name="test.classes.dir" location="classes.test"/>
- <property name="ext.dir" location="${quarks}/ext"/>
-
- <path id="quarks.classpath">
- <pathelement location="${ext.dir}/slf4j-1.7.12/slf4j-api-1.7.12.jar"/>
- <pathelement location="${ext.dir}/google-gson-2.2.4/gson-2.2.4.jar"/>
- <pathelement location="${ext.dir}/metrics-3.1.2/metrics-core-3.1.2.jar"/>
- </path>
- <property name="qcp" refid="quarks.classpath"/>
-
- <target name="init">
- <mkdir dir="${quarks7.target}"/>
- </target>
-
- <macrodef name="retro7">
- <attribute name="qjar"/>
- <attribute name="qdir" default="lib" />
- <sequential>
- <delete dir="${input.dir}"/>
- <delete dir="${output.dir}"/>
-
- <mkdir dir="${input.dir}"/>
- <mkdir dir="${output.dir}"/>
-
- <unzip dest="${input.dir}" src="${quarks8.target}/@{qdir}/@{qjar}"/>
-
- <exec executable="java">
- <arg value="-Dretrolambda.inputDir=${input.dir}"/>
- <arg value="-Dretrolambda.classpath=${quarks8.target}/@{qdir}/@{qjar}:${qcp}"/>
- <arg value="-Dretrolambda.outputDir=${output.dir}"/>
- <arg value="-Dretrolambda.defaultMethods=false"/>
- <arg value="-jar"/>
- <arg value="ext/retrolambda-2.1.0.jar"/>
- </exec>
- <mkdir dir="${quarks7.target}/@{qdir}"/>
- <jar destfile="${quarks7.target}/@{qdir}/@{qjar}"
+ <property environment="env"/>
+
+ <property name="quarks" location="../.."/>
+ <property name="quarks8.target" location="${quarks}/target/java8"/>
+ <property name="quarks7.target" location="${quarks}/target/java7"/>
+
+ <property name="input.dir" location="classes.in"/>
+ <property name="output.dir" location="classes.out"/>
+ <property name="test.classes.dir" location="classes.test"/>
+ <property name="ext.dir" location="${quarks}/ext"/>
+
+ <path id="quarks.classpath">
+ <pathelement location="${ext.dir}/slf4j-1.7.12/slf4j-api-1.7.12.jar"/>
+ <pathelement location="${ext.dir}/google-gson-2.2.4/gson-2.2.4.jar"/>
+ <pathelement location="${ext.dir}/metrics-3.1.2/metrics-core-3.1.2.jar"/>
+ </path>
+ <property name="qcp" refid="quarks.classpath"/>
+
+ <target name="init">
+ <mkdir dir="${quarks7.target}"/>
+ </target>
+
+ <macrodef name="retro7">
+ <attribute name="qjar"/>
+ <attribute name="qdir" default="lib" />
+ <sequential>
+ <delete dir="${input.dir}"/>
+ <delete dir="${output.dir}"/>
+
+ <mkdir dir="${input.dir}"/>
+ <mkdir dir="${output.dir}"/>
+
+ <unzip dest="${input.dir}" src="${quarks8.target}/@{qdir}/@{qjar}"/>
+
+ <exec executable="java">
+ <arg value="-Dretrolambda.inputDir=${input.dir}"/>
+ <arg value="-Dretrolambda.classpath=${quarks8.target}/@{qdir}/@{qjar}:${qcp}"/>
+ <arg value="-Dretrolambda.outputDir=${output.dir}"/>
+ <arg value="-Dretrolambda.defaultMethods=false"/>
+ <arg value="-jar"/>
+ <arg value="ext/retrolambda-2.1.0.jar"/>
+ </exec>
+ <mkdir dir="${quarks7.target}/@{qdir}"/>
+ <jar destfile="${quarks7.target}/@{qdir}/@{qjar}"
filesonly="true"
manifest="${input.dir}/META-INF/MANIFEST.MF"
>
- <fileset dir="${output.dir}"/>
- </jar>
- </sequential>
- </macrodef>
+ <fileset dir="${output.dir}"/>
+ </jar>
+ </sequential>
+ </macrodef>
- <target name="all" depends="clean"
+ <target name="all" depends="clean"
description="Compile Quarks and produce Java 7 jars using retrolambda. Must be run with a Java 8 virtual machine."
>
- <ant dir="${quarks}" inheritAll="false">
- <target name="clean"/>
- <target name="all"/>
- </ant>
- <antcall target="retro7"/>
- </target>
-
- <target name="retro7" >
- <antcall target="retro7.quarks"/>
- <antcall target="retro7.quarks.android"/>
- </target>
-
- <target name="retro7.quarks" >
- <retro7 qjar="quarks.api.function.jar" />
- <retro7 qjar="quarks.api.execution.jar" />
- <retro7 qjar="quarks.api.graph.jar" />
- <retro7 qjar="quarks.api.window.jar" />
- <retro7 qjar="quarks.api.oplet.jar" />
- <retro7 qjar="quarks.api.topology.jar" />
- <retro7 qjar="quarks.spi.graph.jar" />
- <retro7 qjar="quarks.spi.topology.jar" />
- <retro7 qjar="quarks.runtime.etiao.jar" />
- <retro7 qjar="quarks.runtime.jmxcontrol.jar" />
- <retro7 qjar="quarks.utils.metrics.jar" qdir="utils/metrics/lib" />
- <retro7 qjar="quarks.providers.direct.jar" />
- <retro7 qjar="quarks.connectors.common.jar" qdir="connectors/common/lib" />
- <retro7 qjar="quarks.connectors.iot.jar" qdir="connectors/iot/lib" />
- <retro7 qjar="quarks.connectors.iotf.jar" qdir="connectors/iotf/lib" />
- <retro7 qjar="quarks.connectors.http.jar" qdir="connectors/http/lib" />
-
- <mkdir dir="${quarks7.target}/ext"/>
- <copy todir="${quarks7.target}/ext">
- <fileset dir="${quarks8.target}/ext"/>
- </copy>
-
- <mkdir dir="${quarks7.target}/connectors/iotf/ext"/>
- <copy todir="${quarks7.target}/connectors/iotf/ext">
- <fileset dir="${quarks8.target}/connectors/iotf/ext"/>
- </copy>
- <mkdir dir="${quarks7.target}/connectors/mqtt/ext"/>
- <copy todir="${quarks7.target}/connectors/mqtt/ext">
- <fileset dir="${quarks8.target}/connectors/mqtt/ext"/>
- </copy>
- <mkdir dir="${quarks7.target}/analytics/math3/ext"/>
- <copy todir="${quarks7.target}/analytics/math3/ext">
- <fileset dir="${quarks8.target}/analytics/math3/ext"/>
- </copy>
-
- </target>
- <target name="retro7.quarks.android" if="env.ANDROID_SDK_PLATFORM">
- <retro7 qjar="quarks.android.topology.jar" qdir="android/topology/lib" />
- <retro7 qjar="quarks.android.hardware.jar" qdir="android/hardware/lib" />
- </target>
-
- <path id="tc.classpath">
- <dirset dir="${quarks}">
- <include name="**/test.classes"/>
- </dirset>
- </path>
- <property name="tccp" refid="tc.classpath"/>
-
- <macrodef name="retro7.test">
- <attribute name="tdir"/>
- <attribute name="ldir" default="lib"/>
- <sequential>
- <echo message="Testing: @{tdir}"/>
- <delete dir="${quarks}/@{tdir}/test7.classes"/>
- <mkdir dir="${quarks}/@{tdir}/test7.classes"/>
-
- <exec executable="java">
- <arg value="-Dretrolambda.inputDir=${quarks}/@{tdir}/test.classes"/>
- <arg value="-Dretrolambda.classpath=${qcp7}:${qcp}:${tccp}"/>
- <arg value="-Dretrolambda.outputDir=${quarks}/@{tdir}/test7.classes"/>
- <arg value="-Dretrolambda.defaultMethods=true"/>
- <arg value="-jar"/>
- <arg value="ext/retrolambda-2.1.0.jar"/>
- </exec>
- <delete dir="${quarks}/@{tdir}/test.classes"/>
- <move file="${quarks}/@{tdir}/test7.classes"
+ <ant dir="${quarks}" inheritAll="false">
+ <target name="clean"/>
+ <target name="all"/>
+ </ant>
+ <antcall target="retro7"/>
+ </target>
+
+ <target name="retro7" >
+ <antcall target="retro7.quarks"/>
+ <antcall target="retro7.quarks.android"/>
+ </target>
+
+ <target name="retro7.quarks" >
+ <retro7 qjar="quarks.api.function.jar" />
+ <retro7 qjar="quarks.api.execution.jar" />
+ <retro7 qjar="quarks.api.graph.jar" />
+ <retro7 qjar="quarks.api.window.jar" />
+ <retro7 qjar="quarks.api.oplet.jar" />
+ <retro7 qjar="quarks.api.topology.jar" />
+ <retro7 qjar="quarks.spi.graph.jar" />
+ <retro7 qjar="quarks.spi.topology.jar" />
+ <retro7 qjar="quarks.runtime.etiao.jar" />
+ <retro7 qjar="quarks.runtime.jmxcontrol.jar" />
+ <retro7 qjar="quarks.utils.metrics.jar" qdir="utils/metrics/lib" />
+ <retro7 qjar="quarks.providers.direct.jar" />
+ <retro7 qjar="quarks.connectors.common.jar" qdir="connectors/common/lib" />
+ <retro7 qjar="quarks.connectors.iot.jar" qdir="connectors/iot/lib" />
+ <retro7 qjar="quarks.connectors.iotf.jar" qdir="connectors/iotf/lib" />
+ <retro7 qjar="quarks.connectors.http.jar" qdir="connectors/http/lib" />
+
+ <mkdir dir="${quarks7.target}/ext"/>
+ <copy todir="${quarks7.target}/ext">
+ <fileset dir="${quarks8.target}/ext"/>
+ </copy>
+
+ <mkdir dir="${quarks7.target}/connectors/iotf/ext"/>
+ <copy todir="${quarks7.target}/connectors/iotf/ext">
+ <fileset dir="${quarks8.target}/connectors/iotf/ext"/>
+ </copy>
+ <mkdir dir="${quarks7.target}/connectors/mqtt/ext"/>
+ <copy todir="${quarks7.target}/connectors/mqtt/ext">
+ <fileset dir="${quarks8.target}/connectors/mqtt/ext"/>
+ </copy>
+ <mkdir dir="${quarks7.target}/analytics/math3/ext"/>
+ <copy todir="${quarks7.target}/analytics/math3/ext">
+ <fileset dir="${quarks8.target}/analytics/math3/ext"/>
+ </copy>
+
+ </target>
+ <target name="retro7.quarks.android" if="env.ANDROID_SDK_PLATFORM">
+ <retro7 qjar="quarks.android.topology.jar" qdir="android/topology/lib" />
+ <retro7 qjar="quarks.android.hardware.jar" qdir="android/hardware/lib" />
+ </target>
+
+ <path id="tc.classpath">
+ <dirset dir="${quarks}">
+ <include name="**/test.classes"/>
+ </dirset>
+ </path>
+ <property name="tccp" refid="tc.classpath"/>
+
+ <macrodef name="retro7.test.setup">
+ <attribute name="tdir"/>
+ <attribute name="ldir" default="lib"/>
+ <sequential>
+ <echo message="Testing Setup: @{tdir}"/>
+ <delete dir="${quarks}/@{tdir}/test7.classes"/>
+ <mkdir dir="${quarks}/@{tdir}/test7.classes"/>
+
+ <exec executable="java">
+ <arg value="-Dretrolambda.inputDir=${quarks}/@{tdir}/test.classes"/>
+ <arg value="-Dretrolambda.classpath=${qcp7}:${qcp}:${tccp}"/>
+ <arg value="-Dretrolambda.outputDir=${quarks}/@{tdir}/test7.classes"/>
+ <arg value="-Dretrolambda.defaultMethods=true"/>
+ <arg value="-jar"/>
+ <arg value="ext/retrolambda-2.1.0.jar"/>
+ </exec>
+ <delete dir="${quarks}/@{tdir}/test.classes"/>
+ <move file="${quarks}/@{tdir}/test7.classes"
tofile="${quarks}/@{tdir}/test.classes"/>
- <ant dir="${quarks}/@{tdir}" target="test.run" inheritAll="false">
- <property name="lib" location="${quarks7.target}/@{ldir}"/>
- <property name="quarks.lib" location="${quarks7.target}/lib"/>
- <property name="quarks.utils" location="${quarks7.target}/utils"/>
- <property name="quarks.connectors" location="${quarks7.target}/connectors"/>
- </ant>
- </sequential>
- </macrodef>
-
- <target name="test"
- description="Run Quarks tests using the Java 7 jars. Should be run with JAVA_HOME pointing to a Java 7 virtual machine, though can also be run with Java 8"
+ </sequential>
+ </macrodef>
+
+ <macrodef name="retro7.test.run">
+ <attribute name="tdir"/>
+ <attribute name="ldir" default="lib"/>
+ <sequential>
+ <echo message="Testing: @{tdir}"/>
+ <ant dir="${quarks}/@{tdir}" target="test.run" inheritAll="false">
+ <property name="lib" location="${quarks7.target}/@{ldir}"/>
+ <property name="quarks.lib" location="${quarks7.target}/lib"/>
+ <property name="quarks.utils" location="${quarks7.target}/utils"/>
+ <property name="quarks.connectors" location="${quarks7.target}/connectors"/>
+ </ant>
+ </sequential>
+ </macrodef>
+
+ <target name="test7.setup"
+ description="Setup Quarks tests for the Java 7.Must be run with Java 8 to run retrolambda."
>
- <path id="quarks.java7.classpath">
- <fileset dir="${quarks7.target}/lib">
- <include name="*.jar"/>
- </fileset>
- <fileset dir="${quarks7.target}/connectors">
- <include name="*/lib/*.jar"/>
- </fileset>
- <fileset dir="${quarks7.target}/utils">
- <include name="*/lib/*.jar"/>
- </fileset>
- <fileset dir="${quarks7.target}/analytics">
- <include name="*/lib/*.jar"/>
- </fileset>
- </path>
- <property name="qcp7" refid="quarks.java7.classpath"/>
- <retro7.test tdir="api/function"/>
- <retro7.test tdir="api/execution"/>
- <retro7.test tdir="api/graph" />
- <retro7.test tdir="api/window" />
- <retro7.test tdir="api/oplet" />
- <retro7.test tdir="api/topology" />
- <retro7.test tdir="spi/graph" />
- <retro7.test tdir="spi/topology" />
- <retro7.test tdir="runtime/etiao" />
- <retro7.test tdir="runtime/jmxcontrol" />
- <retro7.test tdir="utils/metrics" ldir="utils/metrics/lib"/>
- <retro7.test tdir="providers/direct" />
- <retro7.test tdir="connectors/common" ldir="connectors/common/lib"/>
- <retro7.test tdir="connectors/iotf" ldir="connectors/iotf/lib"/>
- <retro7.test tdir="connectors/http" ldir="connectors/http/lib"/>
- </target>
-
- <target name="clean">
- <delete dir="${input.dir}"/>
- <delete dir="${output.dir}"/>
- <delete dir="${quarks7.target}"/>
- </target>
+ <path id="quarks.java7.classpath">
+ <fileset dir="${quarks7.target}/lib">
+ <include name="*.jar"/>
+ </fileset>
+ <fileset dir="${quarks7.target}/connectors">
+ <include name="*/lib/*.jar"/>
+ </fileset>
+ <fileset dir="${quarks7.target}/utils">
+ <include name="*/lib/*.jar"/>
+ </fileset>
+ <fileset dir="${quarks7.target}/analytics">
+ <include name="*/lib/*.jar"/>
+ </fileset>
+ </path>
+ <property name="qcp7" refid="quarks.java7.classpath"/>
+ <retro7.test.setup tdir="api/function"/>
+ <retro7.test.setup tdir="api/execution"/>
+ <retro7.test.setup tdir="api/graph" />
+ <retro7.test.setup tdir="api/window" />
+ <retro7.test.setup tdir="api/oplet" />
+ <retro7.test.setup tdir="api/topology" />
+ <retro7.test.setup tdir="spi/graph" />
+ <retro7.test.setup tdir="spi/topology" />
+ <retro7.test.setup tdir="runtime/etiao" />
+ <retro7.test.setup tdir="runtime/jmxcontrol" />
+ <retro7.test.setup tdir="utils/metrics" ldir="utils/metrics/lib"/>
+ <retro7.test.setup tdir="providers/direct" />
+ <retro7.test.setup tdir="connectors/common" ldir="connectors/common/lib"/>
+ <retro7.test.setup tdir="connectors/iotf" ldir="connectors/iotf/lib"/>
+ <retro7.test.setup tdir="connectors/http" ldir="connectors/http/lib"/>
+ </target>
+
+ <!-- this must be preceeded by test7.setup (run with a Java 8 vm) -->
+ <target name="test7.run"
+ description="Run Quarks tests for the Java 7. Should be run with JAVA_HOME pointing to a Java 7 virtual machine, though can also be run with Java 8"
+ >
+ <retro7.test.run tdir="api/function"/>
+ <retro7.test.run tdir="api/execution"/>
+ <retro7.test.run tdir="api/graph" />
+ <retro7.test.run tdir="api/window" />
+ <retro7.test.run tdir="api/oplet" />
+ <retro7.test.run tdir="api/topology" />
+ <retro7.test.run tdir="spi/graph" />
+ <retro7.test.run tdir="spi/topology" />
+ <retro7.test.run tdir="runtime/etiao" />
+ <retro7.test.run tdir="runtime/jmxcontrol" />
+ <retro7.test.run tdir="utils/metrics" ldir="utils/metrics/lib"/>
+ <retro7.test.run tdir="providers/direct" />
+ <retro7.test.run tdir="connectors/common" ldir="connectors/common/lib"/>
+ <retro7.test.run tdir="connectors/iotf" ldir="connectors/iotf/lib"/>
+ <retro7.test.run tdir="connectors/http" ldir="connectors/http/lib"/>
+ </target>
+
+ <target name="clean">
+ <delete dir="${input.dir}"/>
+ <delete dir="${output.dir}"/>
+ <delete dir="${quarks7.target}"/>
+ </target>
</project>