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

jamesfredley pushed a commit to branch add-missing-directories
in repository https://gitbox.apache.org/repos/asf/grails-forge.git

commit 1724d537a6ec22fc69913b068a65dad76fdbd4b9
Author: James Fredley <[email protected]>
AuthorDate: Fri May 23 11:55:55 2025 -0400

    add missing grails-app directories and update tests
---
 .../grails/forge/feature/grails/GrailsBase.java    |  7 +++++
 .../forge/feature/grails/GrailsBaseSpec.groovy     | 31 ++++++++++++++++++++++
 2 files changed, 38 insertions(+)

diff --git 
a/grails-forge-core/src/main/java/org/grails/forge/feature/grails/GrailsBase.java
 
b/grails-forge-core/src/main/java/org/grails/forge/feature/grails/GrailsBase.java
index d8097f3..bc00357 100644
--- 
a/grails-forge-core/src/main/java/org/grails/forge/feature/grails/GrailsBase.java
+++ 
b/grails-forge-core/src/main/java/org/grails/forge/feature/grails/GrailsBase.java
@@ -84,5 +84,12 @@ public class GrailsBase implements DefaultFeature {
         generatorContext.addTemplate("src/main/groovy", new 
URLTemplate("src/main/groovy/.gitkeep", classLoader.getResource(".gitkeep")));
         generatorContext.addTemplate("src/test/groovy", new 
URLTemplate("src/test/groovy/.gitkeep", classLoader.getResource(".gitkeep")));
         generatorContext.addTemplate("src/integration-test/groovy", new 
URLTemplate("src/integration-test/groovy/.gitkeep", 
classLoader.getResource(".gitkeep")));
+
+        generatorContext.addTemplate("grails-app/services", new 
URLTemplate("grails-app/services/.gitkeep", 
classLoader.getResource(".gitkeep")));
+        generatorContext.addTemplate("grails-app/domain", new 
URLTemplate("grails-app/domain/.gitkeep", classLoader.getResource(".gitkeep")));
+
+        if(generatorContext.getApplicationType() != ApplicationType.REST_API) {
+            generatorContext.addTemplate("grails-app/taglib", new 
URLTemplate("grails-app/taglib/.gitkeep", classLoader.getResource(".gitkeep")));
+        }
     }
 }
diff --git 
a/grails-forge-core/src/test/groovy/org/grails/forge/feature/grails/GrailsBaseSpec.groovy
 
b/grails-forge-core/src/test/groovy/org/grails/forge/feature/grails/GrailsBaseSpec.groovy
index 90dee08..630568c 100644
--- 
a/grails-forge-core/src/test/groovy/org/grails/forge/feature/grails/GrailsBaseSpec.groovy
+++ 
b/grails-forge-core/src/test/groovy/org/grails/forge/feature/grails/GrailsBaseSpec.groovy
@@ -25,6 +25,7 @@ import org.grails.forge.fixture.CommandOutputFixture
 import org.grails.forge.options.JdkVersion
 import org.grails.forge.options.Options
 import org.grails.forge.options.TestFramework
+import spock.lang.Unroll
 
 class GrailsBaseSpec extends BeanContextSpec implements CommandOutputFixture {
 
@@ -49,4 +50,34 @@ class GrailsBaseSpec extends BeanContextSpec implements 
CommandOutputFixture {
         output.containsKey("src/test/groovy/.gitkeep")
         output.containsKey("src/integration-test/groovy/.gitkeep")
     }
+
+    @Unroll
+    void "test domain, services and taglib directories are present for 
ApplicationTypes other than REST_API"() {
+        when:
+        final def output = generate(applicationType, new 
Options(TestFramework.SPOCK))
+
+        then:
+
+        output.containsKey("grails-app/services/.gitkeep")
+        output.containsKey("grails-app/domain/.gitkeep")
+        output.containsKey("grails-app/taglib/.gitkeep")
+
+        where:
+        applicationType << ApplicationType.values() - ApplicationType.REST_API
+    }
+
+    @Unroll
+    void "test domain and services directories are present for 
ApplicationType.REST_API"() {
+        when:
+        final def output = generate(applicationType, new 
Options(TestFramework.SPOCK))
+
+        then:
+
+        output.containsKey("grails-app/services/.gitkeep")
+        output.containsKey("grails-app/domain/.gitkeep")
+        !output.containsKey("grails-app/taglib/.gitkeep")
+
+        where:
+        applicationType << [ApplicationType.REST_API]
+    }
 }
\ No newline at end of file

Reply via email to