Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
9fb6826
Upgrade to Gradle 9.3.1
jamesfredley Jan 30, 2026
b8dfcfd
Upgrade grails-forge to Micronaut 4
jamesfredley Jan 30, 2026
df9f655
Fix deprecated archives configuration usage
jamesfredley Jan 30, 2026
852effb
Upgrade asciidoctor-gradle-jvm to 4.0.5
jamesfredley Jan 30, 2026
80ee39c
Remove unused imports in ApplicationContextCommandTask
jamesfredley Jan 30, 2026
dce09db
Fix implicit dependency validation error in grails-doc
jamesfredley Jan 30, 2026
0460397
Merge branch '8.0.x' into upgrade/gradle-9.3.1
jamesfredley Jan 31, 2026
4ea8427
Update Develocity plugin to 4.3.2 and CCUD plugin to 2.4.0
jamesfredley Jan 31, 2026
7ce8d2b
Fix Task.project invocation at execution time deprecations
jamesfredley Jan 31, 2026
64541cd
Fix deprecated task syntax in gradle-sample test resources
jamesfredley Jan 31, 2026
1dae938
Update Gradle wrapper files to 9.3.1
jamesfredley Jan 31, 2026
3409dfd
Merge branch '8.0.x' into upgrade/gradle-9.3.1
jamesfredley Feb 1, 2026
1eeb45f
Merge branch '8.0.x' into upgrade/gradle-9.3.1
jamesfredley Feb 1, 2026
081028b
Merge remote-tracking branch 'origin/8.0.x' into upgrade/gradle-9.3.1
jamesfredley Feb 26, 2026
a0cd73a
Merge remote-tracking branch 'origin/8.0.x' into upgrade/gradle-9.3.1
jamesfredley Mar 20, 2026
66f6229
Upgrade to Gradle 9.4.1 and Micronaut Platform 4.10.10
jamesfredley Mar 20, 2026
5afdf6d
Merge branch '8.0.x' into upgrade/gradle-9.3.1
jamesfredley Mar 21, 2026
34c0f9d
Merge branch '8.0.x' into upgrade/gradle-9.3.1
jamesfredley Mar 21, 2026
b5a833a
fix: add @DisableCachingByDefault for Gradle 9 plugin validation
jamesfredley Mar 21, 2026
53a5312
Merge branch '8.0.x' into upgrade/gradle-9.3.1
jamesfredley Mar 21, 2026
f235047
Merge remote-tracking branch 'origin/8.0.x' into upgrade/gradle-9.3.1
jamesfredley Mar 30, 2026
6949ed3
Merge branch '8.0.x' into upgrade/gradle-9.3.1
jamesfredley Mar 31, 2026
912f185
Merge branch '8.0.x' into upgrade/gradle-9.3.1
jamesfredley Apr 15, 2026
38620a9
Address PR #15365 review comments and Gradle 9 compatibility fixes
jamesfredley Apr 15, 2026
49d6418
Fix CI compilation failure and bump dependency versions
jamesfredley Apr 15, 2026
8eef136
Fix return type mismatch in GrailsPluginGradlePlugin.createBuildPrope…
jamesfredley Apr 15, 2026
4c028a8
Fix Gradle 9 project() method removal in PluginDefiner and codenarc v…
jamesfredley Apr 15, 2026
237527b
Fix CI failures: restore Java compilation and align OpenTelemetry ver…
jamesfredley Apr 16, 2026
0196bd2
build: bootstrap Gradle plugin repositories
matrei Apr 24, 2026
e1f3013
Address PR review feedback: telemetry override, forge BOM adoption, p…
jamesfredley Apr 24, 2026
8fd88b8
Merge remote-tracking branch 'origin/8.0.x' into upgrade/gradle-9.3.1
jamesfredley Apr 24, 2026
9a39c79
Fix CI failures from grails-publish 1.0.0-SNAPSHOT and stale codehaus…
jamesfredley Apr 24, 2026
876a8fc
Merge branch '8.0.x' into upgrade/gradle-9.3.1
jamesfredley Apr 24, 2026
fe527d1
Merge gradle-plugin-bootstrap (#15597) and drop inline pluginManageme…
jamesfredley Apr 25, 2026
5d21fc3
Drop redundant explanatory comments flagged in PR #15365 review
jamesfredley Apr 25, 2026
dae431d
Drop forge jakartaInjectVersion override and let micronaut-platform m…
jamesfredley Apr 25, 2026
0143553
Drop forge groovyVersion override and let micronaut-platform manage it
jamesfredley Apr 25, 2026
cc2f85f
Derive gradle-groovy.version from GroovySystem.version
jamesfredley Apr 25, 2026
d9a2181
Make issue-11767 spring-config-metadata merge properly cacheable
jamesfredley Apr 25, 2026
ccafe2b
Align selenium with Spring Boot 4.0.5 BOM and drop OpenTelemetry over…
jamesfredley Apr 25, 2026
735ce32
Revert gradle-groovy.version to hard-coded 4.0.31
jamesfredley Apr 25, 2026
0314d5f
Apply micronaut-platform BOM to forge documentation configuration
jamesfredley Apr 25, 2026
9f4831f
Drop forge-core jackson-databind version override and let micronaut-p…
jamesfredley Apr 25, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .sdkmanrc
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@
java=17.0.18-librca
# Keep gradle version synced with gradle.properties (gradleToolingApiVersion), all gradle-wrapper.properties files,
Comment thread
jamesfredley marked this conversation as resolved.
Outdated
# and grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/build/gradle/templates/gradleWrapperProperties.rocker.raw
gradle=8.14.4
gradle=9.3.1

9 changes: 4 additions & 5 deletions build-logic/docs-core/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,9 @@ apply {
dependencies {
gradleConf gradleApi()

// grails-docs classes are used in Gradle builds,
// so we must compile with Groovy 3 until Gradle upgrades to Groovy 4.
compileOnly "org.codehaus.groovy:groovy:${GroovySystem.version}"
compileOnly "org.codehaus.groovy:groovy-ant:${GroovySystem.version}"
// grails-docs classes are used in Gradle builds, using Gradle's embedded Groovy version
compileOnly "org.apache.groovy:groovy:${GroovySystem.version}"
compileOnly "org.apache.groovy:groovy-ant:${GroovySystem.version}"

api "org.apache.commons:commons-text:${gradleBomDependencyVersions['commons-text.version']}"
api "org.apache.ant:ant:${gradleBomDependencyVersions['ant.version']}"
Expand All @@ -56,7 +55,7 @@ dependencies {
transitive = false
}

testImplementation "org.codehaus.groovy:groovy-test-junit5:${GroovySystem.version}"
testImplementation "org.apache.groovy:groovy-test-junit5:${GroovySystem.version}"
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.12.2'
testImplementation 'org.junit.platform:junit-platform-runner:1.12.2'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher:1.12.2'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
*/
package grails.doc.ant

import groovy.ant.AntBuilder
import org.apache.tools.ant.BuildException
import org.apache.tools.ant.Project
import org.apache.tools.ant.Task
Expand Down
2 changes: 1 addition & 1 deletion build-logic/gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# and grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/build/gradle/templates/gradleWrapperProperties.rocker.raw
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.4-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-9.3.1-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,7 @@ class SbomPlugin implements Plugin<Project> {
'pkg:maven/org.jline/jline@3.23.0?type=jar' : 'BSD-2-Clause', // maps incorrectly because of https://github.com/CycloneDX/cyclonedx-core-java/issues/205
'pkg:maven/org.liquibase.ext/liquibase-hibernate5@4.27.0?type=jar': 'Apache-2.0', // maps incorrectly because of https://github.com/liquibase/liquibase/issues/2445 & the base pom does not define a license
'pkg:maven/com.oracle.coherence.ce/coherence-bom@25.03.1?type=pom': 'UPL-1.0', // does not have map based on license id
'pkg:maven/com.oracle.coherence.ce/coherence-bom@25.03.2?type=pom': 'UPL-1.0', // does not have map based on license id
'pkg:maven/com.oracle.coherence.ce/coherence-bom@22.06.2?type=pom': 'UPL-1.0', // does not have map based on license id
'pkg:maven/opensymphony/sitemesh@2.6.0?type=jar' : 'OpenSymphony', // custom license approved by legal LEGAL-707
'pkg:maven/org.jruby/jzlib@1.1.5?type=jar' : 'BSD-3-Clause'// https://web.archive.org/web/20240822213507/http://www.jcraft.com/jzlib/LICENSE.txt shows it's a 3 clause
Expand Down
2 changes: 1 addition & 1 deletion dependencies.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ ext {
'byte-buddy.version' : '1.17.7',
'commons-text.version' : '1.13.1',
'directory-watcher.version' : '0.19.1',
'gradle-spock.version' : '2.3-groovy-3.0',
'gradle-spock.version' : '2.3-groovy-4.0',
'grails-publish-plugin.version' : '0.0.4',
'jansi.version' : '1.18',
'javaparser-core.version' : '3.27.0',
Expand Down
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ expectitCoreVersion=0.9.0
gparsVersion=1.2.1
# Keep gradle version synced with .sdkmanrc, all gradle-wrapper.properties files,
# and grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/build/gradle/templates/gradleWrapperProperties.rocker.raw
gradleToolingApiVersion=8.14.4
gradleToolingApiVersion=9.3.1
hibernate5Version=5.6.15.Final
javassistVersion=3.30.2-GA
jnrPosixVersion=3.1.20
Expand Down
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# and grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/build/gradle/templates/gradleWrapperProperties.rocker.raw
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.4-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-9.3.1-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
Expand Down
6 changes: 5 additions & 1 deletion grails-data-hibernate5/docs/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,12 @@ ext {

configurations {
documentation {
canBeConsumed = false
canBeResolved = true
attributes {
attribute(Bundling.BUNDLING_ATTRIBUTE, (Bundling) (objects.named(Bundling, 'external')))
attribute(Category.CATEGORY_ATTRIBUTE, objects.named(Category, Category.LIBRARY))
attribute(Bundling.BUNDLING_ATTRIBUTE, objects.named(Bundling, Bundling.EXTERNAL))
attribute(Usage.USAGE_ATTRIBUTE, objects.named(Usage, Usage.JAVA_RUNTIME))
}
}
}
Expand Down
6 changes: 5 additions & 1 deletion grails-data-mongodb/docs/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,12 @@ ext {

configurations {
documentation {
canBeConsumed = false
canBeResolved = true
attributes {
attribute(Bundling.BUNDLING_ATTRIBUTE, (Bundling) (objects.named(Bundling, 'external')))
attribute(Category.CATEGORY_ATTRIBUTE, objects.named(Category, Category.LIBRARY))
attribute(Bundling.BUNDLING_ATTRIBUTE, objects.named(Bundling, Bundling.EXTERNAL))
attribute(Usage.USAGE_ATTRIBUTE, objects.named(Usage, Usage.JAVA_RUNTIME))
}
}
}
Expand Down
12 changes: 8 additions & 4 deletions grails-data-neo4j/docs/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -38,17 +38,21 @@ apply plugin: 'org.asciidoctor.jvm.convert'

configurations {
documentation {
canBeConsumed = false
canBeResolved = true
attributes {
attribute(Bundling.BUNDLING_ATTRIBUTE, (Bundling) (objects.named(Bundling, 'external')))
attribute(Category.CATEGORY_ATTRIBUTE, objects.named(Category, Category.LIBRARY))
attribute(Bundling.BUNDLING_ATTRIBUTE, objects.named(Bundling, Bundling.EXTERNAL))
attribute(Usage.USAGE_ATTRIBUTE, objects.named(Usage, Usage.JAVA_RUNTIME))
}
}
}

dependencies {
documentation "org.fusesource.jansi:jansi:$jansiVersion"
documentation "org.codehaus.groovy:groovy"
documentation "org.codehaus.groovy:groovy-templates"
documentation "org.codehaus.groovy:groovy-dateutil"
documentation "org.apache.groovy:groovy"
documentation "org.apache.groovy:groovy-templates"
documentation "org.apache.groovy:groovy-dateutil"
documentation "com.github.javaparser:javaparser-core:$javaParserCoreVersion"
for (p in coreProjects) {
documentation "org.apache.grails:grails-datastore-$p:$datastoreVersion"
Expand Down
5 changes: 3 additions & 2 deletions grails-doc/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -318,8 +318,9 @@ tasks.register('dist', Zip).configure { Zip it ->
it.from(outputDir)
}

artifacts {
archives dist
// Make dist a direct dependency of assemble instead of using deprecated archives configuration
tasks.named('assemble').configure {
dependsOn(tasks.named('dist'))
}

// the groovy plugin is applied to this project, but we do not build a jar file since
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@

import org.gradle.api.Plugin;
import org.gradle.api.Project;
import org.gradle.api.internal.plugins.DslObject;
import org.gradle.api.plugins.ExtensionAware;
import org.gradle.api.plugins.JavaLibraryPlugin;
import org.gradle.api.plugins.JavaPluginConvention;
import org.gradle.api.plugins.JavaPluginExtension;
import org.gradle.api.tasks.SourceSet;
import org.gradle.api.tasks.SourceSetContainer;
import org.gradle.api.tasks.TaskProvider;
Expand Down Expand Up @@ -52,20 +52,20 @@ public void apply(Project project) {
project.getLayout().getBuildDirectory().dir("classes")
);

// Create own source set extension
SourceSetContainer sourceSets = project.getConvention().getPlugin(
JavaPluginConvention.class).getSourceSets();
// Create own source set extension using the modern JavaPluginExtension API
SourceSetContainer sourceSets = project.getExtensions()
.getByType(JavaPluginExtension.class).getSourceSets();
sourceSets.all(sourceSet -> processSourceSet(project, sourceSet, rockerConfig));

}

private static void processSourceSet(Project project, SourceSet sourceSet,
RockerConfiguration rockerConfig) {
// for each source set we will:
// 1) Add a new 'rocker' property to the source set
// 1) Add a new 'rocker' extension to the source set
RockerSourceSetProperty rockerProperty
= new RockerSourceSetProperty(project);
new DslObject(sourceSet).getConvention().getPlugins().put(
((ExtensionAware) sourceSet).getExtensions().add(
"rocker", rockerProperty);

// 2) Create a rocker task for this sourceSet following the gradle
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,10 @@
import org.gradle.api.Action;
import org.gradle.api.Project;
import org.gradle.api.tasks.SourceSet;
import org.gradle.util.ConfigureUtil;
import org.gradle.util.internal.ClosureBackedAction;

import java.io.File;
import java.util.Set;

/**
* The rocker property added to the {@link SourceSet}.
Expand All @@ -45,7 +48,7 @@ public TemplateDirectorySet getRocker() {
}

public RockerSourceSetProperty rocker(Closure<?> configureClosure) {
ConfigureUtil.configure(configureClosure, getRocker());
new ClosureBackedAction<>(configureClosure).execute(getRocker());
return this;
}

Expand All @@ -54,4 +57,24 @@ public RockerSourceSetProperty rocker(
configureAction.execute(getRocker());
return this;
}

// Delegate methods to TemplateDirectorySet for DSL compatibility
public RockerSourceSetProperty srcDir(Object srcDir) {
templateDirs.srcDir(srcDir);
return this;
}

public RockerSourceSetProperty srcDirs(Object... srcDirs) {
templateDirs.srcDirs(srcDirs);
return this;
}

public RockerSourceSetProperty setSrcDirs(Iterable<?> srcPaths) {
templateDirs.setSrcDirs(srcPaths);
return this;
}

public Set<File> getSrcDirs() {
return templateDirs.getSrcDirs();
}
}
15 changes: 8 additions & 7 deletions grails-forge/gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -23,27 +23,28 @@
title=Grails Application Forge
projectDesc=Generates Grails applications

# for forge build process which is a micronaut 3.x.x app with picocli
# for forge build process which is a micronaut 4.x.x app with picocli
grailsPublishGradleVersion=0.0.2
antVersion=1.10.15
antlr4Version=4.8-1!!
asciidoctorGradleJvmVersion=4.0.4
cglibVersion=3.3.0
byteBuddyVersion=1.15.11
commonsCompressVersion=1.27.1
gradleSdkvendorPluginVersion=3.0.0
groovyVersion=3.0.25
groovyVersion=4.0.30
Comment thread
jamesfredley marked this conversation as resolved.
Outdated
jacksonDatabindVersion=2.18.3
jakartaInjectVersion=1.0.5
jakartaInjectVersion=2.0.1
# match the jansi version in grails-bom
jansiVersion=1.18
javaDiffUtils=4.15
jgitVersion=6.10.0.202406032230-r
logbackClassicVersion=1.5.17
micronautApplicationPluginVersion=3.7.10
micronautBuildVersion=1.1.5
micronautApplicationPluginVersion=4.5.3
micronautBuildVersion=2.2.1
micronautDocsVersion=2.0.0
micronautGradlePlugins=5.4.10
micronautVersion=3.10.4
micronautVersion=4.10.7
nexusPublishVersion=1.3.0
nohttpGradleVersion=0.0.11
objenesisVersion=3.4
Expand All @@ -55,7 +56,7 @@ rockerVersion=2.2.1
shadowVersion=8.3.6
slf4jVersion=2.0.17
snakeyamlVersion=2.4
spockVersion=2.1-groovy-3.0
spockVersion=2.3-groovy-4.0
spotlessVersion=6.25.0
testRetryVersion=1.6.2
typesafeConfigVersion=1.4.3
Expand Down
4 changes: 2 additions & 2 deletions grails-forge/gradle/doc-config.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@ configurations.register('documentation') {
}

dependencies {
documentation "org.codehaus.groovy:groovy-templates:$groovyVersion"
documentation "org.codehaus.groovy:groovy-dateutil:$groovyVersion"
documentation "org.apache.groovy:groovy-templates:$groovyVersion"
documentation "org.apache.groovy:groovy-dateutil:$groovyVersion"
}

tasks.withType(Groovydoc).configureEach {
Expand Down
2 changes: 1 addition & 1 deletion grails-forge/gradle/micronaut-openapi-config.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ import groovy.transform.CompileStatic
def openApiOutputFile = layout.buildDirectory.file('generated/openapi/openapi.properties')
def openApiPropertiesTask = tasks.register('openApiProperties', WriteProperties)
openApiPropertiesTask.configure { WriteProperties it ->
it.outputFile(openApiOutputFile.get().asFile)
it.destinationFile.set(openApiOutputFile)
it.properties(
'swagger-ui.enabled': true,
'redoc.enabled': true,
Expand Down
10 changes: 9 additions & 1 deletion grails-forge/gradle/test-config.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,13 @@
* under the License.
*/

// Add JUnit Platform launcher dependency required by Gradle 9 for running tests
// Also add ByteBuddy for Spock mocking on Java 17+ (CGLIB doesn't support Java 17 class files)
dependencies {
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
Comment thread
jamesfredley marked this conversation as resolved.
Outdated
testImplementation "net.bytebuddy:byte-buddy:$byteBuddyVersion"
}

tasks.withType(Test).configureEach {
onlyIf {
![
Expand All @@ -34,7 +41,8 @@ tasks.withType(Test).configureEach {
}

environment('GRAILS_REPO_URL', uri(rootProject.layout.projectDirectory.dir('../build/local-maven')))
jvmArgs('-Duser.country=US', '-Duser.language=en')
jvmArgs('-Duser.country=US', '-Duser.language=en',
'--add-opens', 'java.base/java.lang=ALL-UNNAMED')
forkEvery = 100
maxParallelForks = Runtime.runtime.availableProcessors().intdiv(2) ?: 1
maxHeapSize = '2G'
Expand Down
2 changes: 1 addition & 1 deletion grails-forge/gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# and grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/build/gradle/templates/gradleWrapperProperties.rocker.raw
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.4-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-9.3.1-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
Expand Down
6 changes: 4 additions & 2 deletions grails-forge/grails-cli/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -124,8 +124,10 @@ shadowJarTask.configure { ShadowJar it ->
'about.html' // restatement of the Eclipse Distribution License - Version 1.0 for jakarta
)
}
// publish shadow jar separately from the regular library
artifacts { archives shadowJarTask }
// Make shadow jar a direct dependency of assemble instead of using deprecated archives configuration
tasks.named('assemble').configure {
dependsOn(shadowJarTask)
}

TaskProvider<CreateStartScripts> cliStartScripts = tasks.register('createCliStartScripts', CreateStartScripts)
cliStartScripts.configure { CreateStartScripts t ->
Expand Down
2 changes: 1 addition & 1 deletion grails-forge/grails-forge-analytics-postgres/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@
*/

plugins {
id 'com.gradleup.shadow'
id 'org.apache.grails.buildsrc.properties'
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The shadow plugin is used to create a fat jar, why was it removed?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verified safe to keep removed.

The io.micronaut.application 4.6.2 plugin owns the assembly lifecycle for this module (assemble, dockerfile, dockerfileNative, dockerBuild, dockerBuildNative). CI deploys grails-forge-analytics-postgres via dockerBuildNative (native image), not shadowJar - confirmed by grepping the deploy workflows: forge-deploy-{next,prev,prev-snapshot,release,snapshot}.yml all run ./gradlew grails-forge-analytics-postgres:test and grails-forge-analytics-postgres:dockerBuildNative, none of them invoke shadowJar.

The shadow plugin is still explicitly applied where it actually produces a fat jar (grails-cli, grails-cli-shadow).

Verified locally: gradle :grails-forge-analytics-postgres:assemble :grails-forge-analytics-postgres:dockerfile :grails-forge-analytics-postgres:dockerfileNative all succeed without the shadow plugin.

id 'io.micronaut.application' version "$micronautApplicationPluginVersion"
}
Expand All @@ -39,6 +38,7 @@ dependencies {
implementation "org.postgresql:postgresql:$postgresqlVersion"

runtimeOnly "ch.qos.logback:logback-classic:$logbackClassicVersion"
runtimeOnly 'io.micronaut:micronaut-jackson-databind'

testCompileOnly "io.micronaut:micronaut-inject-groovy:$micronautVersion"

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
import io.micronaut.scheduling.annotation.ExecuteOn;
import org.grails.forge.analytics.Generated;

import javax.transaction.Transactional;
import jakarta.transaction.Transactional;
import java.util.List;
import java.util.stream.Collectors;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
import org.grails.forge.options.JdkVersion;
import org.grails.forge.options.TestFramework;

import javax.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotBlank;
import java.time.LocalDateTime;
import java.util.Collections;
import java.util.Objects;
Expand Down
Loading
Loading