Publishing Your Build Artifacts to the World
In order to collaborate with other developers, teams and projects, your software needs to be published in a standardised way. This session will cover the process of using Gradle to publish your software project to an artifact repository so that it can be consumed by another project; whether that project uses Gradle, Ivy or Maven for build.
Gradle 1.4 introduced a new, more powerful mechanism for publishing. The 'ivy-publish' and 'maven-publish' plugins give developers a powerful tool for choosing exactly how their software should be published; these will become the default mechanism in Gradle 2.0. Both the old and new methods of publishing will be covered in this session, with a focus on the features available in the new publishing plugins.
The following topics will be demonstrated by example:
- Publishing to Ivy and Maven repositories
- Publishing a standard java library or web application
- Adding extra artifacts to your publication
- Customising the generated Maven POM or Ivy descriptor
- Publishing multiproject builds
- Publishing non-Java projects
- Signing your artifacts for publication
For all topics we'll demonstrate a solution using Gradle 1.0 (where possible), but focus more on how these cases can be solved (usually better) with the new publishing plugins.
About Daz DeBoer
Daz has been a core member of the Gradle Inc. engineering team for over 6 years, helping take Gradle from an early-adopters tool into the mainstream. Over this time, he has been deeply involved in the delivery of a number of key features, including the improved dependency resolution cache, parallel build execution, and support for building native apps with Gradle.
Most recently, Daz has driven the design and implementation of 'Composite Builds' support in Gradle, providing a flexible mechanism for combining multiple Gradle builds into a single composite.
More About Daz »