> On May 22, 2017, at 9:54 PM, John D. Ament <[email protected]> wrote:
> ...
> I'm trying to understand the current snapshot and release process for
> Edgent, specifically to make it so that we can easily publish JARs into
> maven central.
> ...
Yeah, the gradle stuff ended up that complicated as a result of preserving
certain behaviors of the original ant-based build, and being a gradle/maven
newbie. It would be great to be able to simplify it! [I wasn’t the author of
the ant builds.]
The binary build (current and previous) results in a layout of Edgent and 3rd
party jars:
java8/<component>/<edgent-jars>
[/ext/<component-dependent-3rd-party-jars>]
The generated Edgent jars include MANIFEST.MF/Class-Path for all immediate
edgent-jar dependencies and the component’s transitive external dependencies.
All are specified as relative
paths given the above layout.
Edgent applications need to only include an Edgent component that they directly
use on the their classpath. Internal and external transitive dependencies are
automatically handled by virtue of the manifests' classpath. In practice they
need only include the path to the Edgent provider jar (which
takes care of all of the core/lib Edgent jars), and then Edgent jars for
individual connectors or other
optional components. See [1].
The release mgmt guide [2] steps related to source-release and binary-release
bundle creation and signing are:
./gradlew -Dedgent.snapshotId=“” release
./gradlew signAll —no-daemon
See [2] for staging and publishing steps too.
Oh, and there was some additional complication as a result of preserving the
ability of Edgent-runtime developers to continue to use Eclipse without
switching to gradle and/or maven [3]
[1] “Building Applications” at the end of
https://edgent.apache.org/javadoc/latest/index.html
<https://edgent.apache.org/javadoc/latest/index.html>
[2]
https://cwiki.apache.org/confluence/display/EDGENT/Release+Manager%27s+Guide
<https://cwiki.apache.org/confluence/display/EDGENT/Release+Manager's+Guide>
[3]
https://github.com/apache/incubator-edgent/blob/master/DEVELOPMENT.md#using-eclipse
Hope that helps clarify things.
— Dale