Consolidate subprojects in a single project when creating an artifact while still keeping third party dependencies separate.
Publish libraries for projects sharing a codebase without having to publish intermediate shared libraries.
None of the mess of assembly/shading.
This tool grew out of usage from the jib project as a way to share business logic between maven and gradle libraries without having to publish our shared libraries.
- Clone the project
- Install the plugin locally
$ ./gradlew publish - Add
mavenLocal()as a plugin source in yoursettings.gradlepluginManagement { repositories { mavenLocal() gradlePluginPortal() } }
- Add the plugin
plugins { id 'com.loosebazooka.consolidate' version '0.0.1-SNAPSHOT' ... - To include a subproject use
consolidateinstead ofimplementationdependencies { consolidate project(':my-lib') // implementation project(':my-lib') ... }
- You should be able to import your project into your IDE (eclipse, intellij) as before