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.
---