You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@edgent.apache.org by dlaboss <gi...@git.apache.org> on 2016/09/01 17:43:34 UTC
[GitHub] incubator-edgent pull request #184: Quarks-240 [gradle] release task: manife...
GitHub user dlaboss opened a pull request:
https://github.com/apache/incubator-edgent/pull/184
Quarks-240 [gradle] release task: manifest classpath, external deps, java7, android
- add building of edgent jar's manifest classpath
- add staging of projects' external dependencies (from maven cache) to target-dir
- add building/staging of java7 and android targets
- fixed a bug where java7 included the http connector but wasn't capturing the connector's external dependencies
- updated JAVA_SUPPORT.md and DEVELOPMENT.md
java8 samples now run from release-dir/tgz.
java7and android target dirs have the appropriate content
There are some staging/tgz differences vs ant script generated tgz:
- Staging of external jars is now flattened in "ext" dirs. With ant we had somewhat inconsistent and arbitrary intermediate dirs due to the way we happened to add ext jars to our git repo. e.g., ext/gson-2.2.4.jar vs ext/google-gson-2.2.4/gson-2.2.4.jar
- Some different ext jars are staged. With gradle we stage a declared external dependency's transitive dependencies as known to an external maven repository. With ant we only staged whatever we had manually added to our git repo. Observed differences in:
- connectors/http - slight version diff
- connectors/iotp - a worrysome difference is our dependency on watson-iot.jar ends up including a paho-mqtt-SNAPSHOT jar whereas our repo had a non-SNAPSHOT version
- connectors/javax.websocket-server - lots of extra things. the tgz shouldn't be including this project
- connectors/kafka - now has several extra jars
- gradle (correctly I think) doesn't stage ./console/servlets/lib/edgent.console.servlets.jar. Everything is in the console.war. Running a 'development provider' sample from a gradle generated tgz works fine wrt running a Console against the job.
- gradle (correctly I think) doesn't include connectors/javax.websocket-server in the tgz (fyi, that project includes lots of additional transitive ext jars vs ant)
TODOs (post-merge)
- task that runs all edgent tests against the jars (as ant build's "test" does)
- testing of java7,android targets
- building of android/{hardware,topology}
- figure out what's needed for notice/license info for external jars copied into tgz
- the paho-mqtt-SNAPSHOT thing
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/dlaboss/incubator-edgent manifestClasspath
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/incubator-edgent/pull/184.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #184
----
commit 5ad892666965376283e8675bfdd8319e0e214f37
Author: Dale LaBossiere <dl...@us.ibm.com>
Date: 2016-08-30T14:54:52Z
[WIP] Quarks-240 [gradle] manifest classpath and ext deps
- set manifest classpath (sans project's external deps)
- TODO stage core external dependency jars
- TODO stage project's external dependency jars
commit 76c1972c3dca40f21113f601495d473dd2332807
Author: Dale LaBossiere <dl...@us.ibm.com>
Date: 2016-08-30T21:00:32Z
handle external dependency staging and manifest-classpath
- rename copyJar => updateTargetDir
- rename ext_classpath => core_ext_dependencies
- add definitions of sample and test common external dependencies
- stage core external dependencies - note, no longer in subdirs under
ext
- stage sample common external dependencies
- stage each project's external dependencies
- add project's ext dependant jars to its manifest-classpath
- running samples from build/distributions/java8/... works
- running "./gradlew clean test reports" still works (though still
doesn't test target-dir jars)
- staging more project external dependency jars than ant scripts due to
very selective/specific nature or ant scripts vs gradle/maven
transistive dependencies
- staging of project's external dependencies (in <proj>/ext/...) is now
flat vs ant script due to how those external dependency jars were
located in the repository
- staging of common external jars (in targetDir/ext) is now flat vs and
script due to how those external dependency jars were located in the
repository
- TODO best practice of keeping version name in jars (edgent jars)
- TODO notice/license issue for external jars in the targetDir/tgz (none
present now)
- TODO connectors/iotp/ext is getting paho mqtt SNAPSHOT jar
- connectors/javax.websocket-server/ext has quite a bit more jars
- connectors/kafka/ext has quite a bit more jars
- TODO still getting undesired jar rebuilds due to DSTAMP/TSTAMP
- TODO run of mqtt, kafka, websocket tests
commit be8c935a1fc14dbae94196d3599b77d3d14acd6a
Author: Dale LaBossiere <dl...@us.ibm.com>
Date: 2016-08-30T22:18:33Z
add support for selective (e.g., "manual") test execution
commit 9924192006a2cb64f254546bf9c5d90a3208a4d4
Author: Dale LaBossiere <dl...@us.ibm.com>
Date: 2016-08-31T14:14:41Z
support use of --tests for specific test class/method selection
commit 7b85f486d38051a222403b26d47ee0118905ed25
Author: Dale LaBossiere <dl...@us.ibm.com>
Date: 2016-08-31T19:16:15Z
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
commit 434687002604f8f3e4d2c829e64499f7b3d826c3
Author: Dale LaBossiere <dl...@us.ibm.com>
Date: 2016-09-01T16:00:44Z
build java7 and android targets
- 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 build.gradle to platform/{android,java7}
- add dependencies for java7,android to build.gradle
With this commit, "./gradlew release" seems to correctly assemble java7
and android in the gradle targetDir.
TODO java7,android test
TODO building of android/{hardware,topology}
commit 6fd19bbcef9bb973d997685a827e127bec5e22a6
Author: Dale LaBossiere <dl...@us.ibm.com>
Date: 2016-09-01T16:24:21Z
remove some commentary noise
commit 3118af66956c55b5d3b54477751372fe6398a46d
Author: Dale LaBossiere <dl...@us.ibm.com>
Date: 2016-09-01T17:41:56Z
exclude some artifacts from tgz
- test/svt
- connectors/javax.websocket-server
----
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] incubator-edgent pull request #184: Quarks-240 [gradle] release task: manife...
Posted by asfgit <gi...@git.apache.org>.
Github user asfgit closed the pull request at:
https://github.com/apache/incubator-edgent/pull/184
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---