Upgrading from 3.x and 4.x

Artifacts are now prefixed with grolifant5 and not grolifant. Builds must be changes to use the new Maven coordinates.

Toplevel packages are now org.ysb33r.grolifant5. Update your source code to use the new packages.

Minimum support level is Gradle 7. grolifant70 & grolifant80 artifacts are JDK8 compatible. grolifant90 requires JDK17.

Remove any references to grolifant, grolifant40, grolifant50 and grolifant60 artifacts. Your Grolifant dependency list only requires

build.gradle
dependencies {
  api 'org.ysb33r.gradle:grolifant5-core:5.5.0-alpha.3'
  implementation 'org.ysb33r.gradle:grolifant5-rawhide:5.5.0-alpha.3' (1)
  runtimeOnly 'org.ysb33r.gradle:grolifant5-herd:5.5.0-alpha.3'
}
1 Only needed if you want to access the worker API directly from your plugin.

OR if you are using the version catalog

gradle/libs.versions.toml
[versions]
grolifant = "5.5.0-alpha.3"

[libraries]
grolifantApi = { module = "org.ysb33r.gradle:grolifant5-api", version.ref = "grolifant" }
grolifantRuntime = { module = "org.ysb33r.gradle:grolifant5-herd", version.ref = "grolifant" }
grolifantRawhide = { module = "org.ysb33r.gradle:grolifant5-rawhide", version.ref = "grolifant" } (1)
1 Only needed if you want to access the worker API directly from your plugin.

ProjectOperations

Remove references to ProjectOperations in task classes. If possible, derive your task hierarchy from GrolifantDefaultTask instead of DefaultTask. Where this is not possible, create an instance of ConfigCacheSafeOperations inside the task constructor using GrolifantTaskComponents.from.

If you upgrade to 5.5+, you’ll that ProjectOperations has been deprecated as a whole. You should do the following as part of this part of the upgrade:

  • If you used ProjectOperations.maybeCreateExtension, then apply the GolifantServicePlugin instead.

  • If you used ProjectOperations.find, look at which tools you used. If you do not need access to TaskTools, RepositoryTools or ConfigurationTools, use ConfigCacheSafeOperations.from, otherwise use ConfigurationPhaseOperations.from.

  • Also note that the grolifantOps extension is now an implementation of ConfigurationPhaseOperations and no longer an instance of ProjectOperations. As such, there are also a number of deprecated methods that need to be migrated. See migration of legacy methods for more details.

Upgrading from 2.x

Upgrade to 4.x first.

If you have still using any of the deprecated APIs from org.ysb33r.grolifant.api.v4, you need to change the code to use the new APIs in org.ysb33r.grolifant.api.core.

Upgrading from 1.x

Upgrade to 2.x first. See the legacy documentation. Then see the instructions for 4.x.