Release notes
Features
-
#140 - Make grolifant tasks configuration cache-safe.
-
#141 - XZ, MSI & DMG are provided as separate SPIs.
-
#146 - Add
provideValues(Provider)
,providesValuesDropNull(Map)
,provideValuesDropNull(Provider)
,stringizeValuesDropNull(Map)
methods. -
#152 - Add ability to control output to
ProvisionedExecMethods
. -
#153 - Allow role-focused configurations to be marked visible or invisible.
-
#154 -
StringTools.patternize
is not compatible with configuration cache. -
#156 - Make
Transform
utility public. -
#157 - Add conversion tools for byte arrays.
Bugs
-
#145 - Fix ExecTools on Gradle 7.x.
-
#147 - Make
ProvisionedExecMethods
CC-safe. -
#148 - Make
ProviderTools.getVersionProvider
CC-safe. -
#149 - Only update versionProvider in afterEvaluate if the subproject has the plugin applied.
-
#150 - Forward output in JVM processes even if there is an error.
-
#151 - API docs are incorrectly linked in index.
Breaking changes
-
Support for Gradle 4,5,6 dropped.
-
Top-level package is now called
org.ysb33r.grolifant5
. When upgrading to this, please rename allorg.ysb33r.grolifant
to the new package name. -
All methods in
ProjectOperations
that were deprecated in v.x or earlier have been removed. -
All task classes now implement
GrolifantTaskComponents
and directProjectOperations
access is now not allowed within a task. Methods fromGrolifantTaskComponents
should be used. This can be achieved by extendingGrilfantDefaultTask
instead ofDefaultTask
. AlternativelyGrolifantTaskComponents.from
can be used to create an instance to be placed within a task. -
ProvisionedExecMethods.getProjectOperations
has been dropped in favour ofProvisionedExecMethods.getConfigCacheSafeOperations
. -
All
exec
methods onProvisionedExecMethods
andExecMethods
now return Grolifant’sExecOutput
instead of Gradle’sExecResult
. -
It is now longer possible to set streams on
ProcessExecutionSpec
. Use new methodsforwardOutput
,forwardErrorOutput
andafterExecute
instead. -
xz
,dmg
andmsi
are no longer supported out of the box. Only.gz
,.bz2
,.zip
,.tar
,.tar.bz2
, andtar.gzip
is supported in core. Implementors that require these formats should place the appropriategrolifant5-unpacker-<EXT>
on the runtimn classpath of their plugins. Addinggrolifant5-unpacker-xz
as a runtime dependency will support.tar.xz
as well. -
Adds an extension called
grolifantOps
rather thangrolifant
. -
SimplePasswordCredentials
now implementsorg.gradle.api.credentials.PasswordCredentials
, rather thanorg.gradle.api.artifacts.repositories.PasswordCredentials
. If you need the latter then useSimpleRepositoryCredentials
. You can convert fromSimplePasswordCredentials
toSimpleRepositoryCredentials
using theasRepositoryCredentials
method.