commit | 6437b2085e5ea83088c0b4e6e537fd4d381d0b2d | [log] [tgz] |
---|---|---|
author | Dale LaBossiere <dlaboss@us.ibm.com> | Wed Sep 14 15:00:46 2016 -0400 |
committer | Dale LaBossiere <dlaboss@us.ibm.com> | Wed Sep 14 15:00:46 2016 -0400 |
tree | 36ca7443198fd164fad77eeb7e3b33fc1dec60b5 | |
parent | 03e4a9cfe2e6820a8bc93bdc5775e9131b00d963 [diff] |
Edgent-240 [gradle] [WIP] Overhaul dependency specification and handling The upshot is to do like the ant-based scripts and specify inter-project, core-ext, and project-private-ext dependencies against jars in the target dir. The original conversion specified on inter-project dependencies on "projects" (hence their artifacts not in the target-dir) and that caused a host of issues. With the changes things like manifest-classpath generation are simplified and overall the gradle build now adhears to the policies: - Edgent projects depend on other project's jars in the target-dir, not their classes - Edgent project jars have a manifest-classpath that handles the project's "private" inter-project dependencies as well as the project's "private" external component dependencies. - We build a target dir that includes the project's jar as well as the project's external dependency jars - The tests compile and run against the project jars in the target dir (as external/integration test code would). Well bit more to do there. - The samples compile and run against the project jars in the target dir (as user code would). All seems fine including when building and testing with ANDROID_SDK_PLATFORM and DERBY_HOME set: - all tests pass (sans manual run of kafka tests) - sample scripts seem to run appropriately - console comes up TODOs - look into javadoc task warnings - test's classpath is still including its project's build/main/classes - edgent.android.{topology,hardware}.jar manifest classpath and the "android.jar" - compared to ant-build? More details of the changes... - define addTargetDirProjectJarDependency(), addTargetDirExtJarDependency(), addTargetDirCoreExtDependency(), addTargetDirCoreExtDependencies(), addProjectExtDependency() - change all build.gradle to use them - configure common sample dependencies in root build.gradle - adapt manifest classpath generation in light of above - rework how common_ext_dependencies files get added to target-dir/ext Other cleanup,etc - generate project jar/war directly into targetdir with the correct name (remove "copy/rename" of jar created by default far task) - fix ant -> gradle conversion of api/function project - add previously (benign) absent api/function dependency from api/topology - remove updateTargetDir task -- just add processing as "doLast" to the assemble task - other root build.gradle refactoring for hygiene - fix issues caused by kafka's transitive dependencies - update connectors:iotp to watson-iot:0.1.5 - initial motivation was to cleanup the fact that 0.1.1 had dependency on a mqttv3 SNAPSHOT version
Samples for the embedded streams API.