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.gradle
pluginManagement { repositories { mavenLocal() gradlePluginPortal() } }
- Add the plugin
plugins { id 'com.loosebazooka.consolidate' version '0.0.1-SNAPSHOT' ...
- To include a subproject use
consolidate
instead ofimplementation
dependencies { consolidate project(':my-lib') // implementation project(':my-lib') ... }
- You should be able to import your project into your IDE (eclipse, intellij) as before