2026_05_22
Make generated code compatible with Gradle 9 nullability annotations (#97).
2026_01_14
Small-ish version with 2 bug fixes:
- [FIX] fix
addDependency = false(#92, #93) - [FIX] Remove
kotlin-testdependency fromgratatouille-runtime(#95)
2025_12_25
Hotfix release to make it possible for plugins built with Gratatouille > 0.2.0 to work with the ones built with Gratatouille < 0.2.0 (#90)
2025_12_22
This release simplifies the Gradle configuration and adds support for generating Settings plugins, alongside a few other fixes.
plugins {
// Replace
id("com.gradleup.gratatouille.wiring")
// With
id("com.gradleup.gratatouille")
}Similarly, gratatouille-wiring-runtime is now just gratatouille-runtime:
dependencies {
// Replace
implementation("gratatouille-wiring-runtime")
// With
implementation("gratatouille-runtime")
}You'll also need to replace the package:
// Replace
import gratatouille.wiring.*
// With
import gratatouille.*Code generation is now enabled automatically if KSP is applied:
gratatouille {
// Remove
codeGeneration()
// If you need to configure some parameters, those are now top level:
// Replace
codeGeneration {
addDependencies = false
}
// With
addDependencies = false
}π·ββοΈ All changes:
- [NEW] Add support for settings plugins in #87
- [BREAKING] Merge the
com.gradleup.gratatouille.wiringand thecom.gradleup.gratatouilleplugins and simplifiy configuration in #84 - [FIX] Allow digits in the isolated classloader configuration name in #80
- [FIX] Remove json dependency in the wiring runtime in #82
- [FIX] Change configurations.all to configurations.configureEach in #81
2025_11_04
Maintenance release.
Brings back group and description in generated code because it's easy to configure everything in one place, add pluginLocalPublication() to make Gratatouille generated plugins work better when used in included builds and more lazy API usages courtesy of @simonlebras, many thanks π
- Use a named configuration for the tasks dependencies by @martinbonnin in #71
- Revert "Remove group and description (#69)" by @martinbonnin in #72
- Do not add path sensitivity annotations for internal properties by @martinbonnin in #73
- Do not include a timestamp in plugin markers by @martinbonnin in #74
- Add GratatouilleExtension.pluginLocalPublication() for included builds compatibility by @martinbonnin in #75
- Use lazy configuration for classpath by @simonlebras in #77
2025_08_27
- Fix a bug introduced in #55 where filtering the input files would lose the normalized path (#68)
- Remove
groupanddescriptionfrom the codegen. It is very easy to set those outside of Gratatouille (#69)
2025-08-20
- [NEW] Use logger API to report errors by @martinbonnin in #60
- [NEW] Add support for BuildServices in parameters (they still need to be registered ahead of time) by @martinbonnin in #63
- [NEW] Allow to use GPlugin for settings plugins by @martinbonnin in #66
- [FIX] Filter out directories from
GInputFilesby @martinbonnin in #55 - [FIX] Allow empty package name in plugin classes by @martinbonnin in #57
- [FIX] Reserve 'project' name by @martinbonnin in #59
2025-06-30
- Update boostrap version by @martinbonnin in #41
- Add a classifier and extension for generated gratatouille files by @martinbonnin in #52
- Update Librarian and Nmcp versions by @martinbonnin in #53
2025-06-11
- Cache classloaders in a build service (#39)
- Split the plugin in 3 different parts:
com.gradleup.gratatouillefor simple cases.com.gradleup.gratatouilleandcom.gradleup.gratatouille.tasksfor classloader isolation cases.
- Similarly, the runtimes are split:
gratatouille-wiring-runtimefor the wiring.gratatouille-tasks-runtimefor the tasks.
2025-05-31
- Add more log levels (#36)
- Add GClasspath (#37)
2025-05-14
- Remove kotlin top-level property by @martinbonnin in #32
- Multiple QOL improvements from trying to integrate Gratatouille in Apollo Kotlin by @martinbonnin in #34
- update publication to use the central portal by @martinbonnin in #35
2025-04-25
- Technical release to remove dependency on SNAPSHOT artifacts
2025-04-25
- Use
@Classpathfor classpath properties (#29) - Add support for injecting logger in task actions (#28)
2025-04-16
- Added
@GPlugin,@GExtensionand@GFileName - Made kotlinx.serialization support opt-in
- Simplify Gradle configuration with only one plugin
2024-09-03
- Fix isolation of input files
2024-09-03
- Added
com.gradleup.gratatouilleforbuildSrcand other use cases where classloader isolation isn't required. - Expose the normalized path in
GInputFiles