Bootstrap
Single project
build.gradle
plugins {
id 'org.ysb33r.ivypot' version '2.0.2'
}
OR of you use version catalog
gradle/libs.versions.toml
[versions]
ivypot = "2.0.2"
[plugins]
ivypot = { id = "org.ysb33r.ivypot", version.ref = "ivypot" }
build.gradle
plugins {
id alias(libs.plugins.ivypot)
}
Multi-project
In a multi-project, the plugin MUST be applied to the root project and then to each subproject for which dependencies will be collection.
build.gradle (root)
plugins {
id 'org.ysb33r.ivypot' version '2.0.2'
}
subproject/build.gradle
plugins {
id 'org.ysb33r.ivypot'
}
OR of you use version catalog, confiugure libs.versions.toml
as above and your projects as
build.gradle (root)
plugins {
id alias(libs.plugins.ivypot)
}
subproject/build.gradle
plugins {
id alias(libs.plugins.ivypot)
}
Model
Two tasks are added to the root project namely generateRepoDescription
and syncRemoteRepositories
.
One extension called ivypot
is added to the root project and every subproject where the Ivypot plugin is applied.
The DSL of the extension will be slightly different depending on whether it is applied with a single project, a root project of a multi-project, or a subproject.