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
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
[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 theGolifantServicePlugin
instead. -
If you used
ProjectOperations.find
, look at which tools you used. If you do not need access toTaskTools
,RepositoryTools
orConfigurationTools
, useConfigCacheSafeOperations.from
, otherwise useConfigurationPhaseOperations.from
. -
Also note that the
grolifantOps
extension is now an implementation ofConfigurationPhaseOperations
and no longer an instance ofProjectOperations
. 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.