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

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

commit 7f687312f38f243f1779a788a1c7dbe9409b06f4
Author: James Daugherty <[email protected]>
AuthorDate: Fri May 16 10:13:34 2025 -0400

    do not fail on find main class if the project is a grails plugin
---
 grails-geb/build.gradle                                   | 15 ---------------
 .../org/grails/gradle/plugin/run/FindMainClassTask.groovy |  7 +++++++
 2 files changed, 7 insertions(+), 15 deletions(-)

diff --git a/grails-geb/build.gradle b/grails-geb/build.gradle
index df15557a71..c6543ebdae 100644
--- a/grails-geb/build.gradle
+++ b/grails-geb/build.gradle
@@ -14,12 +14,6 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-
-import org.springframework.boot.gradle.tasks.bundling.BootArchive
-import org.springframework.boot.gradle.tasks.bundling.BootJar
-
-
-
 plugins {
     id 'java-library'
     id 'java-test-fixtures'
@@ -67,15 +61,6 @@ dependencies {
     compileOnly 'org.gebish:geb-spock'
 }
 
-// geb can't build a valid bootJar because it isn't an application, it's only 
a plugin
-tasks.withType(BootJar).configureEach {
-    it.enabled = false
-}
-
-tasks.withType(BootArchive).configureEach {
-    it.enabled = false
-}
-
 apply {
     // java-configuration must be applied first since tasks are now lazy 
registered
     from rootProject.layout.projectDirectory.file('gradle/java-config.gradle')
diff --git 
a/grails-gradle/plugins/src/main/groovy/org/grails/gradle/plugin/run/FindMainClassTask.groovy
 
b/grails-gradle/plugins/src/main/groovy/org/grails/gradle/plugin/run/FindMainClassTask.groovy
index 79713f75ff..d5e611a49f 100644
--- 
a/grails-gradle/plugins/src/main/groovy/org/grails/gradle/plugin/run/FindMainClassTask.groovy
+++ 
b/grails-gradle/plugins/src/main/groovy/org/grails/gradle/plugin/run/FindMainClassTask.groovy
@@ -31,6 +31,7 @@ import org.gradle.api.tasks.PathSensitivity
 import org.gradle.api.tasks.SourceSet
 import org.gradle.api.tasks.SourceSetOutput
 import org.gradle.api.tasks.TaskAction
+import org.grails.gradle.plugin.core.GrailsPluginGradlePlugin
 import org.grails.gradle.plugin.util.SourceSets
 import org.grails.io.support.MainClassFinder
 import org.springframework.boot.gradle.dsl.SpringBootExtension
@@ -124,6 +125,12 @@ class FindMainClassTask extends DefaultTask {
                 if (mainClass != null) {
                     mainClassFile.text = mainClass
                 } else {
+                    if (project.plugins.hasPlugin(GrailsPluginGradlePlugin)) {
+                        // this is ok if the project is a plugin because it's 
likely not going to be a runnable grails app
+                        project.logger.lifecycle("WARNING: this plugin project 
does not have an Application.class and thus the bootJar / bootRun will be 
invalid.")
+                        return null
+                    }
+
                     throw new RuntimeException("Could not find Application 
main class. Please set 'springBoot.mainClass' or disable BootJar & BootArchive 
tasks.")
                 }
             }

Reply via email to