This is an automated email from the ASF dual-hosted git repository.

jdaugherty pushed a commit to branch 7.0.x
in repository https://gitbox.apache.org/repos/asf/grails-core.git

commit 42f17f1d9dea97afb77a84e09a8de3619ce60c6b
Author: James Daugherty <[email protected]>
AuthorDate: Tue May 27 16:28:55 2025 -0400

    [skip ci] fix snapshot dependency validation
---
 .github/workflows/release.yml  |  3 +--
 grails-bom/build.gradle        | 18 ++++++++++++------
 grails-gradle/bom/build.gradle | 13 ++++++++++---
 3 files changed, 23 insertions(+), 11 deletions(-)

diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 1506125a68..4d16d41b9c 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -84,8 +84,7 @@ jobs:
           SIGNING_KEY: ${{ secrets.GPG_KEY_ID }}
         working-directory: 'grails-gradle'
         run: >
-          ./gradlew x
-          initializeSonatypeStagingRepository
+          ./gradlew initializeSonatypeStagingRepository
       - name: "📤 Publish Gradle Plugins"
         env:
           GRAILS_PUBLISH_RELEASE: 'true'
diff --git a/grails-bom/build.gradle b/grails-bom/build.gradle
index 708f981d99..72c553d12b 100644
--- a/grails-bom/build.gradle
+++ b/grails-bom/build.gradle
@@ -106,7 +106,11 @@ tasks.register('extractConstraints', 
ExtractDependenciesTask).configure { Extrac
     
it.dependsOn(project.tasks.named('generateMetadataFileForMavenPublication'), 
project.tasks.named('generatePomFileForMavenPublication'))
 }
 
-tasks.register('validateNoSnapshotDependencies').configure { Task it ->
+def validateNoSnapshotDependencies = 
tasks.register('validateNoSnapshotDependencies')
+validateNoSnapshotDependencies.configure { Task it ->
+    it.group = 'publishing'
+    it.description = 'Validates that no snapshot dependencies are present in 
the project when performing a release.'
+
     it.doLast {
         configurations.each { config ->
             config.allDependencies.each { dep ->
@@ -119,11 +123,13 @@ 
tasks.register('validateNoSnapshotDependencies').configure { Task it ->
 }
 
 if (ext.isReleaseBuild && ext.isPublishedExternal) {
-    tasks.named('generateMetadataFileForMavenPublication').configure {
-        dependsOn(tasks.named('validateNoSnapshotDependencies'))
-    }
-    tasks.named('generatePomFileForMavenPublication').configure {
-        dependsOn(tasks.named('validateNoSnapshotDependencies'))
+    project.afterEvaluate {
+        tasks.named('generateMetadataFileForMavenPublication').configure {
+            dependsOn(validateNoSnapshotDependencies)
+        }
+        tasks.named('generatePomFileForMavenPublication').configure {
+            dependsOn(validateNoSnapshotDependencies)
+        }
     }
 }
 
diff --git a/grails-gradle/bom/build.gradle b/grails-gradle/bom/build.gradle
index bc31e537af..e4ba65554d 100644
--- a/grails-gradle/bom/build.gradle
+++ b/grails-gradle/bom/build.gradle
@@ -60,7 +60,11 @@ dependencies {
     }
 }
 
-tasks.register('validateNoSnapshotDependencies').configure {
+def noSnapshotDependenciesTask = 
tasks.register('validateNoSnapshotDependencies')
+noSnapshotDependenciesTask.configure {
+    it.group = 'publishing'
+    it.description = 'Validates that no snapshot dependencies are present in 
the project when performing a release.'
+
     doLast {
         configurations.each { config ->
             config.allDependencies.each { dep ->
@@ -73,13 +77,16 @@ tasks.register('validateNoSnapshotDependencies').configure {
 }
 
 if (ext.isReleaseBuild && ext.isPublishedExternal) {
+project.afterEvaluate {
+    // after eval is required since publications aren't added until after 
evaluation
     tasks.named('generateMetadataFileForMavenPublication').configure {
-        dependsOn(tasks.named('validateNoSnapshotDependencies'))
+        dependsOn(noSnapshotDependenciesTask)
     }
     tasks.named('generatePomFileForMavenPublication').configure {
-        dependsOn(tasks.named('validateNoSnapshotDependencies'))
+        dependsOn(noSnapshotDependenciesTask)
     }
 }
+}
 
 Closure determinePropertyName = { String groupId, String artifactId, String 
version, boolean isBom ->
     Map<String, String> toSearch = isBom ? gradleBomPlatformDependencies : 
gradleBomDependencies

Reply via email to