initial hackery to build java7 and android
- make platform/java7/build.xml sufficiently overridable
- add clean to platform/android/build.xml; explicitly omit console
things
- add missing components to JAVA_SUPPORT.md
- fix java7 to include connector/http/ext (needed because java7 includes
edgent.connectors.http.jar and is doc'd as supporting it)
- add java7,android task to build.gradle
With this commit, "./gradlew release" does seemingly correctly assemble
java7 and android in the gradle targetDir.
TODO java7,android test
TODO building of android/{hardware,topology
Project: http://git-wip-us.apache.org/repos/asf/incubator-edgent/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-edgent/commit/7b85f486
Tree: http://git-wip-us.apache.org/repos/asf/incubator-edgent/tree/7b85f486
Diff: http://git-wip-us.apache.org/repos/asf/incubator-edgent/diff/7b85f486
Branch: refs/heads/master
Commit: 7b85f486d38051a222403b26d47ee0118905ed25
Parents: 9924192
Author: Dale LaBossiere <[email protected]>
Authored: Wed Aug 31 15:16:15 2016 -0400
Committer: Dale LaBossiere <[email protected]>
Committed: Wed Aug 31 15:16:15 2016 -0400
----------------------------------------------------------------------
DEVELOPMENT.md | 4 +--
JAVA_SUPPORT.md | 8 ++++++
platform/android/build.xml | 6 ++++-
platform/java7/build.xml | 56 ++++++++++++++++++++++++++++++++++++++---
4 files changed, 68 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-edgent/blob/7b85f486/DEVELOPMENT.md
----------------------------------------------------------------------
diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md
index 70efaea..f89b4e3 100644
--- a/DEVELOPMENT.md
+++ b/DEVELOPMENT.md
@@ -105,7 +105,7 @@ Running the reports target produces two reports:
Work is ongoing to replace the Ant based build system with a Gradle based one
[EDGENT-139]. Delivered functionality is expected to work though is not yet
-be complete.
+complete.
**TODO: The primary build process is using Gradle, any pull request is
expected to
maintain the build success of `clean, assemble, test, reports`.**
@@ -130,7 +130,7 @@ unique tasks:
* `reports` : Generate JUnit and Code Coverage reports in
`build\distributions\reports`. Use after executing the `test` target.
* `reports\tests\overview-summary.html` - JUnit test report
* `reports\coverage\index.html` - Code coverage report
-* `release` : Build a release bundle in `build/release-edgent`, **TODO: that
includes subsets of the Edgent jars that run on Java 7
(`build/distributions/java7`) and Android (`build/distributions/android`)**.
+* `release` : Build a release bundle in `build/release-edgent`, that includes
subsets of the Edgent jars that run on Java 7 (`build/distributions/java7`) and
Android (`build/distributions/android`).
The build process has been tested on Linux and MacOSX.
http://git-wip-us.apache.org/repos/asf/incubator-edgent/blob/7b85f486/JAVA_SUPPORT.md
----------------------------------------------------------------------
diff --git a/JAVA_SUPPORT.md b/JAVA_SUPPORT.md
index 45aea8d..4434d2a 100644
--- a/JAVA_SUPPORT.md
+++ b/JAVA_SUPPORT.md
@@ -9,6 +9,11 @@ Building a release `ant release` produces three sets of Jars
under
* target/java7 - Java 7 SE
* target/android - Android
+[WIP] Building a release `./gradlew release` produces three sets of Jars under
+* build/distributions/java8 - Java 8 SE
+* build/distributions/java7 - Java 7 SE
+* build/distributions/android - Android
+
This page documents which jars are expected to work in each environment.
## Core
@@ -37,6 +42,8 @@ This page documents which jars are expected to work in each
environment.
| Jar | Java 8 SE | Java 7 SE | Android | Notes |
|---|---|---|---|---|
|edgent.connectors.common.jar | yes | yes | yes | |
+|edgent.connectors.command.jar | yes | | | |
+|edgent.connectors.csv.jar | yes | | | |
|edgent.connectors.file.jar | yes | | | |
|edgent.connectors.http.jar | yes | yes | yes | |
|edgent.connectors.iotf.jar | yes | yes | yes | |
@@ -68,6 +75,7 @@ This page documents which jars are expected to work in each
environment.
| Jar | Java 8 SE | Java 7 SE | Android | Notes |
|---|---|---|---|---|
|edgent.utils.metrics.jar | yes | | | |
+|edgent.utils.streamscope.jar | yes | | | |
### Development Console
http://git-wip-us.apache.org/repos/asf/incubator-edgent/blob/7b85f486/platform/android/build.xml
----------------------------------------------------------------------
diff --git a/platform/android/build.xml b/platform/android/build.xml
index 7e573ce..232308f 100644
--- a/platform/android/build.xml
+++ b/platform/android/build.xml
@@ -38,7 +38,7 @@
<target name="copyFrom7" depends="init">
<copy todir="${edgent.android.target}">
<fileset dir="${edgent7.target}"
- excludes="scripts/** lib/edgent.runtime.jmxcontrol.jar"
+ excludes="scripts/** lib/edgent.runtime.jmxcontrol.jar
lib/edgent.providers.development.jar console/**"
/>
</copy>
@@ -48,4 +48,8 @@
<delete dir="${edgent7.target}/android"/>
</target>
+ <target name="clean">
+ <delete dir="${edgent.android.target}"/>
+ </target>
+
</project>
http://git-wip-us.apache.org/repos/asf/incubator-edgent/blob/7b85f486/platform/java7/build.xml
----------------------------------------------------------------------
diff --git a/platform/java7/build.xml b/platform/java7/build.xml
index bc818a3..467796e 100644
--- a/platform/java7/build.xml
+++ b/platform/java7/build.xml
@@ -32,11 +32,19 @@
<property name="output.dir" location="classes.out"/>
<property name="test.classes.dir" location="classes.test"/>
<property name="ext.dir" location="${edgent}/ext"/>
+
+ <property name="slf4j.version" location="1.7.12"/>
+ <property name="gson.version" location="2.2.4"/>
+ <property name="metrics.version" location="3.1.2"/>
+
+ <property name="slf4j.ext.dir" location="slf4j-${slf4j.version}/"/>
+ <property name="gson.ext.dir" location="google-gson-${gson.version}/"/>
+ <property name="metrics.ext.dir" location="metrics-${metrics.version}/"/>
<path id="edgent.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"/>
+ <pathelement
location="${ext.dir}/${slf4j.ext.dir}slf4j-api-${slf4j.version}.jar"/>
+ <pathelement
location="${ext.dir}/${gson.ext.dir}gson-${gson.version}.jar"/>
+ <pathelement
location="${ext.dir}/${metrics.ext.dir}metrics-core-${metrics.version}.jar"/>
</path>
<property name="qcp" refid="edgent.classpath"/>
@@ -112,14 +120,26 @@
<retro7 qjar="edgent.runtime.jobregistry.jar" />
<retro7 qjar="edgent.utils.metrics.jar"
qdir="utils/metrics/lib" />
+ <!-- utils/streamscope - why not java7? -->
<retro7 qjar="edgent.providers.direct.jar" />
+ <!-- providers/development - why not java7? -->
<retro7 qjar="edgent.connectors.common.jar"
qdir="connectors/common/lib" />
<retro7 qjar="edgent.connectors.iot.jar"
qdir="connectors/iot/lib" />
<retro7 qjar="edgent.connectors.iotp.jar"
qdir="connectors/iotp/lib" />
<retro7 qjar="edgent.connectors.http.jar"
qdir="connectors/http/lib" />
<retro7 qjar="edgent.connectors.pubsub.jar"
qdir="connectors/pubsub/lib" />
+ <!-- connectors/command - why not java7? -->
+ <!-- connectors/csv - why not java7? -->
+ <!-- connectors/file - why not java7? -->
+ <!-- connectors/jdbc - why not java7? -->
+ <!-- connectors/mqtt - why not java7? -->
+ <!-- connectors/kafka - why not java7? -->
+ <!-- connectors/wsclient - why not java7? -->
+ <!-- connectors/javax.websocket-client - why not java7? -->
<retro7 qjar="edgent.apps.iot.jar" qdir="apps/iot/lib" />
<retro7 qjar="edgent.apps.runtime.jar" qdir="apps/runtime/lib"
/>
+ <!-- analytics/math3 - why not java7? -->
+ <!-- analytics/sensors - why not java7? -->
<retro7 qjar="edgent.providers.iot.jar" />
<retro7 qjar="edgent.samples.apps.jar" qdir="samples/lib" />
@@ -138,10 +158,16 @@
<copy todir="${edgent7.target}/connectors/iotp/ext">
<fileset dir="${edgent8.target}/connectors/iotp/ext"/>
</copy>
+ <mkdir dir="${edgent7.target}/connectors/http/ext"/>
+ <copy todir="${edgent7.target}/connectors/http/ext">
+ <fileset dir="${edgent8.target}/connectors/http/ext"/>
+ </copy>
+ <!-- why mqtt/ext when connectors/mqtt not included above? -->
<mkdir dir="${edgent7.target}/connectors/mqtt/ext"/>
<copy todir="${edgent7.target}/connectors/mqtt/ext">
<fileset dir="${edgent8.target}/connectors/mqtt/ext"/>
</copy>
+ <!-- why math3/ext when analytics/math3 not included above? -->
<mkdir dir="${edgent7.target}/analytics/math3/ext"/>
<copy todir="${edgent7.target}/analytics/math3/ext">
<fileset dir="${edgent8.target}/analytics/math3/ext"/>
@@ -242,13 +268,25 @@
<retro7.test.setup tdir="runtime/jsoncontrol" />
<retro7.test.setup tdir="runtime/jobregistry" />
<retro7.test.setup tdir="utils/metrics"
ldir="utils/metrics/lib"/>
+ <!-- utils/streamscope - why not java7? -->
<retro7.test.setup tdir="providers/direct" />
+ <!-- providers/development - why not java7? -->
<retro7.test.setup tdir="connectors/common"
ldir="connectors/common/lib"/>
<retro7.test.setup tdir="connectors/iotp"
ldir="connectors/iotp/lib"/>
<retro7.test.setup tdir="connectors/http"
ldir="connectors/http/lib"/>
<retro7.test.setup tdir="connectors/pubsub"
ldir="connectors/pubsub/lib"/>
+ <!-- connectors/command - why not java7? -->
+ <!-- connectors/csv - why not java7? -->
+ <!-- connectors/file - why not java7? -->
+ <!-- connectors/jdbc - why not java7? -->
+ <!-- connectors/mqtt - why not java7? -->
+ <!-- connectors/kafka - why not java7? -->
+ <!-- connectors/wsclient - why not java7? -->
+ <!-- connectors/javax.websocket-client - why not java7? -->
<retro7.test.setup tdir="apps/iot" ldir="apps/iot/lib"/>
<retro7.test.setup tdir="apps/runtime"
ldir="apps/runtime/lib"/>
+ <!-- analytics/math3 - why not java7? -->
+ <!-- analytics/sensors - why not java7? -->
</target>
<!--
@@ -272,13 +310,25 @@
<retro7.test.run tdir="runtime/jsoncontrol" />
<retro7.test.run tdir="runtime/jobregistry" />
<retro7.test.run tdir="utils/metrics"
ldir="utils/metrics/lib"/>
+ <!-- utils/streamscope - why not java7? -->
<retro7.test.run tdir="providers/direct" />
+ <!-- providers/development - why not java7? -->
<retro7.test.run tdir="connectors/common"
ldir="connectors/common/lib"/>
<retro7.test.run tdir="connectors/iotp"
ldir="connectors/iotp/lib"/>
<retro7.test.run tdir="connectors/http"
ldir="connectors/http/lib"/>
<retro7.test.run tdir="connectors/pubsub"
ldir="connectors/pubsub/lib"/>
+ <!-- connectors/command - why not java7? -->
+ <!-- connectors/csv - why not java7? -->
+ <!-- connectors/file - why not java7? -->
+ <!-- connectors/jdbc - why not java7? -->
+ <!-- connectors/mqtt - why not java7? -->
+ <!-- connectors/kafka - why not java7? -->
+ <!-- connectors/wsclient - why not java7? -->
+ <!-- connectors/javax.websocket-client - why not java7? -->
<retro7.test.run tdir="apps/iot" ldir="apps/iot/lib"/>
<retro7.test.run tdir="apps/runtime" ldir="apps/runtime/lib"/>
+ <!-- analytics/math3 - why not java7? -->
+ <!-- analytics/sensors - why not java7? -->
</target>
<target name="clean">