Upgrading from 1.0 or older
There have been a number of significant changes in 2.0.
There is only plugin now, called org.ysb33r.ivypot
.
This must be applied to the root project and every subproject from which dependency metadata could be collected.
The DSL block of the syncRemoteRepositories
task is no longer used for configuration.
All configuration is now done in an ivypot
extension.
If you previously used a subproject to build the off-line repository, that project can no longer be used. All collection happens in the root project.
Just applying the plugin in a subproject is not enough - the root project must also be told to inspect the subproject.
This is done via the ivypot.projectsWithDependencies
predicate.
In a single project setup, this is not necessary and the mentioned DSL entry does not exist.
It is no longer possible to manually declare repositories in the syncRemoteRepositories
task.
In a single project or subprojects of a multi-projects all Ivy & Maven (except MavenLocal) repositories are automatically collected.
Certain repositories can be excluded via the ivypot.repositories.excludeByName
DSL entity.
For custom Ivy repositories, the ivypot.repositories,forIvy
DSL block must be used to define patterns.
By default, all configurations are included.
To only include certain configurations in a single project or subprojects of a multi-project, use ivypot.configurations.named
and ivypot.configurations.filter
.
Buildscript dependencies are no longer included.
If you really need this rare use case, you’ll need to define a configuration that extends buildscript.dependencies.classpath
.
There is no need for an additional plugin - everything is inside org.ysb33r.ivypot
.
Declare binary repositories in ivypot.binaryRepositories
and declare binaries in ivypot.cacheBinaries
.