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

jamesfredley pushed a commit to branch grails-plugin-not-grails-web
in repository https://gitbox.apache.org/repos/asf/grails-core.git

commit a27966d80e3d45afb7bb55e54cdfe06d2ed5b7c3
Author: James Fredley <[email protected]>
AuthorDate: Tue Oct 28 12:23:25 2025 -0400

    Update plugin logic and profile excludes for web plugin
    
    Refactored GrailsGradlePlugin to use else-if for GrailsWeb feature plugin 
application, ensuring correct plugin selection. Updated web-plugin profile.yml 
to exclude 'org.apache.grails.gradle.grails-web' from build plugins.
---
 .../grails/forge/feature/grails/GrailsGradlePlugin.java |  4 ++--
 .../org/grails/forge/feature/view/GrailsGspSpec.groovy  | 17 ++++++++++++++++-
 grails-profiles/web-plugin/profile.yml                  |  1 +
 3 files changed, 19 insertions(+), 3 deletions(-)

diff --git 
a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/grails/GrailsGradlePlugin.java
 
b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/grails/GrailsGradlePlugin.java
index 26843c3be8..1a3c040028 100644
--- 
a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/grails/GrailsGradlePlugin.java
+++ 
b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/grails/GrailsGradlePlugin.java
@@ -71,10 +71,10 @@ class GrailsGradlePlugin implements DefaultFeature {
 
         if (applicationType == ApplicationType.PLUGIN || applicationType == 
ApplicationType.WEB_PLUGIN) {
             
generatorContext.addBuildPlugin(GradlePlugin.builder().id("org.apache.grails.gradle.grails-plugin").useApplyPlugin(true).build());
-        }
-        if (generatorContext.getFeature(GrailsWeb.class).isPresent()) {
+        } else if (generatorContext.getFeature(GrailsWeb.class).isPresent()) {
             
generatorContext.addBuildPlugin(GradlePlugin.builder().id("org.apache.grails.gradle.grails-web").useApplyPlugin(true).build());
         }
+
         if (generatorContext.getFeature(GrailsGsp.class).isPresent()) {
             
generatorContext.addBuildPlugin(GradlePlugin.builder().id("org.apache.grails.gradle.grails-gsp").useApplyPlugin(true).build());
         }
diff --git 
a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/view/GrailsGspSpec.groovy
 
b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/view/GrailsGspSpec.groovy
index 262ee80262..e0f086b119 100644
--- 
a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/view/GrailsGspSpec.groovy
+++ 
b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/view/GrailsGspSpec.groovy
@@ -111,7 +111,22 @@ class GrailsGspSpec extends ApplicationContextSpec 
implements CommandOutputFixtu
         build.contains("implementation \"org.apache.grails:grails-gsp\"")
 
         where:
-        applicationType << [ApplicationType.WEB, ApplicationType.WEB_PLUGIN]
+        applicationType << [ApplicationType.WEB]
+    }
+
+    @Unroll
+    void "test grails-plugin gradle plugins and dependencies are present for 
#applicationType application"() {
+        when:
+        final def output = generate(applicationType, new 
Options(TestFramework.SPOCK))
+        final String build = output['build.gradle']
+
+        then:
+        build.contains('apply plugin: 
"org.apache.grails.gradle.grails-plugin"')
+        build.contains('apply plugin: "org.apache.grails.gradle.grails-gsp"')
+        build.contains("implementation \"org.apache.grails:grails-gsp\"")
+
+        where:
+        applicationType << [ApplicationType.WEB_PLUGIN]
     }
 
     @Unroll
diff --git a/grails-profiles/web-plugin/profile.yml 
b/grails-profiles/web-plugin/profile.yml
index ae03946403..b06220359e 100644
--- a/grails-profiles/web-plugin/profile.yml
+++ b/grails-profiles/web-plugin/profile.yml
@@ -35,5 +35,6 @@ build:
         - plugin
     excludes:
         - war
+        - org.apache.grails.gradle.grails-web
 
 

Reply via email to