You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@grails.apache.org by jd...@apache.org on 2025/11/25 19:30:03 UTC
(grails-core) 01/01: Initial work for TestFramework->DevelopmentReloading
This is an automated email from the ASF dual-hosted git repository.
jdaugherty pushed a commit to branch forgeReloadingChanges
in repository https://gitbox.apache.org/repos/asf/grails-core.git
commit a6eec2ac7333dcacacdb7b6b025c6064e09761ef
Author: James Daugherty <jd...@jdresources.net>
AuthorDate: Thu Nov 20 16:06:03 2025 -0500
Initial work for TestFramework->DevelopmentReloading
---
grails-doc/src/en/guide/commandLine.adoc | 2 +-
.../analytics/postgres/AnalyticsController.java | 8 +--
.../forge/analytics/postgres/Application.java | 14 ++---
.../analytics/postgres/FeatureRepository.java | 4 +-
.../postgres/StoreGeneratedProjectStatsSpec.groovy | 10 ++-
.../grails/forge/api/ApplicationController.java | 2 +-
...estFramework.java => DevelopmentReloading.java} | 23 ++++---
...meworkDTO.java => DevelopmentReloadingDTO.java} | 64 +++++++------------
.../org/grails/forge/api/SelectOptionsDTO.java | 28 ++++-----
.../forge/api/analytics/GenerationListener.java | 2 +-
.../forge/api/create/AbstractCreateController.java | 6 +-
.../api/create/github/GitHubCreateController.java | 12 ++--
.../api/create/github/GitHubCreateOperation.java | 6 +-
.../api/create/github/GitHubCreateService.java | 6 +-
.../forge/api/create/zip/ZipCreateController.java | 22 +++----
.../forge/api/create/zip/ZipCreateOperation.java | 6 +-
.../org/grails/forge/api/diff/DiffController.java | 12 ++--
.../org/grails/forge/api/diff/DiffOperations.java | 8 +--
...java => DevelopmentReloadingSelectOptions.java} | 14 ++---
.../forge/api/preview/PreviewController.java | 10 +--
.../forge/api/preview/PreviewOperations.java | 6 +-
.../src/main/resources/select_options.properties | 2 +-
.../org/grails/forge/api/CreateClient.groovy | 12 ++--
.../groovy/org/grails/forge/api/DiffClient.groovy | 8 +--
.../grails/forge/api/FeatureControllerSpec.groovy | 22 +++----
.../org/grails/forge/api/PreviewClient.groovy | 4 +-
.../forge/api/ZipCreateControllerSpec.groovy | 4 +-
.../java/org/grails/forge/cli/Application.java | 4 +-
.../java/org/grails/forge/cli/CodeGenConfig.java | 14 ++---
.../grails/forge/cli/command/CreateCommand.java | 8 +--
...es.java => DevelopmentReloadingCandidates.java} | 8 +--
...ter.java => DevelopmentReloadingConverter.java} | 14 ++---
.../org/grails/forge/cli/CommandFixture.groovy | 5 +-
.../java/org/grails/forge/analytics/Generated.java | 10 +--
.../grails/forge/application/ContextFactory.java | 10 +--
.../generator/DefaultProjectGenerator.java | 2 +-
.../application/generator/GeneratorContext.java | 15 +++--
.../forge/build/gradle/GradleConfiguration.java | 6 +-
.../forge/build/gradle/GradleDependency.java | 10 ++-
...st.java => HasDefaultDevelopmentReloading.java} | 6 +-
.../grails/forge/defaults/LanguageDefaults.java | 14 ++---
.../java/org/grails/forge/diff/FeatureDiffer.java | 2 +-
.../org/grails/forge/feature/FeatureContext.java | 32 +++++-----
.../java/org/grails/forge/feature/Features.java | 12 ++--
.../build/gradle/templates/buildGradle.rocker.raw | 1 -
.../java/org/grails/forge/feature/cli.rocker.raw | 6 +-
.../forge/feature/database/TestContainers.java | 27 +++-----
.../org/grails/forge/feature/reloading/Jrebel.java | 6 ++
.../forge/feature/reloading/ReloadingFeature.java | 3 +
.../feature/reloading/SpringBootDevTools.java | 6 ++
.../org/grails/forge/feature/test/AssertJ.java | 68 ---------------------
.../forge/feature/test/AssertJValidator.java | 44 --------------
.../forge/feature/test/GebWithTestcontainers.java | 8 +--
.../feature/test/GebWithWebDriverBinaries.java | 6 +-
.../org/grails/forge/feature/test/Hamcrest.java | 68 ---------------------
.../forge/feature/test/HamcrestValidator.java | 44 --------------
.../java/org/grails/forge/feature/test/Junit.java | 70 ---------------------
.../org/grails/forge/feature/test/Mockito.java | 2 +-
.../forge/feature/test/MockitoValidator.java | 2 +-
.../java/org/grails/forge/feature/test/Spock.java | 17 +++---
.../org/grails/forge/feature/test/TestFeature.java | 71 ----------------------
.../feature/test/template/javaJunit.rocker.raw | 49 ---------------
.../options/AbstractJunitRockerModelProvider.java | 38 ------------
.../options/AbstractTestRockerModelProvider.java | 33 ----------
.../options/DefaultTestRockerModelProvider.java | 10 +--
.../forge/options/DevelopmentReloading.java} | 27 ++++----
.../org/grails/forge/options/FeatureFilter.java | 12 ++--
.../forge/options/JunitRockerModelProvider.java | 45 --------------
.../java/org/grails/forge/options/Language.java | 2 +-
.../java/org/grails/forge/options/Options.java | 48 +++++++--------
.../org/grails/forge/options/TestFramework.java | 46 ++------------
.../forge/options/TestRockerModelProvider.java | 9 +--
.../groovy/org/grails/forge/BuildBuilder.groovy | 14 ++---
.../dependencies/GradleConfigurationSpec.groovy | 3 +-
.../GradleDependencyComparatorSpec.groovy | 3 +-
.../grails/forge/build/gradle/GradleSpec.groovy | 13 ++--
.../feature/asciidoctor/AsciidoctorSpec.groovy | 5 +-
.../feature/assetPipeline/AssetPipelineSpec.groovy | 5 +-
.../feature/database/HibernateGormSpec.groovy | 5 +-
.../feature/database/TestContainersSpec.groovy | 22 ++-----
.../workflows/PlainGithubWorkflowSpec.groovy | 5 +-
.../forge/feature/grails/GrailsBaseSpec.groovy | 11 ++--
.../feature/grails/GrailsDefaultPluginsSpec.groovy | 5 +-
.../feature/grails/GrailsGradlePluginSpec.groovy | 5 +-
.../grailsProfiles/GrailsProfilesSpec.groovy | 5 +-
.../feature/grailsWrapper/GrailsWrapperSpec.groovy | 3 +-
.../feature/lang/GrailsApplicationSpec.groovy | 7 ++-
.../forge/feature/logging/LogbackSpec.groovy | 4 +-
.../migration/DatabaseMigrationPluginSpec.groovy | 5 +-
.../forge/feature/other/ShadePluginSpec.groovy | 3 +-
.../forge/feature/spring/SpringBootSpec.groovy | 5 +-
.../spring/SpringBootVirtualThreadsSpec.groovy | 5 +-
.../feature/spring/SpringResourcesSpec.groovy | 3 +-
.../feature/test/GebWithTestcontainersSpec.groovy | 5 +-
.../test/GebWithWebDriverBinariesSpec.groovy | 11 ++--
.../org/grails/forge/feature/test/JUnitSpec.groovy | 39 ------------
.../grails/forge/feature/view/GrailsGspSpec.groovy | 9 +--
.../forge/feature/view/json/ViewJsonSpec.groovy | 7 ++-
.../forge/feature/view/json/ViewMarkupSpec.groovy | 4 +-
.../grails/forge/feature/web/GrailsWebSpec.groovy | 5 +-
.../org/grails/forge/fixture/ContextFixture.groovy | 3 +-
.../grails/forge/options/TestFrameworkSpec.groovy | 13 ++--
.../options/TestRockerModelProviderSpec.groovy | 12 +---
.../org/grails/forge/utils/CommandSpec.groovy | 7 ++-
grails-test-examples/geb/grails-cli.yml | 2 +-
.../gsp-layout/grails-forge-cli.yml | 2 +-
.../gsp-sitemesh3/grails-forge-cli.yml | 2 +-
107 files changed, 434 insertions(+), 1080 deletions(-)
diff --git a/grails-doc/src/en/guide/commandLine.adoc b/grails-doc/src/en/guide/commandLine.adoc
index 25c20a77a6..dd958b6e3d 100644
--- a/grails-doc/src/en/guide/commandLine.adoc
+++ b/grails-doc/src/en/guide/commandLine.adoc
@@ -161,7 +161,7 @@ Here is an example of a "grails-forge-cli.yml" configuration for a default Grail
----
applicationType: web
defaultPackage: com.example
-testFramework: spock
+reloading: devtools
sourceLanguage: groovy
buildTool: gradle
gormImpl: gorm-hibernate5
diff --git a/grails-forge/grails-forge-analytics-postgres/src/main/java/org/grails/forge/analytics/postgres/AnalyticsController.java b/grails-forge/grails-forge-analytics-postgres/src/main/java/org/grails/forge/analytics/postgres/AnalyticsController.java
index e34efc3f8d..bda17b6d93 100644
--- a/grails-forge/grails-forge-analytics-postgres/src/main/java/org/grails/forge/analytics/postgres/AnalyticsController.java
+++ b/grails-forge/grails-forge-analytics-postgres/src/main/java/org/grails/forge/analytics/postgres/AnalyticsController.java
@@ -66,9 +66,9 @@ public class AnalyticsController {
return featureRepository.topGorm();
}
- @Get("/top/testFrameworks")
- List<TotalDTO> topTestFrameworks() {
- return featureRepository.topTestFrameworks();
+ @Get("/top/reloading")
+ List<TotalDTO> topReloading() {
+ return featureRepository.topReloading();
}
/**
@@ -83,7 +83,7 @@ public class AnalyticsController {
Application application = new Application(
generated.getType(),
generated.getGorm(),
- generated.getTestFramework(),
+ generated.getReloading(),
generated.getJdkVersion(),
generated.getGrailsVersion()
);
diff --git a/grails-forge/grails-forge-analytics-postgres/src/main/java/org/grails/forge/analytics/postgres/Application.java b/grails-forge/grails-forge-analytics-postgres/src/main/java/org/grails/forge/analytics/postgres/Application.java
index a76606ff4c..3bb94be0d0 100644
--- a/grails-forge/grails-forge-analytics-postgres/src/main/java/org/grails/forge/analytics/postgres/Application.java
+++ b/grails-forge/grails-forge-analytics-postgres/src/main/java/org/grails/forge/analytics/postgres/Application.java
@@ -23,9 +23,9 @@ import io.micronaut.core.annotation.NonNull;
import io.micronaut.core.annotation.Nullable;
import io.micronaut.data.annotation.*;
import org.grails.forge.application.ApplicationType;
+import org.grails.forge.options.DevelopmentReloading;
import org.grails.forge.options.GormImpl;
import org.grails.forge.options.JdkVersion;
-import org.grails.forge.options.TestFramework;
import javax.validation.constraints.NotBlank;
import java.time.LocalDateTime;
@@ -48,7 +48,7 @@ public class Application {
private Set<Feature> features = Collections.emptySet();
private final ApplicationType type;
private final GormImpl gorm;
- private final TestFramework testFramework;
+ private final DevelopmentReloading reloading;
private final JdkVersion jdkVersion;
private final String grailsVersion;
@DateCreated
@@ -58,12 +58,12 @@ public class Application {
public Application(
@NonNull ApplicationType type,
@NonNull GormImpl gorm,
- @NonNull TestFramework testFramework,
+ @NonNull DevelopmentReloading reloading,
@NonNull JdkVersion jdkVersion,
@NonNull @NotBlank String grailsVersion) {
this.type = Objects.requireNonNull(type, "Type cannot be null");
this.gorm = Objects.requireNonNull(gorm, "Gorm cannot be null");
- this.testFramework = Objects.requireNonNull(testFramework, "Test framework cannot be null");
+ this.reloading = Objects.requireNonNull(reloading, "Development Reloading cannot be null");
this.jdkVersion = Objects.requireNonNull(jdkVersion, "JDK version cannot be null");
this.grailsVersion = Objects.requireNonNull(grailsVersion, "Grails version cannot be null");
}
@@ -83,10 +83,10 @@ public class Application {
}
/**
- * @return The test framework
+ * @return The development reloading
*/
- public @NonNull TestFramework getTestFramework() {
- return testFramework;
+ public @NonNull DevelopmentReloading getDevelopmentReloading() {
+ return reloading;
}
/**
diff --git a/grails-forge/grails-forge-analytics-postgres/src/main/java/org/grails/forge/analytics/postgres/FeatureRepository.java b/grails-forge/grails-forge-analytics-postgres/src/main/java/org/grails/forge/analytics/postgres/FeatureRepository.java
index 14e60aa99e..94389bc1d7 100644
--- a/grails-forge/grails-forge-analytics-postgres/src/main/java/org/grails/forge/analytics/postgres/FeatureRepository.java
+++ b/grails-forge/grails-forge-analytics-postgres/src/main/java/org/grails/forge/analytics/postgres/FeatureRepository.java
@@ -72,9 +72,9 @@ public abstract class FeatureRepository implements CrudRepository<Feature, Long>
}
@ReadOnly
- List<TotalDTO> topTestFrameworks() {
+ List<TotalDTO> topReloading() {
return this.jdbcOperations
- .prepareStatement(query("test_framework", "application"),
+ .prepareStatement(query("reloading", "application"),
statement -> {
try (ResultSet resultSet = statement.executeQuery()) {
return resultSetToTotals(resultSet);
diff --git a/grails-forge/grails-forge-analytics-postgres/src/test/groovy/org/grails/forge/analytics/postgres/StoreGeneratedProjectStatsSpec.groovy b/grails-forge/grails-forge-analytics-postgres/src/test/groovy/org/grails/forge/analytics/postgres/StoreGeneratedProjectStatsSpec.groovy
index 8a4f5e6a1d..681b769642 100644
--- a/grails-forge/grails-forge-analytics-postgres/src/test/groovy/org/grails/forge/analytics/postgres/StoreGeneratedProjectStatsSpec.groovy
+++ b/grails-forge/grails-forge-analytics-postgres/src/test/groovy/org/grails/forge/analytics/postgres/StoreGeneratedProjectStatsSpec.groovy
@@ -23,7 +23,6 @@ import io.micronaut.context.env.Environment
import io.micronaut.core.annotation.NonNull
import io.micronaut.data.model.Pageable
import io.micronaut.data.model.query.builder.sql.Dialect
-import io.micronaut.data.runtime.config.SchemaGenerate
import io.micronaut.http.HttpStatus
import io.micronaut.http.annotation.Body
import io.micronaut.http.annotation.Post
@@ -31,11 +30,10 @@ import io.micronaut.http.client.annotation.Client
import org.grails.forge.analytics.Generated
import org.grails.forge.analytics.SelectedFeature
import org.grails.forge.application.ApplicationType
-import org.grails.forge.options.BuildTool
+import org.grails.forge.options.DevelopmentReloading
import org.grails.forge.options.JdkVersion
import org.grails.forge.options.GormImpl
import org.grails.forge.options.ServletImpl
-import org.grails.forge.options.TestFramework
import org.grails.forge.util.VersionInfo
import io.micronaut.test.extensions.spock.annotation.MicronautTest
import io.micronaut.test.support.TestPropertyProvider
@@ -77,7 +75,7 @@ class StoreGeneratedProjectStatsSpec extends Specification implements TestProper
ApplicationType.WEB,
GormImpl.HIBERNATE,
ServletImpl.TOMCAT,
- TestFramework.SPOCK,
+ DevelopmentReloading.DEVTOOLS,
JdkVersion.DEFAULT_OPTION
)
generated.setSelectedFeatures([new SelectedFeature("google-cloud-function")])
@@ -95,7 +93,7 @@ class StoreGeneratedProjectStatsSpec extends Specification implements TestProper
application.type == generated.type
application.gorm == generated.gorm
application.jdkVersion == generated.jdkVersion
- application.testFramework == generated.testFramework
+ application.reloading == generated.reloading
application.features.find { it.name == 'google-cloud-function' }
application.grailsVersion == VersionInfo.grailsVersion
application.dateCreated
@@ -116,7 +114,7 @@ class StoreGeneratedProjectStatsSpec extends Specification implements TestProper
gorm[0].name == 'HIBERNATE'
featureRepository.topBuildTools()
featureRepository.topJdkVersion()
- featureRepository.topTestFrameworks()
+ featureRepository.topReloading()
}
@Client("/analytics")
diff --git a/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/ApplicationController.java b/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/ApplicationController.java
index 4e20aec27d..c3182db1e4 100644
--- a/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/ApplicationController.java
+++ b/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/ApplicationController.java
@@ -231,7 +231,7 @@ public class ApplicationController implements ApplicationTypeOperations {
return new Options(null, GormImpl.DEFAULT_OPTION, ServletImpl.DEFAULT_OPTION, JdkVersion.DEFAULT_OPTION, getOperatingSystem(requestInfo.getUserAgent()));
}
- return new Options(filter.getTest() != null ? filter.getTest().toTestFramework() : null,
+ return new Options(filter.getReloading() != null ? filter.getReloading().toDevelopmentReloading() : null,
filter.getGorm() == null ? GormImpl.DEFAULT_OPTION : filter.getGorm(),
filter.getServlet() == null ? ServletImpl.DEFAULT_OPTION : filter.getServlet(),
filter.getJavaVersion() == null ? JdkVersion.DEFAULT_OPTION : filter.getJavaVersion(),
diff --git a/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/TestFramework.java b/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/DevelopmentReloading.java
similarity index 69%
copy from grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/TestFramework.java
copy to grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/DevelopmentReloading.java
index 6bfe7bd9f1..120d98631c 100644
--- a/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/TestFramework.java
+++ b/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/DevelopmentReloading.java
@@ -22,11 +22,12 @@ import io.micronaut.core.annotation.NonNull;
import java.util.Locale;
-public enum TestFramework {
- JUNIT,
- SPOCK;
+public enum DevelopmentReloading {
+ DEVTOOLS,
+ JREBEL,
+ NONE;
- static final TestFramework DEFAULT_OPTION = SPOCK;
+ static final DevelopmentReloading DEFAULT_OPTION = DEVTOOLS;
@Override
public String toString() {
@@ -38,14 +39,12 @@ public enum TestFramework {
return name().toLowerCase(Locale.ENGLISH);
}
- public org.grails.forge.options.TestFramework toTestFramework() {
- switch (this) {
- case SPOCK:
- return org.grails.forge.options.TestFramework.SPOCK;
- default:
- case JUNIT:
- return org.grails.forge.options.TestFramework.JUNIT;
- }
+ public org.grails.forge.options.DevelopmentReloading toDevelopmentReloading() {
+ return switch (this) {
+ case DEVTOOLS -> org.grails.forge.options.DevelopmentReloading.DEVTOOLS;
+ case JREBEL -> org.grails.forge.options.DevelopmentReloading.JREBEL;
+ default -> org.grails.forge.options.DevelopmentReloading.NONE;
+ };
}
}
diff --git a/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/TestFrameworkDTO.java b/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/DevelopmentReloadingDTO.java
similarity index 52%
rename from grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/TestFrameworkDTO.java
rename to grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/DevelopmentReloadingDTO.java
index 1871af476b..67abe4d6d2 100644
--- a/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/TestFrameworkDTO.java
+++ b/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/DevelopmentReloadingDTO.java
@@ -25,41 +25,28 @@ import io.micronaut.core.annotation.Introspected;
import io.micronaut.core.annotation.NonNull;
import io.micronaut.core.naming.Described;
import io.micronaut.core.naming.Named;
-import org.grails.forge.options.TestFramework;
-import org.grails.forge.util.NameUtils;
import io.swagger.v3.oas.annotations.media.Schema;
-
-import java.util.List;
-import java.util.stream.Collectors;
+import org.grails.forge.options.DevelopmentReloading;
+import org.grails.forge.util.NameUtils;
/**
- * DTO objects for {@link TestFramework}.
- *
- * @author graemerocher
- * @since 6.0.0
+ * DTO objects for {@link DevelopmentReloading}.
*/
-@Schema(name = "TestFrameworkInfo")
+@Schema(name = "DevelopmentReloadingInfo")
@Introspected
-public class TestFrameworkDTO extends Linkable implements Named, Described, Selectable<TestFramework> {
- static final String MESSAGE_PREFIX = GrailsForgeConfiguration.PREFIX + ".testFramework.";
+public class DevelopmentReloadingDTO extends Linkable implements Named, Described, Selectable<DevelopmentReloading> {
+ static final String MESSAGE_PREFIX = GrailsForgeConfiguration.PREFIX + ".developmentReloading.";
private final String name;
private final String description;
- private final LanguageDTO defaultLanguage;
- private final List<LanguageDTO> supportedLanguages;
- private final TestFramework value;
+ private final DevelopmentReloading value;
/**
- * @param testFramework The testFramework
+ * @param developmentReloading The developmentReloading
*/
- public TestFrameworkDTO(TestFramework testFramework) {
- this.value = testFramework;
- this.name = testFramework.toString();
- this.description = testFramework.name();
- this.defaultLanguage = new LanguageDTO(testFramework.getDefaultLanguage());
- this.supportedLanguages = testFramework.getSupportedLanguages()
- .stream()
- .map(LanguageDTO::new)
- .collect(Collectors.toList());
+ public DevelopmentReloadingDTO(DevelopmentReloading developmentReloading) {
+ this.value = developmentReloading;
+ this.name = developmentReloading.toString();
+ this.description = developmentReloading.name();
}
/**
@@ -68,54 +55,47 @@ public class TestFrameworkDTO extends Linkable implements Named, Described, Sele
*/
@Creator
@Internal
- TestFrameworkDTO(TestFramework value, String name, String description, LanguageDTO defaultLanguage, List<LanguageDTO> supportedLanguages) {
+ DevelopmentReloadingDTO(DevelopmentReloading value, String name, String description) {
this.value = value;
this.name = name;
this.description = description;
- this.defaultLanguage = defaultLanguage;
- this.supportedLanguages = supportedLanguages;
}
/**
* i18n constructor.
- * @param testFramework The type
+ * @param developmentReloading The type
* @param messageSource The message source
* @param messageContext The message context
*/
@Internal
- TestFrameworkDTO(TestFramework testFramework, MessageSource messageSource, MessageSource.MessageContext messageContext) {
- this.value = testFramework;
- this.name = testFramework.toString();
+ DevelopmentReloadingDTO(DevelopmentReloading developmentReloading, MessageSource messageSource, MessageSource.MessageContext messageContext) {
+ this.value = developmentReloading;
+ this.name = developmentReloading.toString();
this.description = messageSource.getMessage(MESSAGE_PREFIX + name + ".description", messageContext, NameUtils.getNaturalNameOfEnum(name));
- this.defaultLanguage = new LanguageDTO(testFramework.getDefaultLanguage());
- this.supportedLanguages = testFramework.getSupportedLanguages()
- .stream()
- .map(LanguageDTO::new)
- .collect(Collectors.toList());
}
@Override
- @Schema(description = "A description of the testFramework")
+ @Schema(description = "A description of the developmentReloading")
public String getDescription() {
return description;
}
@Override
- @Schema(description = "The name of the testFramework")
+ @Schema(description = "The name of the developmentReloading")
@NonNull
public String getName() {
return name;
}
@Override
- @Schema(description = "The value of the testFramework for select options")
+ @Schema(description = "The value of the developmentReloading for select options")
@NonNull
- public TestFramework getValue() {
+ public DevelopmentReloading getValue() {
return value;
}
@Override
- @Schema(description = "The label of the testFramework for select options")
+ @Schema(description = "The label of the developmentReloading for select options")
public String getLabel() {
return description;
}
diff --git a/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/SelectOptionsDTO.java b/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/SelectOptionsDTO.java
index 5373aac511..f25ee04940 100644
--- a/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/SelectOptionsDTO.java
+++ b/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/SelectOptionsDTO.java
@@ -24,7 +24,7 @@ import io.micronaut.core.annotation.Introspected;
import io.swagger.v3.oas.annotations.media.Schema;
import org.grails.forge.api.options.*;
import org.grails.forge.application.ApplicationType;
-import org.grails.forge.options.TestFramework;
+import org.grails.forge.options.DevelopmentReloading;
import org.grails.forge.options.*;
import java.util.Arrays;
@@ -45,8 +45,8 @@ public class SelectOptionsDTO {
private JdkVersionSelectOptions jdkVersion;
private LanguageSelectOptions lang;
-
- private TestFrameworkSelectOptions test;
+
+ private DevelopmentReloadingSelectOptions reloading;
private GormImplSelectOptions gorm;
@@ -59,13 +59,13 @@ public class SelectOptionsDTO {
public SelectOptionsDTO(ApplicationTypeSelectOptions type,
JdkVersionSelectOptions jdkVersion,
LanguageSelectOptions lang,
- TestFrameworkSelectOptions test,
+ DevelopmentReloadingSelectOptions reloading,
GormImplSelectOptions gorm,
ServletImplSelectOptions servlet) {
this.type = type;
this.jdkVersion = jdkVersion;
this.lang = lang;
- this.test = test;
+ this.reloading = reloading;
this.gorm = gorm;
this.servlet = servlet;
}
@@ -85,9 +85,9 @@ public class SelectOptionsDTO {
return lang;
}
- @Schema(description = "supported options for test frameworks")
- public TestFrameworkSelectOptions getTest() {
- return test;
+ @Schema(description = "supported options for development reloading")
+ public DevelopmentReloadingSelectOptions getReloading() {
+ return reloading;
}
@Schema(description = "supported options for GORM Implementation")
@@ -136,13 +136,13 @@ public class SelectOptionsDTO {
new LanguageDTO(Language.DEFAULT_OPTION, messageSource, messageContext)
);
- List<TestFrameworkDTO> testFrameworks = Arrays.stream(TestFramework.values())
- .map(it -> new TestFrameworkDTO(it, messageSource, messageContext))
+ List<DevelopmentReloadingDTO> developmentReloading = Arrays.stream(DevelopmentReloading.values())
+ .map(it -> new DevelopmentReloadingDTO(it, messageSource, messageContext))
.collect(Collectors.toList());
- TestFrameworkSelectOptions testFrameworkOpts = new TestFrameworkSelectOptions(
- testFrameworks,
- new TestFrameworkDTO(TestFramework.DEFAULT_OPTION, messageSource, messageContext)
+ DevelopmentReloadingSelectOptions developmentReloadingOpts = new DevelopmentReloadingSelectOptions(
+ developmentReloading,
+ new DevelopmentReloadingDTO(DevelopmentReloading.DEFAULT_OPTION, messageSource, messageContext)
);
List<GormImplDTO> gormImpls = Arrays.stream(GormImpl.values())
@@ -164,7 +164,7 @@ public class SelectOptionsDTO {
);
- return new SelectOptionsDTO(applicationOpts, jdkVersionOpts, languageOpts, testFrameworkOpts, gormImplOpts, servletImplOpts);
+ return new SelectOptionsDTO(applicationOpts, jdkVersionOpts, languageOpts, developmentReloadingOpts, gormImplOpts, servletImplOpts);
}
}
diff --git a/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/analytics/GenerationListener.java b/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/analytics/GenerationListener.java
index 0ccb525baf..5a31e7f966 100644
--- a/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/analytics/GenerationListener.java
+++ b/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/analytics/GenerationListener.java
@@ -50,7 +50,7 @@ public class GenerationListener {
context.getApplicationType(),
context.getGorm(),
context.getServlet(),
- context.getTestFramework(),
+ context.getDevelopmentReloading(),
context.getJdkVersion()
);
generated.setSelectedFeatures(features);
diff --git a/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/create/AbstractCreateController.java b/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/create/AbstractCreateController.java
index d91c31b33a..a9cff83391 100644
--- a/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/create/AbstractCreateController.java
+++ b/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/create/AbstractCreateController.java
@@ -24,7 +24,7 @@ import io.micronaut.http.HttpHeaders;
import io.micronaut.http.HttpStatus;
import io.micronaut.http.annotation.Header;
import io.micronaut.http.exceptions.HttpStatusException;
-import org.grails.forge.api.TestFramework;
+import org.grails.forge.api.DevelopmentReloading;
import org.grails.forge.api.UserAgentParser;
import org.grails.forge.api.event.ApplicationGeneratingEvent;
import org.grails.forge.application.ApplicationType;
@@ -70,7 +70,7 @@ public abstract class AbstractCreateController {
@Pattern(regexp = "[\\w\\d-_\\.]+") String name,
@Nullable List<String> features,
@Nullable BuildTool buildTool,
- @Nullable TestFramework testFramework,
+ @Nullable DevelopmentReloading reloading,
@Nullable GormImpl gorm,
@Nullable ServletImpl servlet,
@Nullable JdkVersion javaVersion,
@@ -89,7 +89,7 @@ public abstract class AbstractCreateController {
generatorContext = projectGenerator.createGeneratorContext(
type,
project,
- new Options(testFramework != null ? testFramework.toTestFramework() : org.grails.forge.options.TestFramework.DEFAULT_OPTION,
+ new Options(reloading != null ? reloading.toDevelopmentReloading() : org.grails.forge.options.DevelopmentReloading.DEFAULT_OPTION,
gormImpl == null ? GormImpl.DEFAULT_OPTION : gormImpl,
servletImpl == null ? ServletImpl.DEFAULT_OPTION : servletImpl,
javaVersion == null ? JdkVersion.DEFAULT_OPTION : javaVersion,
diff --git a/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/create/github/GitHubCreateController.java b/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/create/github/GitHubCreateController.java
index 2fa9bcae1b..0915467212 100644
--- a/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/create/github/GitHubCreateController.java
+++ b/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/create/github/GitHubCreateController.java
@@ -36,7 +36,7 @@ import io.swagger.v3.oas.annotations.media.Content;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.responses.ApiResponses;
import org.grails.forge.api.RequestInfo;
-import org.grails.forge.api.TestFramework;
+import org.grails.forge.api.DevelopmentReloading;
import org.grails.forge.application.ApplicationType;
import org.grails.forge.client.github.v3.GitHubRepository;
import org.grails.forge.options.BuildTool;
@@ -78,14 +78,14 @@ public class GitHubCreateController implements GitHubCreateOperation {
* @param name The name of the application The name of the application
* @param features The features The chosen features
* @param build The build type (optional, defaults to Gradle)
- * @param test The test framework (optional, defaults to JUnit)
+ * @param reloading The reloading framework (optional, defaults to JUnit)
* @param gorm The GORM (optional, defaults to Hibernate)
* @param servlet The Servlet (optional, defaults to Embedded Tomcat)
* @param state An unguessable random string. It is used to protect against cross-site request forgery attacks.
* @return A json containing the generated application details.
*/
@Override
- @Get(uri = "/github/{type}/{name}{?features,gorm,servlet,build,test,javaVersion,code,state}", produces = MediaType.APPLICATION_JSON)
+ @Get(uri = "/github/{type}/{name}{?features,gorm,servlet,build,reloading,javaVersion,code,state}", produces = MediaType.APPLICATION_JSON)
@ApiResponses(value = {
@ApiResponse(
responseCode = "200",
@@ -109,7 +109,7 @@ public class GitHubCreateController implements GitHubCreateOperation {
@Pattern(regexp = "[\\w\\d-_\\.]+") String name,
@Nullable List<String> features,
@Nullable BuildTool build,
- @Nullable TestFramework test,
+ @Nullable DevelopmentReloading reloading,
@Nullable GormImpl gorm,
@Nullable ServletImpl servlet,
@Nullable JdkVersion javaVersion,
@@ -123,7 +123,7 @@ public class GitHubCreateController implements GitHubCreateOperation {
return HttpResponse.temporaryRedirect(redirectService.constructOAuthRedirectUrl(requestInfo));
} else {
GitHubRepository repository = gitHubCreateService.creatApp(
- type, name, features, build, test, gorm, servlet, javaVersion, code, state, userAgent);
+ type, name, features, build, reloading, gorm, servlet, javaVersion, code, state, userAgent);
if (launcherURI == null) {
return HttpResponse.ok(new GitHubCreateDTO(repository.getUrl(), repository.getCloneUrl(), repository.getHtmlUrl()));
@@ -150,7 +150,7 @@ public class GitHubCreateController implements GitHubCreateOperation {
* @param error error code
* @param errorDescription description
* @return Http redirects
- * @see <a href="https://docs.github.com/en/free-pro-team@latest/developers/apps/troubleshooting-oauth-app-access-token-request-errors">Troubleshooting OAuth App access token request errors</a>
+ * @see <a href="https://docs.github.com/en/free-pro-team@lareloading/developers/apps/troubleshooting-oauth-app-access-token-request-errors">Troubleshooting OAuth App access token request errors</a>
*/
@Get(uri = "/github{?error,error_description}", produces = MediaType.APPLICATION_JSON)
@ApiResponses(value = {
diff --git a/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/create/github/GitHubCreateOperation.java b/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/create/github/GitHubCreateOperation.java
index 845439c272..16e07d8353 100644
--- a/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/create/github/GitHubCreateOperation.java
+++ b/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/create/github/GitHubCreateOperation.java
@@ -24,7 +24,7 @@ import io.micronaut.http.HttpHeaders;
import io.micronaut.http.HttpResponse;
import io.micronaut.http.annotation.Header;
import org.grails.forge.api.RequestInfo;
-import org.grails.forge.api.TestFramework;
+import org.grails.forge.api.DevelopmentReloading;
import org.grails.forge.application.ApplicationType;
import org.grails.forge.options.BuildTool;
import org.grails.forge.options.GormImpl;
@@ -49,7 +49,7 @@ public interface GitHubCreateOperation {
* @param name The name of the application and GitHub repository
* @param features The features
* @param build The build tool
- * @param test The test framework
+ * @param reloading The development reloading option
* @param gorm The GORM
* @param servlet The Servlet
* @param javaVersion The java version
@@ -64,7 +64,7 @@ public interface GitHubCreateOperation {
@Pattern(regexp = "[\\w\\d-_\\.]+") String name,
@Nullable List<String> features,
@Nullable BuildTool build,
- @Nullable TestFramework test,
+ @Nullable DevelopmentReloading reloading,
@Nullable GormImpl gorm,
@Nullable ServletImpl servlet,
@Nullable JdkVersion javaVersion,
diff --git a/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/create/github/GitHubCreateService.java b/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/create/github/GitHubCreateService.java
index a013fae7f0..d64f394628 100644
--- a/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/create/github/GitHubCreateService.java
+++ b/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/create/github/GitHubCreateService.java
@@ -25,7 +25,7 @@ import io.micronaut.core.annotation.Nullable;
import io.micronaut.http.client.exceptions.HttpClientResponseException;
import jakarta.inject.Singleton;
import org.grails.forge.api.GrailsForgeConfiguration;
-import org.grails.forge.api.TestFramework;
+import org.grails.forge.api.DevelopmentReloading;
import org.grails.forge.api.create.AbstractCreateController;
import org.grails.forge.application.ApplicationType;
import org.grails.forge.application.generator.GeneratorContext;
@@ -92,7 +92,7 @@ public class GitHubCreateService extends AbstractCreateController {
@NonNull String name,
@Nullable List<String> features,
@Nullable BuildTool build,
- @Nullable TestFramework test,
+ @Nullable DevelopmentReloading reloading,
@Nullable GormImpl gorm,
@Nullable ServletImpl servlet,
@Nullable JdkVersion javaVersion,
@@ -105,7 +105,7 @@ public class GitHubCreateService extends AbstractCreateController {
GitHubUser gitHubUser = getGitHubUser(authToken);
GeneratorContext generatorContext = createProjectGeneratorContext(
- type, name, features, build, test, gorm, servlet, javaVersion, userAgent);
+ type, name, features, build, reloading, gorm, servlet, javaVersion, userAgent);
String repoName = generatorContext.getProject().getName();
String repoDescription = String.format("Grails %s Application", generatorContext.getProject().getNaturalName());
diff --git a/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/create/zip/ZipCreateController.java b/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/create/zip/ZipCreateController.java
index 74849ffea4..af775229a3 100644
--- a/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/create/zip/ZipCreateController.java
+++ b/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/create/zip/ZipCreateController.java
@@ -33,7 +33,7 @@ import io.micronaut.scheduling.TaskExecutors;
import io.micronaut.scheduling.annotation.ExecuteOn;
import io.swagger.v3.oas.annotations.media.Content;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
-import org.grails.forge.api.TestFramework;
+import org.grails.forge.api.DevelopmentReloading;
import org.grails.forge.api.create.AbstractCreateController;
import org.grails.forge.application.ApplicationType;
import org.grails.forge.application.Project;
@@ -86,14 +86,14 @@ public class ZipCreateController extends AbstractCreateController implements Zip
* @param name The name of the application The name of the application
* @param features The features The chosen features
* @param build The build tool
- * @param test The test framework
+ * @param reloading The development reloading option
* @param gorm The GORM
* @param servlet The Servlet
* @param javaVersion The java version
* @return A ZIP file containing the generated application.
*/
@Override
- @Get(uri = "/create/{type}/{name}{?features,gorm,build,test,javaVersion}", produces = MEDIA_TYPE_APPLICATION_ZIP)
+ @Get(uri = "/create/{type}/{name}{?features,gorm,build,reloading,javaVersion}", produces = MEDIA_TYPE_APPLICATION_ZIP)
@ApiResponse(
description = "A ZIP file containing the generated application.",
content = @Content(
@@ -105,12 +105,12 @@ public class ZipCreateController extends AbstractCreateController implements Zip
@Pattern(regexp = "[\\w\\d-_\\.]+") String name,
@Nullable List<String> features,
@Nullable BuildTool build,
- @Nullable TestFramework test,
+ @Nullable DevelopmentReloading reloading,
@Nullable GormImpl gorm,
@Nullable ServletImpl servlet,
@Nullable JdkVersion javaVersion,
@Nullable @Header(HttpHeaders.USER_AGENT) String userAgent) {
- return generateAppIntoZipFile(type, name, features, build, test, gorm, servlet, javaVersion, userAgent);
+ return generateAppIntoZipFile(type, name, features, build, reloading, gorm, servlet, javaVersion, userAgent);
}
/**
@@ -120,14 +120,14 @@ public class ZipCreateController extends AbstractCreateController implements Zip
* @param name The ZIP name
* @param features The features
* @param build The build tool
- * @param test The test framework
+ * @param reloading The development reloading option
* @param gorm The GORM
* @param servlet The Servlet
* @param javaVersion The java version
* @param userAgent The browser user-agent
* @return A Zip file containing the application
*/
- @Get(uri = "/{name}.zip{?type,features,gorm,servlet,build,test}", produces = MEDIA_TYPE_APPLICATION_ZIP)
+ @Get(uri = "/{name}.zip{?type,features,gorm,servlet,build,reloading}", produces = MEDIA_TYPE_APPLICATION_ZIP)
@ApiResponse(
description = "A ZIP file containing the generated application.",
content = @Content(
@@ -139,12 +139,12 @@ public class ZipCreateController extends AbstractCreateController implements Zip
@Pattern(regexp = "[\\w\\d-_]+") @NotBlank String name,
@Nullable List<String> features,
@Nullable BuildTool build,
- @Nullable TestFramework test,
+ @Nullable DevelopmentReloading reloading,
@Nullable GormImpl gorm,
@Nullable ServletImpl servlet,
@Nullable JdkVersion javaVersion,
@Nullable @Header("User-Agent") String userAgent) {
- return generateAppIntoZipFile(type, name, features, build, test, gorm, servlet, javaVersion, userAgent);
+ return generateAppIntoZipFile(type, name, features, build, reloading, gorm, servlet, javaVersion, userAgent);
}
public HttpResponse<Writable> generateAppIntoZipFile(
@@ -152,13 +152,13 @@ public class ZipCreateController extends AbstractCreateController implements Zip
@NotNull String name,
@Nullable List<String> features,
@Nullable BuildTool buildTool,
- @Nullable TestFramework testFramework,
+ @Nullable DevelopmentReloading reloading,
@Nullable GormImpl gorm,
@Nullable ServletImpl servlet,
@Nullable JdkVersion javaVersion,
@Nullable String userAgent) {
- GeneratorContext generatorContext = createProjectGeneratorContext(type, name, features, buildTool, testFramework, gorm, servlet, javaVersion, userAgent);
+ GeneratorContext generatorContext = createProjectGeneratorContext(type, name, features, buildTool, reloading, gorm, servlet, javaVersion, userAgent);
MutableHttpResponse<Writable> response = HttpResponse.created(new Writable() {
@Override
public void writeTo(OutputStream outputStream, @Nullable Charset charset) throws IOException {
diff --git a/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/create/zip/ZipCreateOperation.java b/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/create/zip/ZipCreateOperation.java
index 43dcf1131f..d42fae2e82 100644
--- a/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/create/zip/ZipCreateOperation.java
+++ b/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/create/zip/ZipCreateOperation.java
@@ -23,7 +23,7 @@ import io.micronaut.core.io.Writable;
import io.micronaut.http.HttpHeaders;
import io.micronaut.http.HttpResponse;
import io.micronaut.http.annotation.Header;
-import org.grails.forge.api.TestFramework;
+import org.grails.forge.api.DevelopmentReloading;
import org.grails.forge.application.ApplicationType;
import org.grails.forge.options.BuildTool;
import org.grails.forge.options.GormImpl;
@@ -48,7 +48,7 @@ public interface ZipCreateOperation {
* @param name The name of the application
* @param features The features
* @param build The build tool
- * @param test The test framework
+ * @param reloading The development reloading
* @param gorm The GORM
* @param servlet The Servlet
* @param javaVersion The java version
@@ -60,7 +60,7 @@ public interface ZipCreateOperation {
@Pattern(regexp = "[\\w\\d-_\\.]+") String name,
@Nullable List<String> features,
@Nullable BuildTool build,
- @Nullable TestFramework test,
+ @Nullable DevelopmentReloading reloading,
@Nullable GormImpl gorm,
@Nullable ServletImpl servlet,
@Nullable JdkVersion javaVersion,
diff --git a/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/diff/DiffController.java b/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/diff/DiffController.java
index 62f9c9c9e4..a470a55c2b 100644
--- a/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/diff/DiffController.java
+++ b/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/diff/DiffController.java
@@ -80,7 +80,7 @@ public class DiffController implements DiffOperations {
* @param type The application type
* @param feature The feature
* @param build The build tool
- * @param test The test framework
+ * @param reloading The development reloading
* @param gorm The GORM implementation
* @param servlet The Servlet implementation
* @param javaVersion The java version
@@ -98,7 +98,7 @@ public class DiffController implements DiffOperations {
@Nullable String name,
@NonNull @NotBlank String feature,
@Nullable BuildTool build,
- @Nullable TestFramework test,
+ @Nullable DevelopmentReloading reloading,
@Nullable GormImpl gorm,
@Nullable ServletImpl servlet,
@Nullable JdkVersion javaVersion,
@@ -109,7 +109,7 @@ public class DiffController implements DiffOperations {
try {
Project project = name != null ? NameUtils.parse(name) : this.project;
Options options = new Options(
- test != null ? test : TestFramework.DEFAULT_OPTION,
+ reloading != null ? reloading : DevelopmentReloading.DEFAULT_OPTION,
gorm != null ? gorm : GormImpl.DEFAULT_OPTION,
servlet != null ? servlet : ServletImpl.DEFAULT_OPTION,
javaVersion != null ? javaVersion : JdkVersion.DEFAULT_OPTION
@@ -137,7 +137,7 @@ public class DiffController implements DiffOperations {
* @param name The name of the application
* @param features The features
* @param build The build tool
- * @param test The test framework
+ * @param reloading The development reloading
* @param servlet The Servlet implementation
* @param requestInfo The request info
* @return An HTTP response that emits a writable
@@ -152,7 +152,7 @@ public class DiffController implements DiffOperations {
@Pattern(regexp = "[\\w\\d-_\\.]+") String name,
@Nullable List<String> features,
@Nullable BuildTool build,
- @Nullable TestFramework test,
+ @Nullable DevelopmentReloading reloading,
@Nullable GormImpl gorm,
@Nullable ServletImpl servlet,
@Nullable JdkVersion javaVersion,
@@ -162,7 +162,7 @@ public class DiffController implements DiffOperations {
try {
Project project = name != null ? NameUtils.parse(name) : this.project;
Options options = new Options(
- test != null ? test : TestFramework.DEFAULT_OPTION,
+ reloading != null ? reloading : DevelopmentReloading.DEFAULT_OPTION,
gorm != null ? gorm : GormImpl.DEFAULT_OPTION,
servlet != null ? servlet : ServletImpl.DEFAULT_OPTION,
javaVersion != null ? javaVersion : JdkVersion.DEFAULT_OPTION
diff --git a/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/diff/DiffOperations.java b/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/diff/DiffOperations.java
index 6249b23f45..609deb0b92 100644
--- a/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/diff/DiffOperations.java
+++ b/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/diff/DiffOperations.java
@@ -45,7 +45,7 @@ public interface DiffOperations {
* @param name The project name
* @param feature The feature
* @param build The build tool
- * @param test The test framework
+ * @param reloading The development reloading
* @param gorm The GORM implementation
* @param servlet The Servlet implementation
* @param javaVersion The java version
@@ -58,7 +58,7 @@ public interface DiffOperations {
@Nullable String name,
@NotBlank @NonNull String feature,
@Nullable BuildTool build,
- @Nullable TestFramework test,
+ @Nullable DevelopmentReloading reloading,
@Nullable GormImpl gorm,
@Nullable ServletImpl servlet,
@Nullable JdkVersion javaVersion,
@@ -71,7 +71,7 @@ public interface DiffOperations {
* @param name The name of the application
* @param features The features
* @param build The build tool
- * @param test The test framework
+ * @param reloading The reloading framework
* @param gorm The GORM implementation
* @param servlet The Servlet implementation
* @param javaVersion The java version
@@ -84,7 +84,7 @@ public interface DiffOperations {
@Nullable String name,
@Nullable List<String> features,
@Nullable BuildTool build,
- @Nullable TestFramework test,
+ @Nullable DevelopmentReloading reloading,
@Nullable GormImpl gorm,
@Nullable ServletImpl servlet,
@Nullable JdkVersion javaVersion,
diff --git a/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/options/TestFrameworkSelectOptions.java b/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/options/DevelopmentReloadingSelectOptions.java
similarity index 72%
rename from grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/options/TestFrameworkSelectOptions.java
rename to grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/options/DevelopmentReloadingSelectOptions.java
index 5960185d46..cdaf421ad6 100644
--- a/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/options/TestFrameworkSelectOptions.java
+++ b/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/options/DevelopmentReloadingSelectOptions.java
@@ -18,25 +18,25 @@
*/
package org.grails.forge.api.options;
-import org.grails.forge.api.SelectOptionDTO;
-import org.grails.forge.api.TestFrameworkDTO;
import io.swagger.v3.oas.annotations.media.Schema;
+import org.grails.forge.api.SelectOptionDTO;
+import org.grails.forge.api.DevelopmentReloadingDTO;
import java.util.List;
-@Schema(name = "TestFrameworkSelectOptions")
-public class TestFrameworkSelectOptions extends SelectOptionDTO<TestFrameworkDTO> {
- public TestFrameworkSelectOptions(List<TestFrameworkDTO> options, TestFrameworkDTO defaultOption) {
+@Schema(name = "DevelopmentReloadingSelectOptions")
+public class DevelopmentReloadingSelectOptions extends SelectOptionDTO<DevelopmentReloadingDTO> {
+ public DevelopmentReloadingSelectOptions(List<DevelopmentReloadingDTO> options, DevelopmentReloadingDTO defaultOption) {
super(options, defaultOption);
}
@Override
- public List<TestFrameworkDTO> getOptions() {
+ public List<DevelopmentReloadingDTO> getOptions() {
return super.getOptions();
}
@Override
- public TestFrameworkDTO getDefaultOption() {
+ public DevelopmentReloadingDTO getDefaultOption() {
return super.getDefaultOption();
}
}
diff --git a/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/preview/PreviewController.java b/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/preview/PreviewController.java
index ae20e133ec..1cb72a9b16 100644
--- a/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/preview/PreviewController.java
+++ b/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/preview/PreviewController.java
@@ -27,7 +27,7 @@ import io.micronaut.http.annotation.Get;
import io.micronaut.http.exceptions.HttpStatusException;
import org.grails.forge.api.Relationship;
import org.grails.forge.api.RequestInfo;
-import org.grails.forge.api.TestFramework;
+import org.grails.forge.api.DevelopmentReloading;
import org.grails.forge.api.create.AbstractCreateController;
import org.grails.forge.application.ApplicationType;
import org.grails.forge.application.Project;
@@ -72,19 +72,19 @@ public class PreviewController extends AbstractCreateController implements Previ
* @param name The name of the application The name of the application
* @param features The features The chosen features
* @param build The build type (optional, defaults to Gradle)
- * @param test The test framework (optional, defaults to JUnit)
+ * @param reloading the development reloading (jrebel, dev tools, none, etc)
* @param gorm The GORM (optional, defaults to Hibernate)
* @param servlet The Servlet (optional, defaults to Embedded Tomcat)
* @return A preview of the application contents.
*/
- @Get(uri = "/{type}/{name}{?features,gorm,servlet,build,test,javaVersion}", produces = MediaType.APPLICATION_JSON)
+ @Get(uri = "/{type}/{name}{?features,gorm,servlet,build,reloading,javaVersion}", produces = MediaType.APPLICATION_JSON)
@Override
public PreviewDTO previewApp(
ApplicationType type,
String name,
@Nullable List<String> features,
@Nullable BuildTool build,
- @Nullable TestFramework test,
+ @Nullable DevelopmentReloading reloading,
@Nullable GormImpl gorm,
@Nullable ServletImpl servlet,
@Nullable JdkVersion javaVersion,
@@ -95,7 +95,7 @@ public class PreviewController extends AbstractCreateController implements Previ
projectGenerator.generate(type,
project,
new Options(
- test != null ? test.toTestFramework() : null,
+ reloading != null ? reloading.toDevelopmentReloading() : null,
gorm == null ? GormImpl.DEFAULT_OPTION : gorm,
servlet == null ? ServletImpl.DEFAULT_OPTION : servlet,
javaVersion == null ? JdkVersion.DEFAULT_OPTION : javaVersion,
diff --git a/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/preview/PreviewOperations.java b/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/preview/PreviewOperations.java
index 8b49fe6a1d..e16700b32d 100644
--- a/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/preview/PreviewOperations.java
+++ b/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/preview/PreviewOperations.java
@@ -22,7 +22,7 @@ import io.micronaut.core.annotation.NonNull;
import io.micronaut.core.annotation.Nullable;
import io.swagger.v3.oas.annotations.Parameter;
import org.grails.forge.api.RequestInfo;
-import org.grails.forge.api.TestFramework;
+import org.grails.forge.api.DevelopmentReloading;
import org.grails.forge.application.ApplicationType;
import org.grails.forge.options.BuildTool;
import org.grails.forge.options.GormImpl;
@@ -40,7 +40,7 @@ public interface PreviewOperations {
* @param name The name of the application
* @param features The features
* @param build The build tool
- * @param test The test framework
+ * @param reloading The development reloading
* @param gorm The GORM
* @param servlet The Servlet
* @param javaVersion The java version
@@ -53,7 +53,7 @@ public interface PreviewOperations {
String name,
@Nullable List<String> features,
@Nullable BuildTool build,
- @Nullable TestFramework test,
+ @Nullable DevelopmentReloading reloading,
@Nullable GormImpl gorm,
@Nullable ServletImpl servlet,
@Nullable JdkVersion javaVersion,
diff --git a/grails-forge/grails-forge-api/src/main/resources/select_options.properties b/grails-forge/grails-forge-api/src/main/resources/select_options.properties
index 1ca9b9835c..ef0ccf9e8b 100644
--- a/grails-forge/grails-forge-api/src/main/resources/select_options.properties
+++ b/grails-forge/grails-forge-api/src/main/resources/select_options.properties
@@ -1 +1 @@
-grails.forge.testFramework.junit.description=JUnit
+grails.forge.developmentReloading.devtools.description=Dev Tools
diff --git a/grails-forge/grails-forge-api/src/test/groovy/org/grails/forge/api/CreateClient.groovy b/grails-forge/grails-forge-api/src/test/groovy/org/grails/forge/api/CreateClient.groovy
index 87a0702eb8..1e57b86aee 100644
--- a/grails-forge/grails-forge-api/src/test/groovy/org/grails/forge/api/CreateClient.groovy
+++ b/grails-forge/grails-forge-api/src/test/groovy/org/grails/forge/api/CreateClient.groovy
@@ -28,30 +28,30 @@ import org.grails.forge.options.Language
@Client('/')
interface CreateClient {
- @Get(uri = "/create/web/{name}{?features,build,test,lang}", consumes = "application/zip")
+ @Get(uri = "/create/web/{name}{?features,build,reloading,lang}", consumes = "application/zip")
byte[] createApp(
String name,
@Nullable List<String> features,
@Nullable BuildTool build,
- @Nullable TestFramework test,
+ @Nullable DevelopmentReloading reloading,
@Nullable Language lang
);
- @Get(uri = "/create/web/{name}{?features,build,test,lang}", consumes = "application/zip")
+ @Get(uri = "/create/web/{name}{?features,build,reloading,lang}", consumes = "application/zip")
HttpResponse<byte[]> createResponse(
String name,
@Nullable List<String> features,
@Nullable BuildTool build,
- @Nullable TestFramework test,
+ @Nullable DevelopmentReloading reloading,
@Nullable Language lang
);
- @Get(uri = "/{name}.zip{?features,build,test,lang}", consumes = "application/zip")
+ @Get(uri = "/{name}.zip{?features,build,reloading,lang}", consumes = "application/zip")
HttpResponse<byte[]> getZip(
String name,
@Nullable List<String> features,
@Nullable BuildTool build,
- @Nullable TestFramework test,
+ @Nullable DevelopmentReloading reloading,
@Nullable Language lang
);
}
diff --git a/grails-forge/grails-forge-api/src/test/groovy/org/grails/forge/api/DiffClient.groovy b/grails-forge/grails-forge-api/src/test/groovy/org/grails/forge/api/DiffClient.groovy
index 278c6259b5..5978ff297a 100644
--- a/grails-forge/grails-forge-api/src/test/groovy/org/grails/forge/api/DiffClient.groovy
+++ b/grails-forge/grails-forge-api/src/test/groovy/org/grails/forge/api/DiffClient.groovy
@@ -34,23 +34,23 @@ import javax.validation.constraints.NotNull
@Client('/diff')
interface DiffClient {
- @Get(uri = "/{type}/feature/{feature}{?lang,build,test,javaVersion,name}",
+ @Get(uri = "/{type}/feature/{feature}{?lang,build,reloading,javaVersion,name}",
consumes = MediaType.TEXT_PLAIN)
String diffFeature(
@NotNull ApplicationType type,
@Nullable String name,
@NotBlank @NonNull String feature,
@Nullable BuildTool build,
- @Nullable TestFramework test,
+ @Nullable DevelopmentReloading reloading,
@Nullable Language lang,
@Nullable JdkVersion javaVersion);
- @Get(uri = "/{type}/{name}{?features,lang,build,test,javaVersion}", consumes = MediaType.TEXT_PLAIN)
+ @Get(uri = "/{type}/{name}{?features,lang,build,reloading,javaVersion}", consumes = MediaType.TEXT_PLAIN)
String diffApp(ApplicationType type,
String name,
@Nullable List<String> features,
@Nullable BuildTool build,
- @Nullable TestFramework test,
+ @Nullable DevelopmentReloading reloading,
@Nullable Language lang,
@Nullable JdkVersion javaVersion);
}
diff --git a/grails-forge/grails-forge-api/src/test/groovy/org/grails/forge/api/FeatureControllerSpec.groovy b/grails-forge/grails-forge-api/src/test/groovy/org/grails/forge/api/FeatureControllerSpec.groovy
index f0e924a15f..9c1f371538 100644
--- a/grails-forge/grails-forge-api/src/test/groovy/org/grails/forge/api/FeatureControllerSpec.groovy
+++ b/grails-forge/grails-forge-api/src/test/groovy/org/grails/forge/api/FeatureControllerSpec.groovy
@@ -19,19 +19,17 @@
package org.grails.forge.api
-import com.fasterxml.jackson.core.JsonParser
import com.fasterxml.jackson.databind.ObjectMapper
import io.micronaut.http.HttpRequest
import io.micronaut.http.client.HttpClient
import io.micronaut.http.client.annotation.Client
-import io.micronaut.json.tree.JsonNode
import io.micronaut.test.extensions.spock.annotation.MicronautTest
import jakarta.inject.Inject
import org.grails.forge.application.ApplicationType
import org.grails.forge.options.FeatureFilter
import org.grails.forge.options.GormImpl
import org.grails.forge.options.JdkVersion
-import org.grails.forge.options.TestFramework
+import org.grails.forge.options.DevelopmentReloading
import org.grails.forge.options.ServletImpl
import spock.lang.Specification
@@ -50,7 +48,7 @@ class FeatureControllerSpec extends Specification {
List<FeatureDTO> features = applicationTypeClient
.features(ApplicationType.DEFAULT_OPTION,
RequestInfo.LOCAL,
- new FeatureFilter(test: TestFramework.DEFAULT_OPTION,
+ new FeatureFilter(reloading: DevelopmentReloading.DEFAULT_OPTION,
gorm: GormImpl.DEFAULT_OPTION,
servlet: ServletImpl.DEFAULT_OPTION,
javaVersion: JdkVersion.DEFAULT_OPTION)).features
@@ -64,7 +62,7 @@ class FeatureControllerSpec extends Specification {
List<FeatureDTO> communityFeatures = applicationTypeClient
.features(ApplicationType.DEFAULT_OPTION,
RequestInfo.LOCAL,
- new FeatureFilter(test: TestFramework.DEFAULT_OPTION,
+ new FeatureFilter(reloading: DevelopmentReloading.DEFAULT_OPTION,
gorm: GormImpl.DEFAULT_OPTION,
servlet: ServletImpl.DEFAULT_OPTION,
javaVersion: JdkVersion.DEFAULT_OPTION)).features
@@ -78,7 +76,7 @@ class FeatureControllerSpec extends Specification {
when:
List<FeatureDTO> features = applicationTypeClient
.spanishFeatures(ApplicationType.DEFAULT_OPTION,
- new FeatureFilter(test: TestFramework.DEFAULT_OPTION,
+ new FeatureFilter(reloading: DevelopmentReloading.DEFAULT_OPTION,
gorm: GormImpl.DEFAULT_OPTION,
servlet: ServletImpl.DEFAULT_OPTION,
javaVersion: JdkVersion.DEFAULT_OPTION)).features
@@ -94,7 +92,7 @@ class FeatureControllerSpec extends Specification {
when:
List<FeatureDTO> features = applicationTypeClient
.spanishDefaultFeatures(ApplicationType.DEFAULT_OPTION,
- new FeatureFilter(test: TestFramework.DEFAULT_OPTION,
+ new FeatureFilter(reloading: DevelopmentReloading.DEFAULT_OPTION,
gorm: GormImpl.DEFAULT_OPTION,
servlet: ServletImpl.DEFAULT_OPTION,
javaVersion: JdkVersion.DEFAULT_OPTION)).features
@@ -111,7 +109,7 @@ class FeatureControllerSpec extends Specification {
def features = applicationTypeClient
.defaultFeatures(ApplicationType.PLUGIN,
RequestInfo.LOCAL,
- new FeatureFilter(test: TestFramework.DEFAULT_OPTION,
+ new FeatureFilter(reloading: DevelopmentReloading.DEFAULT_OPTION,
gorm: GormImpl.DEFAULT_OPTION,
servlet: ServletImpl.DEFAULT_OPTION,
javaVersion: JdkVersion.DEFAULT_OPTION)).features
@@ -124,7 +122,7 @@ class FeatureControllerSpec extends Specification {
features = applicationTypeClient
.defaultFeatures(ApplicationType.DEFAULT_OPTION,
RequestInfo.LOCAL,
- new FeatureFilter(test: TestFramework.DEFAULT_OPTION,
+ new FeatureFilter(reloading: DevelopmentReloading.DEFAULT_OPTION,
gorm: GormImpl.DEFAULT_OPTION,
servlet: ServletImpl.DEFAULT_OPTION,
javaVersion: JdkVersion.DEFAULT_OPTION)).features
@@ -138,7 +136,7 @@ class FeatureControllerSpec extends Specification {
def features = applicationTypeClient
.features(ApplicationType.PLUGIN,
RequestInfo.LOCAL,
- new FeatureFilter(test: TestFramework.DEFAULT_OPTION,
+ new FeatureFilter(reloading: DevelopmentReloading.DEFAULT_OPTION,
gorm: GormImpl.DEFAULT_OPTION,
servlet: ServletImpl.DEFAULT_OPTION,
javaVersion: JdkVersion.DEFAULT_OPTION)).features
@@ -150,7 +148,7 @@ class FeatureControllerSpec extends Specification {
features = applicationTypeClient
.features(ApplicationType.DEFAULT_OPTION,
RequestInfo.LOCAL,
- new FeatureFilter(test: TestFramework.DEFAULT_OPTION,
+ new FeatureFilter(reloading: DevelopmentReloading.DEFAULT_OPTION,
gorm: GormImpl.DEFAULT_OPTION,
servlet: ServletImpl.DEFAULT_OPTION,
javaVersion: JdkVersion.DEFAULT_OPTION)).features
@@ -164,7 +162,7 @@ class FeatureControllerSpec extends Specification {
def features = applicationTypeClient
.features(ApplicationType.WEB,
RequestInfo.LOCAL,
- new FeatureFilter(test: TestFramework.DEFAULT_OPTION,
+ new FeatureFilter(reloading: DevelopmentReloading.DEFAULT_OPTION,
gorm: GormImpl.DEFAULT_OPTION,
servlet: ServletImpl.DEFAULT_OPTION,
javaVersion: JdkVersion.DEFAULT_OPTION)).features
diff --git a/grails-forge/grails-forge-api/src/test/groovy/org/grails/forge/api/PreviewClient.groovy b/grails-forge/grails-forge-api/src/test/groovy/org/grails/forge/api/PreviewClient.groovy
index 34b0146cb6..a254b95692 100644
--- a/grails-forge/grails-forge-api/src/test/groovy/org/grails/forge/api/PreviewClient.groovy
+++ b/grails-forge/grails-forge-api/src/test/groovy/org/grails/forge/api/PreviewClient.groovy
@@ -30,13 +30,13 @@ import org.grails.forge.options.Language
@Client('/preview')
interface PreviewClient {
- @Get(uri = "/web/{name}{?features,build,test,lang}", consumes = MediaType.APPLICATION_JSON)
+ @Get(uri = "/web/{name}{?features,build,reloading,lang}", consumes = MediaType.APPLICATION_JSON)
PreviewDTO previewApp(
ApplicationType type,
String name,
@Nullable List<String> features,
@Nullable BuildTool build,
- @Nullable TestFramework test,
+ @Nullable DevelopmentReloading reloading,
@Nullable Language lang
);
}
diff --git a/grails-forge/grails-forge-api/src/test/groovy/org/grails/forge/api/ZipCreateControllerSpec.groovy b/grails-forge/grails-forge-api/src/test/groovy/org/grails/forge/api/ZipCreateControllerSpec.groovy
index 5c8486b89b..598e781ee5 100644
--- a/grails-forge/grails-forge-api/src/test/groovy/org/grails/forge/api/ZipCreateControllerSpec.groovy
+++ b/grails-forge/grails-forge-api/src/test/groovy/org/grails/forge/api/ZipCreateControllerSpec.groovy
@@ -106,9 +106,9 @@ class ZipCreateControllerSpec extends Specification {
void "test create app with spock"() {
when:
- def bytes = client.createApp("test", ['gorm-mongodb'], BuildTool.GRADLE, TestFramework.SPOCK, Language.GROOVY)
+ def bytes = client.createApp("test", ['gorm-mongodb'], BuildTool.GRADLE, DevelopmentReloading.DEVTOOLS, Language.GROOVY)
then:
- ZipUtil.containsFileWithContents(bytes, "test/build.gradle", "spock")
+ ZipUtil.containsFileWithContents(bytes, "test/build.gradle", "spring-boot-devtools")
}
}
diff --git a/grails-forge/grails-forge-cli/src/main/java/org/grails/forge/cli/Application.java b/grails-forge/grails-forge-cli/src/main/java/org/grails/forge/cli/Application.java
index f0c23b9a02..43732af4e3 100644
--- a/grails-forge/grails-forge-cli/src/main/java/org/grails/forge/cli/Application.java
+++ b/grails-forge/grails-forge-cli/src/main/java/org/grails/forge/cli/Application.java
@@ -61,8 +61,8 @@ import java.util.function.BiFunction;
ServletImplCandidates.class,
ServletImplConverter.class,
CommonOptionsMixin.class,
- TestFrameworkCandidates.class,
- TestFrameworkConverter.class
+ DevelopmentReloadingCandidates.class,
+ DevelopmentReloadingConverter.class
})
public class Application extends BaseCommand implements Callable<Integer> {
diff --git a/grails-forge/grails-forge-cli/src/main/java/org/grails/forge/cli/CodeGenConfig.java b/grails-forge/grails-forge-cli/src/main/java/org/grails/forge/cli/CodeGenConfig.java
index 8ec644449c..80935429e4 100644
--- a/grails-forge/grails-forge-cli/src/main/java/org/grails/forge/cli/CodeGenConfig.java
+++ b/grails-forge/grails-forge-cli/src/main/java/org/grails/forge/cli/CodeGenConfig.java
@@ -31,7 +31,7 @@ import org.grails.forge.io.FileSystemOutputHandler;
import org.grails.forge.options.JdkVersion;
import org.grails.forge.options.Language;
import org.grails.forge.options.Options;
-import org.grails.forge.options.TestFramework;
+import org.grails.forge.options.DevelopmentReloading;
import org.yaml.snakeyaml.Yaml;
import java.io.File;
@@ -46,7 +46,7 @@ public class CodeGenConfig {
private ApplicationType applicationType;
private String defaultPackage;
- private TestFramework testFramework;
+ private DevelopmentReloading reloading;
private Language sourceLanguage;
private List<String> features;
@@ -68,12 +68,12 @@ public class CodeGenConfig {
this.defaultPackage = defaultPackage;
}
- public TestFramework getTestFramework() {
- return testFramework;
+ public DevelopmentReloading getReloading() {
+ return reloading;
}
- public void setTestFramework(TestFramework testFramework) {
- this.testFramework = testFramework;
+ public void setReloading(DevelopmentReloading reloading) {
+ this.reloading = reloading;
}
public Language getSourceLanguage() {
@@ -158,7 +158,7 @@ public class CodeGenConfig {
.map(DefaultFeature.class::cast)
.filter(f -> f.shouldApply(
codeGenConfig.getApplicationType(),
- new Options(codeGenConfig.getTestFramework(), JdkVersion.DEFAULT_OPTION),
+ new Options(codeGenConfig.getReloading(), JdkVersion.DEFAULT_OPTION),
new HashSet<>()))
.map(Feature::getName)
.collect(Collectors.toList()));
diff --git a/grails-forge/grails-forge-cli/src/main/java/org/grails/forge/cli/command/CreateCommand.java b/grails-forge/grails-forge-cli/src/main/java/org/grails/forge/cli/command/CreateCommand.java
index 5baf21df43..aa478ae674 100644
--- a/grails-forge/grails-forge-cli/src/main/java/org/grails/forge/cli/command/CreateCommand.java
+++ b/grails-forge/grails-forge-cli/src/main/java/org/grails/forge/cli/command/CreateCommand.java
@@ -46,8 +46,8 @@ public abstract class CreateCommand extends BaseCommand implements Callable<Inte
String name;
@ReflectiveAccess
- @CommandLine.Option(names = {"-t", "--test"}, paramLabel = "TEST", description = "Which test framework to use. Possible values: ${COMPLETION-CANDIDATES}.", completionCandidates = TestFrameworkCandidates.class, converter = TestFrameworkConverter.class)
- TestFramework test;
+ @CommandLine.Option(names = {"-r", "--reloading"}, paramLabel = "RELOADING", description = "Which development reloading option to use. Possible values: ${COMPLETION-CANDIDATES}.", completionCandidates = DevelopmentReloadingCandidates.class, converter = DevelopmentReloadingConverter.class)
+ DevelopmentReloading reloading;
@ReflectiveAccess
@CommandLine.Option(names = {"-g", "--gorm"}, paramLabel = "GORM Implementation", description = "Which GORM Implementation to configure. Possible values: ${COMPLETION-CANDIDATES}.", completionCandidates = GormImplCandidates.class, converter = GormImplConverter.class)
@@ -96,7 +96,7 @@ public abstract class CreateCommand extends BaseCommand implements Callable<Inte
public Integer call() throws Exception {
if (listFeatures) {
new ListFeatures(availableFeatures,
- new Options(test, gormImpl, servletImpl, getJdkVersion(), getOperatingSystem()),
+ new Options(reloading, gormImpl, servletImpl, getJdkVersion(), getOperatingSystem()),
applicationType,
getOperatingSystem(),
contextFactory).output(this);
@@ -122,7 +122,7 @@ public abstract class CreateCommand extends BaseCommand implements Callable<Inte
}
public void generate(Project project, OutputHandler outputHandler) throws Exception {
- Options options = new Options(test, gormImpl, servletImpl, getJdkVersion(), getOperatingSystem(), getAdditionalOptions());
+ Options options = new Options(reloading, gormImpl, servletImpl, getJdkVersion(), getOperatingSystem(), getAdditionalOptions());
projectGenerator.generate(applicationType, project, options, getOperatingSystem(), getSelectedFeatures(), outputHandler, this);
}
diff --git a/grails-forge/grails-forge-cli/src/main/java/org/grails/forge/cli/command/TestFrameworkCandidates.java b/grails-forge/grails-forge-cli/src/main/java/org/grails/forge/cli/command/DevelopmentReloadingCandidates.java
similarity index 75%
rename from grails-forge/grails-forge-cli/src/main/java/org/grails/forge/cli/command/TestFrameworkCandidates.java
rename to grails-forge/grails-forge-cli/src/main/java/org/grails/forge/cli/command/DevelopmentReloadingCandidates.java
index dd3148a069..49e80e4c65 100644
--- a/grails-forge/grails-forge-cli/src/main/java/org/grails/forge/cli/command/TestFrameworkCandidates.java
+++ b/grails-forge/grails-forge-cli/src/main/java/org/grails/forge/cli/command/DevelopmentReloadingCandidates.java
@@ -18,15 +18,15 @@
*/
package org.grails.forge.cli.command;
-import org.grails.forge.options.TestFramework;
+import org.grails.forge.options.DevelopmentReloading;
import java.util.ArrayList;
import java.util.stream.Collectors;
import java.util.stream.Stream;
-public class TestFrameworkCandidates extends ArrayList<String> {
+public class DevelopmentReloadingCandidates extends ArrayList<String> {
- public TestFrameworkCandidates() {
- super(Stream.of(TestFramework.values()).map(tf -> tf.toString().toLowerCase()).collect(Collectors.toList()));
+ public DevelopmentReloadingCandidates() {
+ super(Stream.of(DevelopmentReloading.values()).map(reloading -> reloading.toString().toLowerCase()).collect(Collectors.toList()));
}
}
diff --git a/grails-forge/grails-forge-cli/src/main/java/org/grails/forge/cli/command/TestFrameworkConverter.java b/grails-forge/grails-forge-cli/src/main/java/org/grails/forge/cli/command/DevelopmentReloadingConverter.java
similarity index 69%
rename from grails-forge/grails-forge-cli/src/main/java/org/grails/forge/cli/command/TestFrameworkConverter.java
rename to grails-forge/grails-forge-cli/src/main/java/org/grails/forge/cli/command/DevelopmentReloadingConverter.java
index 96aa969327..fb2a5211bb 100644
--- a/grails-forge/grails-forge-cli/src/main/java/org/grails/forge/cli/command/TestFrameworkConverter.java
+++ b/grails-forge/grails-forge-cli/src/main/java/org/grails/forge/cli/command/DevelopmentReloadingConverter.java
@@ -18,23 +18,23 @@
*/
package org.grails.forge.cli.command;
-import org.grails.forge.options.TestFramework;
+import org.grails.forge.options.DevelopmentReloading;
import picocli.CommandLine;
-public class TestFrameworkConverter implements CommandLine.ITypeConverter<TestFramework> {
+public class DevelopmentReloadingConverter implements CommandLine.ITypeConverter<DevelopmentReloading> {
- public static final TestFramework DEFAULT_TEST_FRAMEWORK = TestFramework.SPOCK;
+ public static final DevelopmentReloading DEFAULT_RELOADING = DevelopmentReloading.DEVTOOLS;
@Override
- public TestFramework convert(String value) throws Exception {
+ public DevelopmentReloading convert(String value) throws Exception {
if (value == null) {
- return DEFAULT_TEST_FRAMEWORK;
+ return DEFAULT_RELOADING;
}
- for (TestFramework bt : TestFramework.values()) {
+ for (DevelopmentReloading bt : DevelopmentReloading.values()) {
if (value.equalsIgnoreCase(bt.toString())) {
return bt;
}
}
- return DEFAULT_TEST_FRAMEWORK;
+ return DEFAULT_RELOADING;
}
}
diff --git a/grails-forge/grails-forge-cli/src/test/groovy/org/grails/forge/cli/CommandFixture.groovy b/grails-forge/grails-forge-cli/src/test/groovy/org/grails/forge/cli/CommandFixture.groovy
index 00c23f1536..8a87538a0f 100644
--- a/grails-forge/grails-forge-cli/src/test/groovy/org/grails/forge/cli/CommandFixture.groovy
+++ b/grails-forge/grails-forge-cli/src/test/groovy/org/grails/forge/cli/CommandFixture.groovy
@@ -27,10 +27,7 @@ import org.grails.forge.application.generator.ProjectGenerator
import org.grails.forge.io.ConsoleOutput
import org.grails.forge.io.FileSystemOutputHandler
import org.grails.forge.io.OutputHandler
-import org.grails.forge.options.BuildTool
-import org.grails.forge.options.Language
import org.grails.forge.options.Options
-import org.grails.forge.options.TestFramework
import org.grails.forge.util.NameUtils
trait CommandFixture {
@@ -54,4 +51,4 @@ trait CommandFixture {
return () -> new FileSystemOutputHandler(dir, consoleOutput)
}
-}
\ No newline at end of file
+}
diff --git a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/analytics/Generated.java b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/analytics/Generated.java
index 80b8c28d95..408933655a 100644
--- a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/analytics/Generated.java
+++ b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/analytics/Generated.java
@@ -34,7 +34,7 @@ public class Generated {
private final ApplicationType type;
private final GormImpl gorm;
private final ServletImpl servlet;
- private final TestFramework testFramework;
+ private final DevelopmentReloading reloading;
private final JdkVersion jdkVersion;
private Collection<? extends SelectedFeature> features = new ArrayList<>();
private final String grailsVersion;
@@ -44,12 +44,12 @@ public class Generated {
@NonNull ApplicationType type,
@NonNull GormImpl gorm,
@NonNull ServletImpl servlet,
- @NonNull TestFramework testFramework,
+ @NonNull DevelopmentReloading reloading,
@NonNull JdkVersion jdkVersion) {
this.type = Objects.requireNonNull(type, "Type cannot be null");
this.gorm = Objects.requireNonNull(gorm, "GORM cannot be null");
this.servlet = Objects.requireNonNull(servlet, "Embedded Servlet cannot be null");
- this.testFramework = Objects.requireNonNull(testFramework, "Test framework cannot be null");
+ this.reloading = Objects.requireNonNull(reloading, "Development reloading cannot be null");
this.jdkVersion = Objects.requireNonNull(jdkVersion, "JDK version cannot be null");
this.grailsVersion = VersionInfo.getGrailsVersion();
}
@@ -91,8 +91,8 @@ public class Generated {
/**
* @return The test framework
*/
- public @NonNull TestFramework getTestFramework() {
- return testFramework;
+ public @NonNull DevelopmentReloading getReloading() {
+ return reloading;
}
/**
diff --git a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/application/ContextFactory.java b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/application/ContextFactory.java
index 4b03e0ea26..0b950bcf79 100644
--- a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/application/ContextFactory.java
+++ b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/application/ContextFactory.java
@@ -63,7 +63,7 @@ public class ContextFactory {
}
Options newOptions = options
- .withTestFramework(determineTestFramework(options.getTestFramework()))
+ .withDevelopmentReloading(determineDevelopmentReloading(options.getDevelopmentReloading()))
.withGormImpl(determineGormImpl(options.getGormImpl()))
.withServletImpl(determineServletImpl(options.getServletImpl()));
@@ -89,11 +89,11 @@ public class ContextFactory {
return new GeneratorContext(project, featureContext.getApplicationType(), featureContext.getOptions(), featureContext.getOperatingSystem(), featureList, coordinateResolver);
}
- TestFramework determineTestFramework(TestFramework testFramework) {
- if (testFramework == null) {
- testFramework = TestFramework.DEFAULT_OPTION;
+ DevelopmentReloading determineDevelopmentReloading(DevelopmentReloading reloading) {
+ if (reloading == null) {
+ reloading = DevelopmentReloading.DEFAULT_OPTION;
}
- return testFramework;
+ return reloading;
}
Language determineLanguage(Language language, Set<Feature> features) {
diff --git a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/application/generator/DefaultProjectGenerator.java b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/application/generator/DefaultProjectGenerator.java
index d47895058d..71502385d3 100644
--- a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/application/generator/DefaultProjectGenerator.java
+++ b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/application/generator/DefaultProjectGenerator.java
@@ -88,7 +88,7 @@ public class DefaultProjectGenerator implements ProjectGenerator {
generatorContext.addTemplate("grailsCli",
new RockerTemplate("grails-forge-cli.yml",
cli.template(Language.DEFAULT_OPTION,
- generatorContext.getTestFramework(),
+ generatorContext.getDevelopmentReloading(),
BuildTool.DEFAULT_OPTION,
generatorContext.getGorm(),
generatorContext.getServlet(),
diff --git a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/application/generator/GeneratorContext.java b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/application/generator/GeneratorContext.java
index 7771a61944..d0713701b8 100644
--- a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/application/generator/GeneratorContext.java
+++ b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/application/generator/GeneratorContext.java
@@ -204,11 +204,11 @@ public class GeneratorContext implements DependencyContext {
}
/**
- * @return The test framework
+ * @return The development reloading
*/
@NonNull
- public TestFramework getTestFramework() {
- return options.getTestFramework();
+ public DevelopmentReloading getDevelopmentReloading() {
+ return options.getDevelopmentReloading();
}
/**
@@ -286,20 +286,19 @@ public class GeneratorContext implements DependencyContext {
}
public String getTestSourcePath(String path) {
- return getTestFramework().getSourcePath(path, Language.DEFAULT_OPTION);
+ return TestFramework.SPOCK.getSourcePath(path);
}
public String getIntegrationTestSourcePath(String path) {
- return getTestFramework().getIntegrationSourcePath(path, Language.DEFAULT_OPTION);
+ return TestFramework.SPOCK.getIntegrationSourcePath(path);
}
- RockerModel parseModel(RockerModel javaTemplate,
- RockerModel groovyTemplate) {
+ RockerModel parseModel(RockerModel javaTemplate, RockerModel groovyTemplate) {
return groovyTemplate;
}
public void addTemplate(String name, String path, TestRockerModelProvider testRockerModelProvider) {
- RockerModel rockerModel = testRockerModelProvider.findModel(Language.DEFAULT_OPTION, getTestFramework());
+ RockerModel rockerModel = testRockerModelProvider.findModel(TestFramework.SPOCK);
if (rockerModel != null) {
addTemplate(name, new RockerTemplate(path, rockerModel));
}
diff --git a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/build/gradle/GradleConfiguration.java b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/build/gradle/GradleConfiguration.java
index ac74850eba..a4b43954c8 100644
--- a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/build/gradle/GradleConfiguration.java
+++ b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/build/gradle/GradleConfiguration.java
@@ -22,8 +22,7 @@ import io.micronaut.core.annotation.NonNull;
import io.micronaut.core.order.Ordered;
import org.grails.forge.build.dependencies.Phase;
import org.grails.forge.build.dependencies.Scope;
-import org.grails.forge.options.Language;
-import org.grails.forge.options.TestFramework;
+import org.grails.forge.options.DevelopmentReloading;
import java.util.Optional;
@@ -72,8 +71,7 @@ public enum GradleConfiguration implements Ordered {
@NonNull
public static Optional<GradleConfiguration> of(@NonNull Scope scope,
- @NonNull Language language,
- @NonNull TestFramework testFramework) {
+ @NonNull DevelopmentReloading reloading) {
switch (scope.getSource()) {
case BUILD_SRC:
if (scope.getPhases().contains(Phase.BUILD)) {
diff --git a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/build/gradle/GradleDependency.java b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/build/gradle/GradleDependency.java
index 36931c3dc2..7440148f40 100644
--- a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/build/gradle/GradleDependency.java
+++ b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/build/gradle/GradleDependency.java
@@ -25,7 +25,6 @@ import org.grails.forge.application.generator.GeneratorContext;
import org.grails.forge.build.dependencies.Coordinate;
import org.grails.forge.build.dependencies.Dependency;
import org.grails.forge.build.dependencies.DependencyCoordinate;
-import org.grails.forge.options.Language;
import org.grails.forge.template.Writable;
import java.util.Comparator;
@@ -62,11 +61,10 @@ public class GradleDependency extends DependencyCoordinate {
@Nullable Writable extension) {
super(dependency);
gradleConfiguration = GradleConfiguration.of(
- dependency.getScope(),
- Language.DEFAULT_OPTION,
- generatorContext.getTestFramework()
+ dependency.getScope(),
+ generatorContext.getDevelopmentReloading()
).orElseThrow(() ->
- new IllegalArgumentException(String.format("Cannot map the dependency scope: [%s] to a Gradle specific scope", dependency.getScope())));
+ new IllegalArgumentException(String.format("Cannot map the dependency scope: [%s] to a Gradle specific scope", dependency.getScope())));
this.extension = extension;
}
@@ -112,7 +110,7 @@ public class GradleDependency extends DependencyCoordinate {
snippet += "(";
}
snippet += "\"" + getGroupId() + ':' + getArtifactId() +
- (getVersion() != null ? (':' + getVersion()) : "") + "\"";
+ (getVersion() != null ? (':' + getVersion()) : "") + "\"";
if (isPom() || gradleConfiguration == INTEGRATION_TEST_IMPLEMENTATION_TEST_FIXTURES) {
snippet += ")";
}
diff --git a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/defaults/HasDefaultTest.java b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/defaults/HasDefaultDevelopmentReloading.java
similarity index 85%
rename from grails-forge/grails-forge-core/src/main/java/org/grails/forge/defaults/HasDefaultTest.java
rename to grails-forge/grails-forge-core/src/main/java/org/grails/forge/defaults/HasDefaultDevelopmentReloading.java
index dd82b992e0..ea8a009108 100644
--- a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/defaults/HasDefaultTest.java
+++ b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/defaults/HasDefaultDevelopmentReloading.java
@@ -18,8 +18,8 @@
*/
package org.grails.forge.defaults;
-import org.grails.forge.options.TestFramework;
+import org.grails.forge.options.DevelopmentReloading;
-public interface HasDefaultTest {
- TestFramework getTest();
+public interface HasDefaultDevelopmentReloading {
+ DevelopmentReloading getReloading();
}
diff --git a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/defaults/LanguageDefaults.java b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/defaults/LanguageDefaults.java
index 5faf0a4207..b6e95a2e9d 100644
--- a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/defaults/LanguageDefaults.java
+++ b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/defaults/LanguageDefaults.java
@@ -21,26 +21,26 @@ package org.grails.forge.defaults;
import io.micronaut.core.annotation.Creator;
import io.micronaut.core.annotation.Introspected;
import org.grails.forge.options.BuildTool;
-import org.grails.forge.options.TestFramework;
+import org.grails.forge.options.DevelopmentReloading;
/**
* Default values to be applied when a given
* {@link org.grails.forge.options.Language} is selected
*/
@Introspected
-public class LanguageDefaults implements HasDefaultTest, HasDefaultBuild {
+public class LanguageDefaults implements HasDefaultDevelopmentReloading, HasDefaultBuild {
- TestFramework test;
+ DevelopmentReloading reloading;
BuildTool build;
@Creator
- public LanguageDefaults(TestFramework test, BuildTool build) {
- this.test = test;
+ public LanguageDefaults(DevelopmentReloading reloading, BuildTool build) {
+ this.reloading = reloading;
this.build = build;
}
- public TestFramework getTest() {
- return test;
+ public DevelopmentReloading getReloading() {
+ return reloading;
}
public BuildTool getBuild() {
diff --git a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/diff/FeatureDiffer.java b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/diff/FeatureDiffer.java
index ebd8cfa997..62a2d4aeab 100644
--- a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/diff/FeatureDiffer.java
+++ b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/diff/FeatureDiffer.java
@@ -95,7 +95,7 @@ public class FeatureDiffer {
projectGenerator.generate(
applicationType,
project,
- new Options(generatorContext.getTestFramework(), generatorContext.getJdkVersion()),
+ new Options(generatorContext.getDevelopmentReloading(), generatorContext.getJdkVersion()),
generatorContext.getOperatingSystem(),
Collections.emptyList(),
outputHandler,
diff --git a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/FeatureContext.java b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/FeatureContext.java
index d66a927b79..f8dea471f4 100644
--- a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/FeatureContext.java
+++ b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/FeatureContext.java
@@ -21,11 +21,11 @@ package org.grails.forge.feature;
import io.micronaut.core.annotation.Nullable;
import org.grails.forge.application.ApplicationType;
import org.grails.forge.application.OperatingSystem;
-import org.grails.forge.feature.test.TestFeature;
+import org.grails.forge.feature.reloading.ReloadingFeature;
import org.grails.forge.io.ConsoleOutput;
+import org.grails.forge.options.DevelopmentReloading;
import org.grails.forge.options.JdkVersion;
import org.grails.forge.options.Options;
-import org.grails.forge.options.TestFramework;
import java.util.*;
@@ -49,14 +49,14 @@ public class FeatureContext {
this.applicationType = applicationType;
this.operatingSystem = operatingSystem;
this.selectedFeatures = selectedFeatures;
- if (options.getTestFramework() == null) {
- TestFramework testFramework = selectedFeatures.stream()
- .filter(TestFeature.class::isInstance)
- .map(TestFeature.class::cast)
- .map(TestFeature::getTestFramework)
- .findFirst()
- .orElseThrow(() -> new IllegalArgumentException(String.format("No test framework could derived from the selected features [%s]", selectedFeatures)));
- options = options.withTestFramework(testFramework);
+ if (options.getDevelopmentReloading() == null) {
+ DevelopmentReloading reloading = selectedFeatures.stream()
+ .filter(ReloadingFeature.class::isInstance)
+ .map(ReloadingFeature.class::cast)
+ .map(ReloadingFeature::getReloading)
+ .findFirst()
+ .orElse(DevelopmentReloading.DEFAULT_OPTION);
+ options = options.withDevelopmentReloading(reloading);
}
this.options = options;
}
@@ -78,7 +78,7 @@ public class FeatureContext {
public Set<Feature> getFinalFeatures(ConsoleOutput consoleOutput) {
return features.stream().filter(feature -> {
- for (FeaturePredicate predicate: exclusions) {
+ for (FeaturePredicate predicate : exclusions) {
if (predicate.test(feature)) {
predicate.getWarning().ifPresent(message -> {
throw new IllegalArgumentException(message);
@@ -90,8 +90,8 @@ public class FeatureContext {
}).collect(collectingAndThen(toSet(), Collections::unmodifiableSet));
}
- public TestFramework getTestFramework() {
- return options.getTestFramework();
+ public DevelopmentReloading getDevelopmentReloading() {
+ return options.getDevelopmentReloading();
}
public JdkVersion getJavaVersion() {
@@ -122,9 +122,9 @@ public class FeatureContext {
public boolean isPresent(Class<? extends Feature> feature) {
return features.stream()
- .filter(f -> exclusions.stream().noneMatch(e -> e.test(f)))
- .map(Feature::getClass)
- .anyMatch(feature::isAssignableFrom);
+ .filter(f -> exclusions.stream().noneMatch(e -> e.test(f)))
+ .map(Feature::getClass)
+ .anyMatch(feature::isAssignableFrom);
}
public OperatingSystem getOperatingSystem() {
diff --git a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/Features.java b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/Features.java
index ebdf8791c5..75cded6bf6 100644
--- a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/Features.java
+++ b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/Features.java
@@ -20,7 +20,7 @@ package org.grails.forge.feature;
import org.grails.forge.application.generator.GeneratorContext;
import org.grails.forge.feature.lang.LanguageFeature;
-import org.grails.forge.feature.test.TestFeature;
+import org.grails.forge.feature.reloading.ReloadingFeature;
import org.grails.forge.options.BuildTool;
import org.grails.forge.options.GormImpl;
import org.grails.forge.options.JdkVersion;
@@ -42,7 +42,7 @@ public class Features extends ArrayList<String> {
private final GeneratorContext context;
private ApplicationFeature applicationFeature;
private LanguageFeature languageFeature;
- private TestFeature testFeature;
+ private ReloadingFeature reloadingFeature;
private final JdkVersion javaVersion;
public Features(GeneratorContext context, Set<Feature> featureList, Options options) {
@@ -56,8 +56,8 @@ public class Features extends ArrayList<String> {
if (languageFeature == null && feature instanceof LanguageFeature) {
languageFeature = (LanguageFeature) feature;
}
- if (testFeature == null && feature instanceof TestFeature) {
- testFeature = (TestFeature) feature;
+ if (reloadingFeature == null && feature instanceof ReloadingFeature) {
+ reloadingFeature = (ReloadingFeature) feature;
}
}
this.javaVersion = options.getJavaVersion();
@@ -77,8 +77,8 @@ public class Features extends ArrayList<String> {
return languageFeature;
}
- public TestFeature testFramework() {
- return testFeature;
+ public ReloadingFeature reloading() {
+ return reloadingFeature;
}
public Set<Feature> getFeatures() {
diff --git a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/build/gradle/templates/buildGradle.rocker.raw b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/build/gradle/templates/buildGradle.rocker.raw
index f75be4186f..1184c7af4a 100644
--- a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/build/gradle/templates/buildGradle.rocker.raw
+++ b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/build/gradle/templates/buildGradle.rocker.raw
@@ -26,7 +26,6 @@ under the License.
@import org.grails.forge.build.gradle.GradleDsl
@import org.grails.forge.build.gradle.GradlePlugin
@import org.grails.forge.feature.Features
-@import org.grails.forge.options.TestFramework
@import org.grails.forge.util.VersionInfo
@import org.grails.forge.options.JdkVersion
@import org.grails.forge.build.gradle.GradleDependency
diff --git a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/cli.rocker.raw b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/cli.rocker.raw
index f949cbec01..884900ffb3 100644
--- a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/cli.rocker.raw
+++ b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/cli.rocker.raw
@@ -18,7 +18,7 @@ under the License.
*@
@import org.grails.forge.options.Language
-@import org.grails.forge.options.TestFramework
+@import org.grails.forge.options.DevelopmentReloading
@import org.grails.forge.options.BuildTool
@import org.grails.forge.options.GormImpl
@import org.grails.forge.options.ServletImpl
@@ -29,7 +29,7 @@ under the License.
@args (
Language language,
-TestFramework testFramework,
+DevelopmentReloading reloading,
BuildTool buildTool,
GormImpl gormImpl,
ServletImpl servletImpl,
@@ -40,7 +40,7 @@ ApplicationType applicationType
applicationType: @applicationType.getName()
defaultPackage: @project.getPackageName()
-testFramework: @testFramework.getName()
+reloading: @reloading.getName()
sourceLanguage: @language.getName()
buildTool: @buildTool.getName()
gormImpl: @gormImpl.getName()
diff --git a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/database/TestContainers.java b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/database/TestContainers.java
index 44a85a1daf..1f39980177 100644
--- a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/database/TestContainers.java
+++ b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/database/TestContainers.java
@@ -28,7 +28,7 @@ import org.grails.forge.feature.Category;
import org.grails.forge.feature.Feature;
import org.grails.forge.feature.config.ApplicationConfiguration;
import org.grails.forge.feature.config.Configuration;
-import org.grails.forge.options.TestFramework;
+import org.grails.forge.feature.test.Spock;
import org.grails.forge.template.StringTemplate;
import java.util.Optional;
@@ -74,12 +74,13 @@ public class TestContainers implements Feature {
testConfig.put(driverConfiguration.getDriverKey(), driver);
});
artifactIdForDriverFeature(driverFeature).ifPresent(dependencyArtifactId ->
- generatorContext.addDependency(testContainerTestDependency(dependencyArtifactId)));
+ generatorContext.addDependency(testContainerTestDependency(dependencyArtifactId)));
});
});
- testContainerArtifactIdByTestFramework(generatorContext.getTestFramework()).ifPresent(testArtifactId -> {
- generatorContext.addDependency(testContainerTestDependency(testArtifactId));
- });
+
+ if (generatorContext.isFeaturePresent(Spock.class)) {
+ generatorContext.addDependency(testContainerTestDependency("spock"));
+ }
if (generatorContext.isFeaturePresent(MongoFeature.class) || generatorContext.isFeaturePresent(MongoGorm.class)) {
generatorContext.addDependency(testContainerTestDependency("mongodb"));
@@ -89,19 +90,9 @@ public class TestContainers implements Feature {
@NonNull
private static Dependency.Builder testContainerTestDependency(@NonNull String artifactId) {
return Dependency.builder()
- .groupId(TESTCONTAINERS_GROUP_ID)
- .artifactId(artifactId)
- .testImplementation();
- }
-
- @NonNull
- private static Optional<String> testContainerArtifactIdByTestFramework(TestFramework testFramework) {
- if (testFramework == TestFramework.SPOCK) {
- return Optional.of("spock");
- } else if (testFramework == TestFramework.JUNIT) {
- return Optional.of("junit-jupiter");
- }
- return Optional.empty();
+ .groupId(TESTCONTAINERS_GROUP_ID)
+ .artifactId(artifactId)
+ .testImplementation();
}
@NonNull
diff --git a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/reloading/Jrebel.java b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/reloading/Jrebel.java
index 97f09bf72e..f5b9f8d87c 100644
--- a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/reloading/Jrebel.java
+++ b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/reloading/Jrebel.java
@@ -21,6 +21,7 @@ package org.grails.forge.feature.reloading;
import jakarta.inject.Singleton;
import org.grails.forge.application.generator.GeneratorContext;
import org.grails.forge.build.gradle.GradlePlugin;
+import org.grails.forge.options.DevelopmentReloading;
@Singleton
public class Jrebel implements ReloadingFeature {
@@ -40,6 +41,11 @@ public class Jrebel implements ReloadingFeature {
return "Adds support for class reloading with JRebel (requires separate JRebel installation)";
}
+ @Override
+ public DevelopmentReloading getReloading() {
+ return DevelopmentReloading.JREBEL;
+ }
+
@Override
public void apply(GeneratorContext generatorContext) {
generatorContext.getBuildProperties().addComment("TODO: Replace with agent path from JRebel installation; see documentation");
diff --git a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/reloading/ReloadingFeature.java b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/reloading/ReloadingFeature.java
index cd902115f4..cf48d517b5 100644
--- a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/reloading/ReloadingFeature.java
+++ b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/reloading/ReloadingFeature.java
@@ -21,6 +21,7 @@ package org.grails.forge.feature.reloading;
import org.grails.forge.application.ApplicationType;
import org.grails.forge.feature.Category;
import org.grails.forge.feature.OneOfFeature;
+import org.grails.forge.options.DevelopmentReloading;
public interface ReloadingFeature extends OneOfFeature {
@@ -38,4 +39,6 @@ public interface ReloadingFeature extends OneOfFeature {
default String getCategory() {
return Category.DEV_TOOLS;
}
+
+ DevelopmentReloading getReloading();
}
diff --git a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/reloading/SpringBootDevTools.java b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/reloading/SpringBootDevTools.java
index 4456b6d275..7b77d07349 100644
--- a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/reloading/SpringBootDevTools.java
+++ b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/reloading/SpringBootDevTools.java
@@ -25,6 +25,7 @@ import org.grails.forge.build.dependencies.Dependency;
import org.grails.forge.build.dependencies.Scope;
import org.grails.forge.feature.DefaultFeature;
import org.grails.forge.feature.Feature;
+import org.grails.forge.options.DevelopmentReloading;
import org.grails.forge.options.Options;
import java.util.Set;
@@ -73,4 +74,9 @@ public class SpringBootDevTools implements ReloadingFeature, DefaultFeature {
public String getDocumentation() {
return "https://docs.spring.io/spring-boot/reference/using/devtools.html";
}
+
+ @Override
+ public DevelopmentReloading getReloading() {
+ return DevelopmentReloading.DEVTOOLS;
+ }
}
diff --git a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/test/AssertJ.java b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/test/AssertJ.java
deleted file mode 100644
index 2c57f3308b..0000000000
--- a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/test/AssertJ.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.grails.forge.feature.test;
-
-import jakarta.inject.Singleton;
-import org.grails.forge.application.ApplicationType;
-import org.grails.forge.application.generator.GeneratorContext;
-import org.grails.forge.build.dependencies.Dependency;
-import org.grails.forge.feature.Category;
-import org.grails.forge.feature.Feature;
-
-@Singleton
-public class AssertJ implements Feature {
-
- @Override
- public String getName() {
- return "assertj";
- }
-
- @Override
- public String getTitle() {
- return "AssertJ Framework";
- }
-
- @Override
- public String getDescription() {
- return "AssertJ fluent assertions framework";
- }
-
- @Override
- public boolean supports(ApplicationType applicationType) {
- return true;
- }
-
- @Override
- public void apply(GeneratorContext generatorContext) {
- generatorContext.addDependency(Dependency.builder()
- .groupId("org.assertj")
- .artifactId("assertj-core")
- .testImplementation());
- }
-
- @Override
- public String getCategory() {
- return Category.TESTING;
- }
-
- @Override
- public String getThirdPartyDocumentation() {
- return "https://assertj.github.io/doc/";
- }
-}
diff --git a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/test/AssertJValidator.java b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/test/AssertJValidator.java
deleted file mode 100644
index 142dc3185f..0000000000
--- a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/test/AssertJValidator.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.grails.forge.feature.test;
-
-import jakarta.inject.Singleton;
-import org.grails.forge.application.ApplicationType;
-import org.grails.forge.feature.Feature;
-import org.grails.forge.feature.validation.FeatureValidator;
-import org.grails.forge.options.Options;
-
-import java.util.Set;
-
-@Singleton
-public class AssertJValidator implements FeatureValidator {
- @Override
- public void validatePreProcessing(Options options, ApplicationType applicationType, Set<Feature> features) {
- if (features.stream().anyMatch(f -> f instanceof AssertJ)) {
- if (features.stream().noneMatch(f -> (f instanceof Junit))) {
- throw new IllegalArgumentException("AssertJ requires JUnit.");
- }
- }
- }
-
- @Override
- public void validatePostProcessing(Options options, ApplicationType applicationType, Set<Feature> features) {
-
- }
-}
diff --git a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/test/GebWithTestcontainers.java b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/test/GebWithTestcontainers.java
index e3646843eb..d91f61c909 100644
--- a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/test/GebWithTestcontainers.java
+++ b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/test/GebWithTestcontainers.java
@@ -29,7 +29,6 @@ import org.grails.forge.feature.DefaultFeature;
import org.grails.forge.feature.Feature;
import org.grails.forge.feature.FeatureContext;
import org.grails.forge.feature.FeaturePhase;
-import org.grails.forge.feature.test.template.groovyJunit;
import org.grails.forge.options.*;
import org.grails.forge.template.RockerTemplate;
@@ -46,7 +45,7 @@ public class GebWithTestcontainers implements DefaultFeature {
@Override
public boolean shouldApply(ApplicationType applicationType, Options options, Set<Feature> selectedFeatures) {
- return applicationType == ApplicationType.WEB && options.getTestFramework() != TestFramework.JUNIT;
+ return applicationType == ApplicationType.WEB;
}
@NonNull
@@ -107,13 +106,12 @@ public class GebWithTestcontainers implements DefaultFeature {
Project project = generatorContext.getProject();
TestRockerModelProvider provider = new DefaultTestRockerModelProvider(
- org.grails.forge.feature.test.template.spock.template(project),
- groovyJunit.template(project)
+ org.grails.forge.feature.test.template.spock.template(project)
);
generatorContext.addTemplate("applicationTest",
new RockerTemplate(
generatorContext.getIntegrationTestSourcePath("/{packagePath}/{className}"),
- provider.findModel(Language.DEFAULT_OPTION, generatorContext.getTestFramework())
+ provider.findModel(TestFramework.SPOCK)
)
);
}
diff --git a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/test/GebWithWebDriverBinaries.java b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/test/GebWithWebDriverBinaries.java
index 23b8ede958..c27ee16d77 100644
--- a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/test/GebWithWebDriverBinaries.java
+++ b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/test/GebWithWebDriverBinaries.java
@@ -26,7 +26,6 @@ import org.grails.forge.application.generator.GeneratorContext;
import org.grails.forge.build.dependencies.Dependency;
import org.grails.forge.build.gradle.GradlePlugin;
import org.grails.forge.feature.*;
-import org.grails.forge.feature.test.template.groovyJunit;
import org.grails.forge.feature.test.template.webdriverBinariesPlugin;
import org.grails.forge.options.*;
import org.grails.forge.template.RockerTemplate;
@@ -131,13 +130,12 @@ public class GebWithWebDriverBinaries implements Feature {
Project project = generatorContext.getProject();
TestRockerModelProvider provider = new DefaultTestRockerModelProvider(
- org.grails.forge.feature.test.template.spock.template(project),
- groovyJunit.template(project)
+ org.grails.forge.feature.test.template.spock.template(project)
);
generatorContext.addTemplate("applicationTest",
new RockerTemplate(
generatorContext.getIntegrationTestSourcePath("/{packagePath}/{className}"),
- provider.findModel(Language.DEFAULT_OPTION, generatorContext.getTestFramework())
+ provider.findModel(TestFramework.SPOCK)
)
);
generatorContext.addTemplate("gebConfig",
diff --git a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/test/Hamcrest.java b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/test/Hamcrest.java
deleted file mode 100644
index 6c48a76114..0000000000
--- a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/test/Hamcrest.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.grails.forge.feature.test;
-
-import jakarta.inject.Singleton;
-import org.grails.forge.application.ApplicationType;
-import org.grails.forge.application.generator.GeneratorContext;
-import org.grails.forge.build.dependencies.Dependency;
-import org.grails.forge.feature.Category;
-import org.grails.forge.feature.Feature;
-
-@Singleton
-public class Hamcrest implements Feature {
-
- @Override
- public String getName() {
- return "hamcrest";
- }
-
- @Override
- public String getTitle() {
- return "Hamcrest";
- }
-
- @Override
- public String getDescription() {
- return "Hamcrest matchers for JUnit";
- }
-
- @Override
- public String getCategory() {
- return Category.TESTING;
- }
-
- @Override
- public boolean supports(ApplicationType applicationType) {
- return true;
- }
-
- @Override
- public String getThirdPartyDocumentation() {
- return "https://hamcrest.org/JavaHamcrest/";
- }
-
- @Override
- public void apply(GeneratorContext generatorContext) {
- generatorContext.addDependency(Dependency.builder()
- .groupId("org.hamcrest")
- .artifactId("hamcrest")
- .testImplementation());
- }
-}
diff --git a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/test/HamcrestValidator.java b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/test/HamcrestValidator.java
deleted file mode 100644
index c25e21c7cf..0000000000
--- a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/test/HamcrestValidator.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.grails.forge.feature.test;
-
-import jakarta.inject.Singleton;
-import org.grails.forge.application.ApplicationType;
-import org.grails.forge.feature.Feature;
-import org.grails.forge.feature.validation.FeatureValidator;
-import org.grails.forge.options.Options;
-
-import java.util.Set;
-
-@Singleton
-public class HamcrestValidator implements FeatureValidator {
- @Override
- public void validatePreProcessing(Options options, ApplicationType applicationType, Set<Feature> features) {
- if (features.stream().anyMatch(f -> f instanceof Hamcrest)) {
- if (features.stream().noneMatch(f -> (f instanceof Junit))) {
- throw new IllegalArgumentException("Hamcrest requires JUnit.");
- }
- }
- }
-
- @Override
- public void validatePostProcessing(Options options, ApplicationType applicationType, Set<Feature> features) {
-
- }
-}
diff --git a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/test/Junit.java b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/test/Junit.java
deleted file mode 100644
index 962fa89c2e..0000000000
--- a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/test/Junit.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.grails.forge.feature.test;
-
-import io.micronaut.core.annotation.NonNull;
-import jakarta.inject.Singleton;
-import org.grails.forge.application.ApplicationType;
-import org.grails.forge.application.generator.GeneratorContext;
-import org.grails.forge.build.dependencies.Dependency;
-import org.grails.forge.feature.DefaultFeature;
-import org.grails.forge.feature.Feature;
-import org.grails.forge.options.Options;
-import org.grails.forge.options.TestFramework;
-
-import java.util.Set;
-
-@Singleton
-public class Junit implements TestFeature, DefaultFeature {
-
- @Override
- public String getTitle() {
- return "JUnit 5";
- }
-
- @NonNull
- @Override
- public String getName() {
- return "junit";
- }
-
- @NonNull
- @Override
- public String getDescription() {
- return "Configure JUnit 5 for Grails application.";
- }
-
- @Override
- public void doApply(GeneratorContext generatorContext) {
- generatorContext.addDependency(Dependency.builder()
- .groupId("org.junit.jupiter")
- .artifactId("junit-jupiter")
- .testImplementation());
- }
-
- @Override
- public TestFramework getTestFramework() {
- return TestFramework.JUNIT;
- }
-
- @Override
- public boolean shouldApply(ApplicationType applicationType, Options options, Set<Feature> selectedFeatures) {
- return options.getTestFramework() == TestFramework.JUNIT;
- }
-}
diff --git a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/test/Mockito.java b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/test/Mockito.java
index 73f73154a5..02cf19a937 100644
--- a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/test/Mockito.java
+++ b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/test/Mockito.java
@@ -64,7 +64,7 @@ public class Mockito implements DefaultFeature {
@Override
public boolean shouldApply(ApplicationType applicationType, Options options, Set<Feature> selectedFeatures) {
- return selectedFeatures.stream().anyMatch(f -> f instanceof TestFeature);
+ return selectedFeatures.stream().anyMatch(f -> f instanceof Spock);
}
@Override
diff --git a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/test/MockitoValidator.java b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/test/MockitoValidator.java
index 9316d60178..6acafa48f6 100644
--- a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/test/MockitoValidator.java
+++ b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/test/MockitoValidator.java
@@ -31,7 +31,7 @@ public class MockitoValidator implements FeatureValidator {
@Override
public void validatePreProcessing(Options options, ApplicationType applicationType, Set<Feature> features) {
if (features.stream().anyMatch(f -> f instanceof Mockito)) {
- if (features.stream().noneMatch(f -> (f instanceof Junit || f instanceof Spock))) {
+ if (features.stream().noneMatch(f -> (f instanceof Spock))) {
throw new IllegalArgumentException("Mockito requires JUnit or Spock.");
}
}
diff --git a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/test/Spock.java b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/test/Spock.java
index 0ae0275df8..b897413111 100644
--- a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/test/Spock.java
+++ b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/test/Spock.java
@@ -25,12 +25,11 @@ import org.grails.forge.build.dependencies.Dependency;
import org.grails.forge.feature.DefaultFeature;
import org.grails.forge.feature.Feature;
import org.grails.forge.options.Options;
-import org.grails.forge.options.TestFramework;
import java.util.Set;
@Singleton
-public class Spock implements TestFeature, DefaultFeature {
+public class Spock implements Feature, DefaultFeature {
@Override
public String getName() {
@@ -38,7 +37,12 @@ public class Spock implements TestFeature, DefaultFeature {
}
@Override
- public void doApply(GeneratorContext generatorContext) {
+ public boolean supports(ApplicationType applicationType) {
+ return true;
+ }
+
+ @Override
+ public void apply(GeneratorContext generatorContext) {
generatorContext.addDependency(Dependency.builder()
.groupId("org.spockframework")
.artifactId("spock-core")
@@ -46,13 +50,8 @@ public class Spock implements TestFeature, DefaultFeature {
.build());
}
- @Override
- public TestFramework getTestFramework() {
- return TestFramework.SPOCK;
- }
-
@Override
public boolean shouldApply(ApplicationType applicationType, Options options, Set<Feature> selectedFeatures) {
- return options.getTestFramework() == null || options.getTestFramework() == TestFramework.SPOCK;
+ return true;
}
}
diff --git a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/test/TestFeature.java b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/test/TestFeature.java
deleted file mode 100644
index 8811e97d99..0000000000
--- a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/test/TestFeature.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.grails.forge.feature.test;
-
-import org.grails.forge.application.ApplicationType;
-import org.grails.forge.application.generator.GeneratorContext;
-import org.grails.forge.feature.Category;
-import org.grails.forge.feature.FeaturePhase;
-import org.grails.forge.feature.OneOfFeature;
-import org.grails.forge.options.TestFramework;
-
-public interface TestFeature extends OneOfFeature {
-
- @Override
- default Class<?> getFeatureClass() {
- return TestFeature.class;
- }
-
- @Override
- default boolean isVisible() {
- return false;
- }
-
- @Override
- default int getOrder() {
- return FeaturePhase.TEST.getOrder();
- }
-
- @Override
- default String getCategory() {
- return Category.TESTING;
- }
-
- @Override
- default void apply(GeneratorContext generatorContext) {
- doApply(generatorContext);
- }
-
- void doApply(GeneratorContext generatorContext);
-
- TestFramework getTestFramework();
-
- default boolean isJunit() {
- return getTestFramework() == TestFramework.JUNIT;
- }
-
- default boolean isSpock() {
- return getTestFramework() == TestFramework.SPOCK;
- }
-
- @Override
- default boolean supports(ApplicationType applicationType) {
- return true;
- }
-}
diff --git a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/test/template/javaJunit.rocker.raw b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/test/template/javaJunit.rocker.raw
deleted file mode 100644
index 4bb7a6aa84..0000000000
--- a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/test/template/javaJunit.rocker.raw
+++ /dev/null
@@ -1,49 +0,0 @@
-@*
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
-https://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
-*@
-
-@import org.grails.forge.application.Project
-
-@args (
-Project project
-)
-
-@if (project.getPackageName() != null) {
-package @project.getPackageName();
-}
-
-
-import io.micronaut.runtime.EmbeddedApplication;
-import io.micronaut.test.extensions.junit5.annotation.MicronautTest;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.Assertions;
-
-import jakarta.inject.Inject;
-
-@@MicronautTest
-class @project.getClassName()Test {
-
- @@Inject
- EmbeddedApplication<?> application;
-
- @@Test
- void testItWorks() {
- Assertions.assertTrue(application.isRunning());
- }
-
-}
diff --git a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/options/AbstractJunitRockerModelProvider.java b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/options/AbstractJunitRockerModelProvider.java
deleted file mode 100644
index 04c291e9ea..0000000000
--- a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/options/AbstractJunitRockerModelProvider.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.grails.forge.options;
-
-import org.grails.forge.application.Project;
-
-/**
- * Abstract implementation for {@link JunitRockerModelProvider} which supplies a {@link Project} in the constructor. You can use it to provide rocker models for each language supported by {@link TestFramework#JUNIT}.
- * @author Sergio del Amo
- */
-public abstract class AbstractJunitRockerModelProvider implements JunitRockerModelProvider {
-
- private final Project project;
-
- public AbstractJunitRockerModelProvider(Project project) {
- this.project = project;
- }
-
- public Project getProject() {
- return this.project;
- }
-}
diff --git a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/options/AbstractTestRockerModelProvider.java b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/options/AbstractTestRockerModelProvider.java
deleted file mode 100644
index 9cac7285ed..0000000000
--- a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/options/AbstractTestRockerModelProvider.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.grails.forge.options;
-
-import org.grails.forge.application.Project;
-
-/**
- * Defines an abstract class to be extended to provide a{ @link RockerModel} to create {@link com.fizzed.rocker.RockerTemplate} for tests generated by the CLI and Launch for the different {@link Language} and {@link TestFramework} valid combinations.
- * @author Sergio del Amo
- */
-public abstract class AbstractTestRockerModelProvider extends AbstractJunitRockerModelProvider
- implements TestRockerModelProvider {
-
- public AbstractTestRockerModelProvider(Project project) {
- super(project);
- }
-}
diff --git a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/options/DefaultTestRockerModelProvider.java b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/options/DefaultTestRockerModelProvider.java
index 9f25f4b266..d3e4f08785 100644
--- a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/options/DefaultTestRockerModelProvider.java
+++ b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/options/DefaultTestRockerModelProvider.java
@@ -22,12 +22,9 @@ import com.fizzed.rocker.RockerModel;
public class DefaultTestRockerModelProvider implements TestRockerModelProvider {
private final RockerModel spock;
- private final RockerModel groovyJunit;
- public DefaultTestRockerModelProvider(RockerModel spock,
- RockerModel groovyJunit) {
+ public DefaultTestRockerModelProvider(RockerModel spock) {
this.spock = spock;
- this.groovyJunit = groovyJunit;
}
@Override
@@ -35,9 +32,4 @@ public class DefaultTestRockerModelProvider implements TestRockerModelProvider {
return spock;
}
- @Override
- public RockerModel groovyJunit() {
- return groovyJunit;
- }
-
}
diff --git a/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/TestFramework.java b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/options/DevelopmentReloading.java
similarity index 71%
rename from grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/TestFramework.java
rename to grails-forge/grails-forge-core/src/main/java/org/grails/forge/options/DevelopmentReloading.java
index 6bfe7bd9f1..7408e09b52 100644
--- a/grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/TestFramework.java
+++ b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/options/DevelopmentReloading.java
@@ -16,17 +16,19 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.grails.forge.api;
+package org.grails.forge.options;
import io.micronaut.core.annotation.NonNull;
import java.util.Locale;
-public enum TestFramework {
- JUNIT,
- SPOCK;
+public enum DevelopmentReloading {
- static final TestFramework DEFAULT_OPTION = SPOCK;
+ DEVTOOLS,
+ JREBEL,
+ NONE;
+
+ public static final DevelopmentReloading DEFAULT_OPTION = DEVTOOLS;
@Override
public String toString() {
@@ -38,14 +40,11 @@ public enum TestFramework {
return name().toLowerCase(Locale.ENGLISH);
}
- public org.grails.forge.options.TestFramework toTestFramework() {
- switch (this) {
- case SPOCK:
- return org.grails.forge.options.TestFramework.SPOCK;
- default:
- case JUNIT:
- return org.grails.forge.options.TestFramework.JUNIT;
- }
+ public DevelopmentReloading toDevelopmentReloading() {
+ return switch (this) {
+ case DEVTOOLS -> DevelopmentReloading.DEVTOOLS;
+ case JREBEL -> DevelopmentReloading.JREBEL;
+ default -> DevelopmentReloading.NONE;
+ };
}
-
}
diff --git a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/options/FeatureFilter.java b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/options/FeatureFilter.java
index dec20f6f65..a0cc294b4e 100644
--- a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/options/FeatureFilter.java
+++ b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/options/FeatureFilter.java
@@ -23,8 +23,8 @@ import io.micronaut.core.annotation.Introspected;
@Introspected
public class FeatureFilter {
- @JsonProperty("test")
- private TestFramework test;
+ @JsonProperty("reloading")
+ private DevelopmentReloading reloading;
@JsonProperty("gorm")
private GormImpl gorm;
@JsonProperty("servlet")
@@ -32,12 +32,12 @@ public class FeatureFilter {
@JsonProperty("javaVersion")
private JdkVersion javaVersion;
- public TestFramework getTest() {
- return test;
+ public DevelopmentReloading getReloading() {
+ return reloading;
}
- public void setTest(TestFramework test) {
- this.test = test;
+ public void setReloading(DevelopmentReloading reloading) {
+ this.reloading = reloading;
}
public GormImpl getGorm() {
diff --git a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/options/JunitRockerModelProvider.java b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/options/JunitRockerModelProvider.java
deleted file mode 100644
index 382cc37702..0000000000
--- a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/options/JunitRockerModelProvider.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.grails.forge.options;
-
-import com.fizzed.rocker.RockerModel;
-
-public interface JunitRockerModelProvider {
- /**
- *
- * @param language Selected language
- * @return A {@link RockerModel}
- * @throws IllegalArgumentException if the test combination is not handled
- */
- default RockerModel findJunitModel(Language language) {
- switch (language) {
- case GROOVY:
- return groovyJunit();
- default:
- throw new IllegalArgumentException("unable to find a junit RockerModel for lang: " + language.getName());
- }
- }
-
- /**
- *
- * @return {@link RockerModel} for {@link TestFramework#JUNIT} and {@link Language#GROOVY}
- */
- RockerModel groovyJunit();
-
-}
diff --git a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/options/Language.java b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/options/Language.java
index d5efd365a0..a110247a31 100644
--- a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/options/Language.java
+++ b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/options/Language.java
@@ -28,7 +28,7 @@ import java.util.Locale;
import java.util.Set;
public enum Language implements IncludesDefaults<LanguageDefaults> {
- GROOVY("groovy", new LanguageDefaults(TestFramework.SPOCK, BuildTool.GRADLE));
+ GROOVY("groovy", new LanguageDefaults(DevelopmentReloading.DEVTOOLS, BuildTool.GRADLE));
public static final Language DEFAULT_OPTION = GROOVY;
diff --git a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/options/Options.java b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/options/Options.java
index f510ffd0a5..b3ab6a01bb 100644
--- a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/options/Options.java
+++ b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/options/Options.java
@@ -30,21 +30,21 @@ public class Options implements ConvertibleValues<Object> {
private final OperatingSystem operatingSystem;
- private final TestFramework testFramework;
+ private final DevelopmentReloading reloading;
private final BuildTool buildTool;
private final GormImpl gormImpl;
private final ServletImpl servletImpl;
private final JdkVersion javaVersion;
private final ConvertibleValuesMap<Object> additionalOptions;
- public Options(TestFramework testFramework,
+ public Options(DevelopmentReloading reloading,
GormImpl gormImpl,
ServletImpl servletImpl,
JdkVersion javaVersion,
OperatingSystem operatingSystem,
Map<String, Object> additionalOptions) {
- this.testFramework = testFramework;
+ this.reloading = reloading;
this.buildTool = BuildTool.DEFAULT_OPTION;
this.gormImpl = gormImpl;
this.servletImpl = servletImpl;
@@ -53,56 +53,56 @@ public class Options implements ConvertibleValues<Object> {
this.additionalOptions = new ConvertibleValuesMap<>(additionalOptions);
}
- public Options(TestFramework testFramework,
+ public Options(DevelopmentReloading reloading,
GormImpl gormImpl,
ServletImpl servletImpl,
JdkVersion javaVersion,
OperatingSystem operatingSystem) {
- this(testFramework, gormImpl, servletImpl, javaVersion, operatingSystem, Collections.emptyMap());
+ this(reloading, gormImpl, servletImpl, javaVersion, operatingSystem, Collections.emptyMap());
}
- public Options(TestFramework testFramework,
+ public Options(DevelopmentReloading reloading,
JdkVersion javaVersion,
OperatingSystem operatingSystem) {
- this(testFramework, GormImpl.DEFAULT_OPTION, ServletImpl.DEFAULT_OPTION, javaVersion, operatingSystem, Collections.emptyMap());
+ this(reloading, GormImpl.DEFAULT_OPTION, ServletImpl.DEFAULT_OPTION, javaVersion, operatingSystem, Collections.emptyMap());
}
- public Options(TestFramework testFramework,
+ public Options(DevelopmentReloading reloading,
OperatingSystem operatingSystem) {
- this(testFramework, GormImpl.DEFAULT_OPTION, ServletImpl.DEFAULT_OPTION, VersionInfo.getJavaVersion(), operatingSystem, Collections.emptyMap());
+ this(reloading, GormImpl.DEFAULT_OPTION, ServletImpl.DEFAULT_OPTION, VersionInfo.getJavaVersion(), operatingSystem, Collections.emptyMap());
}
- public Options(TestFramework testFramework,
+ public Options(DevelopmentReloading reloading,
GormImpl gormImpl,
ServletImpl servletImpl,
JdkVersion javaVersion) {
- this(testFramework, gormImpl, servletImpl, javaVersion, OperatingSystem.DEFAULT, Collections.emptyMap());
+ this(reloading, gormImpl, servletImpl, javaVersion, OperatingSystem.DEFAULT, Collections.emptyMap());
}
- public Options(TestFramework testFramework,
+ public Options(DevelopmentReloading reloading,
JdkVersion javaVersion) {
- this(testFramework, GormImpl.DEFAULT_OPTION, ServletImpl.DEFAULT_OPTION, javaVersion, OperatingSystem.DEFAULT, Collections.emptyMap());
+ this(reloading, GormImpl.DEFAULT_OPTION, ServletImpl.DEFAULT_OPTION, javaVersion, OperatingSystem.DEFAULT, Collections.emptyMap());
}
- public Options(TestFramework testFramework) {
- this(testFramework, GormImpl.DEFAULT_OPTION, ServletImpl.DEFAULT_OPTION, JdkVersion.DEFAULT_OPTION, OperatingSystem.DEFAULT, Collections.emptyMap());
+ public Options(DevelopmentReloading reloading) {
+ this(reloading, GormImpl.DEFAULT_OPTION, ServletImpl.DEFAULT_OPTION, JdkVersion.DEFAULT_OPTION, OperatingSystem.DEFAULT, Collections.emptyMap());
}
public Options() {
- this(TestFramework.DEFAULT_OPTION, GormImpl.DEFAULT_OPTION, ServletImpl.DEFAULT_OPTION, JdkVersion.DEFAULT_OPTION, OperatingSystem.DEFAULT, Collections.emptyMap());
+ this(DevelopmentReloading.DEFAULT_OPTION, GormImpl.DEFAULT_OPTION, ServletImpl.DEFAULT_OPTION, JdkVersion.DEFAULT_OPTION, OperatingSystem.DEFAULT, Collections.emptyMap());
}
public OperatingSystem getOperatingSystem() {
return operatingSystem;
}
- public TestFramework getTestFramework() {
- return testFramework;
+ public DevelopmentReloading getDevelopmentReloading() {
+ return reloading;
}
public BuildTool getBuildTool() {
@@ -137,22 +137,22 @@ public class Options implements ConvertibleValues<Object> {
}
public Options withOperatingSystem(OperatingSystem operatingSystem) {
- return new Options(testFramework, gormImpl, servletImpl, javaVersion, operatingSystem, additionalOptions.asMap());
+ return new Options(reloading, gormImpl, servletImpl, javaVersion, operatingSystem, additionalOptions.asMap());
}
- public Options withTestFramework(TestFramework testFramework) {
- return new Options(testFramework, gormImpl, servletImpl, javaVersion, operatingSystem, additionalOptions.asMap());
+ public Options withDevelopmentReloading(DevelopmentReloading reloading) {
+ return new Options(reloading, gormImpl, servletImpl, javaVersion, operatingSystem, additionalOptions.asMap());
}
public Options withGormImpl(GormImpl gormImpl) {
- return new Options(testFramework, gormImpl, servletImpl, javaVersion, operatingSystem, additionalOptions.asMap());
+ return new Options(reloading, gormImpl, servletImpl, javaVersion, operatingSystem, additionalOptions.asMap());
}
public Options withServletImpl(ServletImpl servletImpl) {
- return new Options(testFramework, gormImpl, servletImpl, javaVersion, operatingSystem, additionalOptions.asMap());
+ return new Options(reloading, gormImpl, servletImpl, javaVersion, operatingSystem, additionalOptions.asMap());
}
public Options withJavaVersion(JdkVersion javaVersion) {
- return new Options(testFramework, gormImpl, servletImpl, javaVersion, operatingSystem, additionalOptions.asMap());
+ return new Options(reloading, gormImpl, servletImpl, javaVersion, operatingSystem, additionalOptions.asMap());
}
}
diff --git a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/options/TestFramework.java b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/options/TestFramework.java
index 0390372ae3..32f75e126f 100644
--- a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/options/TestFramework.java
+++ b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/options/TestFramework.java
@@ -20,13 +20,11 @@ package org.grails.forge.options;
import io.micronaut.core.annotation.NonNull;
-import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Locale;
public enum TestFramework {
- JUNIT,
SPOCK;
public static final TestFramework DEFAULT_OPTION = SPOCK;
@@ -41,42 +39,16 @@ public enum TestFramework {
return name().toLowerCase(Locale.ENGLISH);
}
- public String getSourcePath(String path, Language language) {
- switch (this) {
- case SPOCK:
- return Language.GROOVY.getTestSrcDir() + path + getTestFrameworkSuffix() + Language.GROOVY.getExtension();
- case JUNIT:
- default:
- if (language != null) {
- return language.getTestSrcDir() + path + getTestFrameworkSuffix() + language.getExtension();
- } else {
- return Language.GROOVY.getTestSrcDir() + path + getTestFrameworkSuffix() + Language.GROOVY.getExtension();
- }
- }
+ public String getSourcePath(String path) {
+ return Language.GROOVY.getTestSrcDir() + path + getTestFrameworkSuffix() + Language.GROOVY.getExtension();
}
- public String getIntegrationSourcePath(String path, Language language) {
- switch (this) {
- case SPOCK:
- return Language.GROOVY.getIntegrationSrcDir() + path + getTestFrameworkSuffix() + Language.GROOVY.getExtension();
- case JUNIT:
- default:
- if (language != null) {
- return language.getIntegrationSrcDir() + path + getTestFrameworkSuffix() + language.getExtension();
- } else {
- return Language.GROOVY.getIntegrationSrcDir() + path + getTestFrameworkSuffix() + Language.GROOVY.getExtension();
- }
- }
+ public String getIntegrationSourcePath(String path) {
+ return Language.GROOVY.getIntegrationSrcDir() + path + getTestFrameworkSuffix() + Language.GROOVY.getExtension();
}
public String getTestFrameworkSuffix() {
- switch (this) {
- case SPOCK:
- return "Spec.";
- case JUNIT:
- default:
- return "Test.";
- }
+ return "Spec.";
}
/**
@@ -87,8 +59,6 @@ public enum TestFramework {
switch (this) {
case SPOCK:
return Collections.singletonList(Language.GROOVY);
- case JUNIT:
- return Arrays.asList(Language.GROOVY);
default:
throw new RuntimeException("No list of supported languages have been defined for " + this.getName());
}
@@ -101,7 +71,6 @@ public enum TestFramework {
public Language getDefaultLanguage() {
switch (this) {
case SPOCK:
- case JUNIT:
return Language.GROOVY;
default:
throw new RuntimeException("No default language have been defined for " + this.getName());
@@ -109,9 +78,6 @@ public enum TestFramework {
}
public org.grails.forge.options.TestFramework toTestFramework() {
- return switch (this) {
- case SPOCK -> TestFramework.SPOCK;
- default -> TestFramework.JUNIT;
- };
+ return TestFramework.SPOCK;
}
}
diff --git a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/options/TestRockerModelProvider.java b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/options/TestRockerModelProvider.java
index c032e1fd16..b172992610 100644
--- a/grails-forge/grails-forge-core/src/main/java/org/grails/forge/options/TestRockerModelProvider.java
+++ b/grails-forge/grails-forge-core/src/main/java/org/grails/forge/options/TestRockerModelProvider.java
@@ -20,23 +20,20 @@ package org.grails.forge.options;
import com.fizzed.rocker.RockerModel;
-public interface TestRockerModelProvider extends JunitRockerModelProvider {
+public interface TestRockerModelProvider {
/**
*
- * @param language Selected language
* @param testFramework selected test framework
* @return A {@link RockerModel}
* @throws IllegalArgumentException if the test framework / language combination is not handled
*/
- default RockerModel findModel(Language language, TestFramework testFramework) throws IllegalArgumentException {
+ default RockerModel findModel(TestFramework testFramework) throws IllegalArgumentException {
switch (testFramework) {
- case JUNIT:
- return findJunitModel(language);
case SPOCK:
return spock();
default:
- throw new IllegalArgumentException("unable to find a RockerModel for lang: " + language.getName() + "testFramework: " + testFramework.getName());
+ throw new IllegalArgumentException("unable to find a RockerModel for testFramework: " + testFramework.getName());
}
}
diff --git a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/BuildBuilder.groovy b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/BuildBuilder.groovy
index f35cc1ec9f..3a2cfa91fd 100644
--- a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/BuildBuilder.groovy
+++ b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/BuildBuilder.groovy
@@ -43,7 +43,7 @@ import java.util.function.Function
class BuildBuilder implements ProjectFixture, ContextFixture {
private List<String> features
- private TestFramework testFramework
+ private DevelopmentReloading reloading
private ApplicationType applicationType
private JdkVersion jdkVersion
private GormImpl gormImpl
@@ -73,8 +73,8 @@ class BuildBuilder implements ProjectFixture, ContextFixture {
this
}
- BuildBuilder testFramework(TestFramework testFramework) {
- this.testFramework = testFramework
+ BuildBuilder reloading(DevelopmentReloading reloading) {
+ this.reloading = reloading
this
}
@@ -105,12 +105,12 @@ class BuildBuilder implements ProjectFixture, ContextFixture {
String render() {
List<String> featureNames = this.features ?: []
- TestFramework testFramework = this.testFramework ?: TestFramework.SPOCK
+ DevelopmentReloading reloading = this.reloading ?: DevelopmentReloading.DEVTOOLS
ApplicationType type = this.applicationType ?: ApplicationType.WEB
Project project = this.project ?: buildProject()
JdkVersion jdkVersion = this.jdkVersion ?: JdkVersion.DEFAULT_OPTION
- final Options options = new Options(testFramework, gormImpl, servletImpl, jdkVersion, operatingSystem)
+ final Options options = new Options(reloading, gormImpl, servletImpl, jdkVersion, operatingSystem)
Features features = getFeatures(featureNames, options, type)
GradleBuild build = gradleBuild(options, features, project, type)
@@ -123,12 +123,12 @@ class BuildBuilder implements ProjectFixture, ContextFixture {
String renderBuildSrc() {
List<String> featureNames = this.features ?: []
featureNames.add("gradle-build-src")
- TestFramework testFramework = this.testFramework ?: TestFramework.SPOCK
+ DevelopmentReloading reloading = this.reloading ?: DevelopmentReloading.DEVTOOLS
ApplicationType type = this.applicationType ?: ApplicationType.WEB
Project project = this.project ?: buildProject()
JdkVersion jdkVersion = this.jdkVersion ?: JdkVersion.DEFAULT_OPTION
- Options options = new Options(testFramework, jdkVersion)
+ Options options = new Options(reloading, jdkVersion)
Features features = getFeatures(featureNames, options, type)
String grailsVersion = VersionInfo.grailsVersion
GradleBuild build = gradleBuild(options, features, project, type)
diff --git a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/build/dependencies/GradleConfigurationSpec.groovy b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/build/dependencies/GradleConfigurationSpec.groovy
index 28a4317396..b9ce10e368 100644
--- a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/build/dependencies/GradleConfigurationSpec.groovy
+++ b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/build/dependencies/GradleConfigurationSpec.groovy
@@ -20,6 +20,7 @@
package org.grails.forge.build.dependencies
import org.grails.forge.build.gradle.GradleConfiguration
+import org.grails.forge.options.DevelopmentReloading
import org.grails.forge.options.Language
import org.grails.forge.options.TestFramework
import spock.lang.Specification
@@ -35,7 +36,7 @@ class GradleConfigurationSpec extends Specification {
void "it is possible to adapt from source and phases to Gradle configuration"(Source source,
List<Phase> phases, GradleConfiguration configuration,
String description) {
- configuration == GradleConfiguration.of(new Scope(source, phases), Language.GROOVY, TestFramework.JUNIT).get()
+ configuration == GradleConfiguration.of(new Scope(source, phases), DevelopmentReloading.DEVTOOLS).get()
where:
source | phases || configuration
diff --git a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/build/dependencies/GradleDependencyComparatorSpec.groovy b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/build/dependencies/GradleDependencyComparatorSpec.groovy
index 6015e8fadc..61f790a2e1 100644
--- a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/build/dependencies/GradleDependencyComparatorSpec.groovy
+++ b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/build/dependencies/GradleDependencyComparatorSpec.groovy
@@ -21,6 +21,7 @@ package org.grails.forge.build.dependencies
import org.grails.forge.application.generator.GeneratorContext
import org.grails.forge.build.gradle.GradleDependency
+import org.grails.forge.options.DevelopmentReloading
import org.grails.forge.options.TestFramework
import spock.lang.Specification
@@ -29,7 +30,7 @@ class GradleDependencyComparatorSpec extends Specification {
void "sort based on gradle configuration"() {
given:
def ctx = Stub(GeneratorContext) {
- getTestFramework() >> TestFramework.JUNIT
+ getDevelopmentReloading() >> DevelopmentReloading.DEVTOOLS
}
List<GradleDependency> dependencies =
[dep(Dependency.builder().groupId("io.micronaut").artifactId("micronaut-validation").implementation(), ctx),
diff --git a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/build/gradle/GradleSpec.groovy b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/build/gradle/GradleSpec.groovy
index fecca0fb5b..47409af06d 100644
--- a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/build/gradle/GradleSpec.groovy
+++ b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/build/gradle/GradleSpec.groovy
@@ -25,6 +25,7 @@ import org.grails.forge.application.ApplicationType
import org.grails.forge.fixture.CommandOutputFixture
import org.grails.forge.fixture.ContextFixture
import org.grails.forge.fixture.ProjectFixture
+import org.grails.forge.options.DevelopmentReloading
import org.grails.forge.options.Options
import org.grails.forge.options.TestFramework
import spock.lang.Specification
@@ -45,7 +46,7 @@ class GradleSpec extends Specification implements ProjectFixture, ContextFixture
void "test build properties"() {
given:
- final def output = generate(ApplicationType.WEB, new Options(TestFramework.SPOCK))
+ final def output = generate(ApplicationType.WEB, new Options(DevelopmentReloading.DEVTOOLS))
final String gradleProps = output["gradle.properties"]
expect:
@@ -57,7 +58,7 @@ class GradleSpec extends Specification implements ProjectFixture, ContextFixture
void "test build gradle"() {
given:
- final def output = generate(ApplicationType.WEB, new Options(TestFramework.SPOCK))
+ final def output = generate(ApplicationType.WEB, new Options(DevelopmentReloading.DEVTOOLS))
final String buildGradle = output["build.gradle"]
expect:
@@ -68,7 +69,7 @@ class GradleSpec extends Specification implements ProjectFixture, ContextFixture
void "test settings.gradle"() {
given:
- final def output = generate(ApplicationType.WEB, new Options(TestFramework.SPOCK), ["gradle-settings-file"])
+ final def output = generate(ApplicationType.WEB, new Options(DevelopmentReloading.DEVTOOLS), ["gradle-settings-file"])
final String settingsGradle = output["settings.gradle"]
expect:
@@ -77,7 +78,7 @@ class GradleSpec extends Specification implements ProjectFixture, ContextFixture
void "test buildSrc/build.gradle"() {
given:
- def output = generate(ApplicationType.WEB, new Options(TestFramework.SPOCK), ["gradle-build-src"])
+ def output = generate(ApplicationType.WEB, new Options(DevelopmentReloading.DEVTOOLS), ["gradle-build-src"])
String buildSrcGradle = output["buildSrc/build.gradle"]
expect:
@@ -92,7 +93,7 @@ class GradleSpec extends Specification implements ProjectFixture, ContextFixture
void "no settings.gradle file is created without the 'gradle-settings-file' feature"() {
given:
- def output = generate(ApplicationType.WEB, new Options(TestFramework.SPOCK))
+ def output = generate(ApplicationType.WEB, new Options(DevelopmentReloading.DEVTOOLS))
String settingsGradle = output["settings.gradle"]
expect:
@@ -101,7 +102,7 @@ class GradleSpec extends Specification implements ProjectFixture, ContextFixture
void "no buildSrc/build.gradle file is created without the 'gradle-build-src' feature"() {
given:
- def output = generate(ApplicationType.WEB, new Options(TestFramework.SPOCK))
+ def output = generate(ApplicationType.WEB, new Options(DevelopmentReloading.DEVTOOLS))
String buildSrcGradle = output["buildSrc/settings.gradle"]
expect:
diff --git a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/asciidoctor/AsciidoctorSpec.groovy b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/asciidoctor/AsciidoctorSpec.groovy
index 8172bab502..676f88319d 100644
--- a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/asciidoctor/AsciidoctorSpec.groovy
+++ b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/asciidoctor/AsciidoctorSpec.groovy
@@ -23,6 +23,7 @@ import org.grails.forge.ApplicationContextSpec
import org.grails.forge.application.ApplicationType
import org.grails.forge.feature.Features
import org.grails.forge.fixture.CommandOutputFixture
+import org.grails.forge.options.DevelopmentReloading
import org.grails.forge.options.JdkVersion
import org.grails.forge.options.Options
import org.grails.forge.options.TestFramework
@@ -39,7 +40,7 @@ class AsciidoctorSpec extends ApplicationContextSpec implements CommandOutputFix
void "test asciidoctor gradle configurations"() {
given:
- final def output = generate(ApplicationType.WEB, new Options(TestFramework.SPOCK), ["asciidoctor"])
+ final def output = generate(ApplicationType.WEB, new Options(DevelopmentReloading.DEVTOOLS), ["asciidoctor"])
final def buildGradle = output["build.gradle"]
expect:
@@ -49,7 +50,7 @@ class AsciidoctorSpec extends ApplicationContextSpec implements CommandOutputFix
void "test asciidoctor gradle configurations"() {
given:
- final def output = generate(ApplicationType.WEB, new Options(TestFramework.SPOCK), ["asciidoctor"])
+ final def output = generate(ApplicationType.WEB, new Options(DevelopmentReloading.DEVTOOLS), ["asciidoctor"])
final def asciidocGradle = output["gradle/asciidoc.gradle"]
expect:
diff --git a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/assetPipeline/AssetPipelineSpec.groovy b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/assetPipeline/AssetPipelineSpec.groovy
index 5359b2b004..d99b13c3a8 100644
--- a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/assetPipeline/AssetPipelineSpec.groovy
+++ b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/assetPipeline/AssetPipelineSpec.groovy
@@ -24,6 +24,7 @@ import org.grails.forge.BuildBuilder
import org.grails.forge.application.ApplicationType
import org.grails.forge.feature.Features
import org.grails.forge.fixture.CommandOutputFixture
+import org.grails.forge.options.DevelopmentReloading
import org.grails.forge.options.JdkVersion
import org.grails.forge.options.Options
import org.grails.forge.options.TestFramework
@@ -95,7 +96,7 @@ assets {
void "test assets files are present"() {
given:
- final Map<String, String> output = generate(ApplicationType.WEB, new Options(TestFramework.SPOCK))
+ final Map<String, String> output = generate(ApplicationType.WEB, new Options(DevelopmentReloading.DEVTOOLS))
expect:
output.containsKey("grails-app/assets/images/advancedgrails.svg")
@@ -115,7 +116,7 @@ assets {
@Unroll
void "test feature asset-pipeline-grails is not supported for #applicationType application"(ApplicationType applicationType) {
when:
- generate(applicationType, new Options(TestFramework.SPOCK), ["asset-pipeline-grails"])
+ generate(applicationType, new Options(DevelopmentReloading.DEVTOOLS), ["asset-pipeline-grails"])
then:
def e = thrown(IllegalArgumentException)
diff --git a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/database/HibernateGormSpec.groovy b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/database/HibernateGormSpec.groovy
index 2637a0061d..d24c6c7936 100644
--- a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/database/HibernateGormSpec.groovy
+++ b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/database/HibernateGormSpec.groovy
@@ -26,6 +26,7 @@ import org.grails.forge.application.ApplicationType
import org.grails.forge.application.generator.GeneratorContext
import org.grails.forge.feature.Features
import org.grails.forge.fixture.CommandOutputFixture
+import org.grails.forge.options.DevelopmentReloading
import org.grails.forge.options.JdkVersion
import org.grails.forge.options.Options
import org.grails.forge.options.TestFramework
@@ -65,7 +66,7 @@ class HibernateGormSpec extends ApplicationContextSpec implements CommandOutputF
void "test buildSrc is present for buildscript dependencies"() {
given:
- final def output = generate(ApplicationType.WEB, new Options(TestFramework.SPOCK))
+ final def output = generate(ApplicationType.WEB, new Options(DevelopmentReloading.DEVTOOLS))
final def buildGradle = output["build.gradle"]
expect:
@@ -89,7 +90,7 @@ class HibernateGormSpec extends ApplicationContextSpec implements CommandOutputF
void "test match values of datasource config"() {
when:
- final def output = generate(ApplicationType.WEB, new Options(TestFramework.SPOCK))
+ final def output = generate(ApplicationType.WEB, new Options(DevelopmentReloading.DEVTOOLS))
final String applicationYaml = output["grails-app/conf/application.yml"]
def config = new YamlSlurper().parseText(applicationYaml)
diff --git a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/database/TestContainersSpec.groovy b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/database/TestContainersSpec.groovy
index 6c62fcd5e0..3f52301cb8 100644
--- a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/database/TestContainersSpec.groovy
+++ b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/database/TestContainersSpec.groovy
@@ -21,6 +21,7 @@ package org.grails.forge.feature.database
import org.grails.forge.ApplicationContextSpec
import org.grails.forge.BuildBuilder
+import org.grails.forge.options.DevelopmentReloading
import org.grails.forge.options.JdkVersion
import org.grails.forge.options.TestFramework
@@ -93,30 +94,15 @@ class TestContainersSpec extends ApplicationContextSpec {
template.contains('testImplementation "org.testcontainers:testcontainers"')
}
- void "testframework dependency is present for gradle for feature #feature and spock framework"() {
+ void "reloading dependency is present for gradle for feature #feature and devtools"() {
when:
def template = new BuildBuilder(beanContext)
.features([feature])
- .testFramework(TestFramework.SPOCK)
+ .reloading(DevelopmentReloading.DEVTOOLS)
.render()
then:
- template.contains('testImplementation "org.testcontainers:spock"')
-
- where:
- feature << ["mongo-sync", "mysql", "postgres", "sqlserver"]
- }
-
- void "testframework dependency is present for gradle for feature #feature and junit framework"() {
-
- when:
- def template = new BuildBuilder(beanContext)
- .features([feature])
- .testFramework(TestFramework.JUNIT)
- .render()
-
- then:
- template.contains('testImplementation "org.testcontainers:junit-jupiter"')
+ template.contains('developmentOnly "org.springframework.boot:spring-boot-devtools"')
where:
feature << ["mongo-sync", "mysql", "postgres", "sqlserver"]
diff --git a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/github/workflows/PlainGithubWorkflowSpec.groovy b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/github/workflows/PlainGithubWorkflowSpec.groovy
index c9d06dda3a..d153e648c9 100644
--- a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/github/workflows/PlainGithubWorkflowSpec.groovy
+++ b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/github/workflows/PlainGithubWorkflowSpec.groovy
@@ -24,6 +24,7 @@ import org.grails.forge.application.ApplicationType
import org.grails.forge.feature.github.workflows.plain.PlainGithubWorkflowFeature
import org.grails.forge.fixture.CommandOutputFixture
import org.grails.forge.options.BuildTool
+import org.grails.forge.options.DevelopmentReloading
import org.grails.forge.options.JdkVersion
import org.grails.forge.options.Options
import org.grails.forge.options.TestFramework
@@ -35,7 +36,7 @@ class PlainGithubWorkflowSpec extends BeanContextSpec implements CommandOutputFi
void 'test github workflow is created for #buildTool'(BuildTool buildTool, String workflowName) {
when:
def output = generate(ApplicationType.WEB,
- new Options(TestFramework.SPOCK),
+ new Options(DevelopmentReloading.DEVTOOLS),
[PlainGithubWorkflowFeature.NAME])
def workflow = output[".github/workflows/${workflowName}"]
@@ -52,7 +53,7 @@ class PlainGithubWorkflowSpec extends BeanContextSpec implements CommandOutputFi
void 'test github gradle workflow java version for #version'(JdkVersion version) {
when:
def output = generate(ApplicationType.WEB,
- new Options(TestFramework.JUNIT, version),
+ new Options(DevelopmentReloading.DEVTOOLS, version),
[PlainGithubWorkflowFeature.NAME])
def workflow = output['.github/workflows/gradle.yml']
diff --git a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/grails/GrailsBaseSpec.groovy b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/grails/GrailsBaseSpec.groovy
index 630568caa7..078a4ecd96 100644
--- a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/grails/GrailsBaseSpec.groovy
+++ b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/grails/GrailsBaseSpec.groovy
@@ -22,6 +22,7 @@ package org.grails.forge.feature.grails
import org.grails.forge.BeanContextSpec
import org.grails.forge.application.ApplicationType
import org.grails.forge.fixture.CommandOutputFixture
+import org.grails.forge.options.DevelopmentReloading
import org.grails.forge.options.JdkVersion
import org.grails.forge.options.Options
import org.grails.forge.options.TestFramework
@@ -32,7 +33,7 @@ class GrailsBaseSpec extends BeanContextSpec implements CommandOutputFixture {
void "test grails base dependencies"() {
when:
- def output = generate(ApplicationType.WEB, new Options(TestFramework.SPOCK))
+ def output = generate(ApplicationType.WEB, new Options(DevelopmentReloading.DEVTOOLS))
def buildGradle = output['build.gradle']
then:
@@ -43,7 +44,7 @@ class GrailsBaseSpec extends BeanContextSpec implements CommandOutputFixture {
void "test src/main directories are present"() {
given:
- final def output = generate(ApplicationType.WEB, new Options(TestFramework.SPOCK))
+ final def output = generate(ApplicationType.WEB, new Options(DevelopmentReloading.DEVTOOLS))
expect:
output.containsKey("src/main/groovy/.gitkeep")
@@ -54,7 +55,7 @@ class GrailsBaseSpec extends BeanContextSpec implements CommandOutputFixture {
@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))
+ final def output = generate(applicationType, new Options(DevelopmentReloading.DEVTOOLS))
then:
@@ -69,7 +70,7 @@ class GrailsBaseSpec extends BeanContextSpec implements CommandOutputFixture {
@Unroll
void "test domain and services directories are present for ApplicationType.REST_API"() {
when:
- final def output = generate(applicationType, new Options(TestFramework.SPOCK))
+ final def output = generate(applicationType, new Options(DevelopmentReloading.DEVTOOLS))
then:
@@ -80,4 +81,4 @@ class GrailsBaseSpec extends BeanContextSpec implements CommandOutputFixture {
where:
applicationType << [ApplicationType.REST_API]
}
-}
\ No newline at end of file
+}
diff --git a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/grails/GrailsDefaultPluginsSpec.groovy b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/grails/GrailsDefaultPluginsSpec.groovy
index 7a66034046..11a5251aee 100644
--- a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/grails/GrailsDefaultPluginsSpec.groovy
+++ b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/grails/GrailsDefaultPluginsSpec.groovy
@@ -22,6 +22,7 @@ package org.grails.forge.feature.grails
import org.grails.forge.ApplicationContextSpec
import org.grails.forge.application.ApplicationType
import org.grails.forge.fixture.CommandOutputFixture
+import org.grails.forge.options.DevelopmentReloading
import org.grails.forge.options.JdkVersion
import org.grails.forge.options.Options
import org.grails.forge.options.TestFramework
@@ -30,7 +31,7 @@ class GrailsDefaultPluginsSpec extends ApplicationContextSpec implements Command
void "test that default grails plugins are present"() {
given:
- final Map<String, String> output = generate(ApplicationType.WEB, new Options(TestFramework.SPOCK))
+ final Map<String, String> output = generate(ApplicationType.WEB, new Options(DevelopmentReloading.DEVTOOLS))
final String buildGradle = output["build.gradle"]
expect:
@@ -42,7 +43,7 @@ class GrailsDefaultPluginsSpec extends ApplicationContextSpec implements Command
void "test i18n message properties files are present"() {
given:
- final Map<String, String> output = generate(ApplicationType.WEB, new Options(TestFramework.SPOCK))
+ final Map<String, String> output = generate(ApplicationType.WEB, new Options(DevelopmentReloading.DEVTOOLS))
expect:
output.containsKey("grails-app/i18n/messages.properties")
diff --git a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/grails/GrailsGradlePluginSpec.groovy b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/grails/GrailsGradlePluginSpec.groovy
index a1d1d09ca1..7fff4f45b0 100644
--- a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/grails/GrailsGradlePluginSpec.groovy
+++ b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/grails/GrailsGradlePluginSpec.groovy
@@ -23,6 +23,7 @@ import org.grails.forge.BeanContextSpec
import org.grails.forge.BuildBuilder
import org.grails.forge.application.ApplicationType
import org.grails.forge.fixture.CommandOutputFixture
+import org.grails.forge.options.DevelopmentReloading
import org.grails.forge.options.JdkVersion
import org.grails.forge.options.Options
import org.grails.forge.options.TestFramework
@@ -31,7 +32,7 @@ class GrailsGradlePluginSpec extends BeanContextSpec implements CommandOutputFix
void "test build gradle file and gradle properties"() {
when:
- final def output = generate(ApplicationType.WEB, new Options(TestFramework.SPOCK))
+ final def output = generate(ApplicationType.WEB, new Options(DevelopmentReloading.DEVTOOLS))
final String gradleProps = output["gradle.properties"]
then:
@@ -49,7 +50,7 @@ class GrailsGradlePluginSpec extends BeanContextSpec implements CommandOutputFix
void "test buildSrc is present for buildscript dependencies"() {
given:
- final def output = generate(ApplicationType.WEB, new Options(TestFramework.SPOCK))
+ final def output = generate(ApplicationType.WEB, new Options(DevelopmentReloading.DEVTOOLS))
final def buildGradle = output["build.gradle"]
expect:
diff --git a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/grailsProfiles/GrailsProfilesSpec.groovy b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/grailsProfiles/GrailsProfilesSpec.groovy
index 1a594a686f..570a3e26ff 100644
--- a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/grailsProfiles/GrailsProfilesSpec.groovy
+++ b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/grailsProfiles/GrailsProfilesSpec.groovy
@@ -22,6 +22,7 @@ package org.grails.forge.feature.grailsProfiles
import org.grails.forge.ApplicationContextSpec
import org.grails.forge.application.ApplicationType
import org.grails.forge.fixture.CommandOutputFixture
+import org.grails.forge.options.DevelopmentReloading
import org.grails.forge.options.JdkVersion
import org.grails.forge.options.Options
import org.grails.forge.options.TestFramework
@@ -32,7 +33,7 @@ class GrailsProfilesSpec extends ApplicationContextSpec implements CommandOutput
@Unroll
void "test profile dependency is present for #applicationType application"() {
when:
- def output = generate(applicationType, new Options(TestFramework.SPOCK))
+ def output = generate(applicationType, new Options(DevelopmentReloading.DEVTOOLS))
then:
output.containsKey("build.gradle")
@@ -45,7 +46,7 @@ class GrailsProfilesSpec extends ApplicationContextSpec implements CommandOutput
void "test config"() {
when:
- def output = generate(applicationType, new Options(TestFramework.SPOCK))
+ def output = generate(applicationType, new Options(DevelopmentReloading.DEVTOOLS))
then:
output.containsKey("grails-app/conf/application.yml")
diff --git a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/grailsWrapper/GrailsWrapperSpec.groovy b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/grailsWrapper/GrailsWrapperSpec.groovy
index 744696546c..7b25403a28 100644
--- a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/grailsWrapper/GrailsWrapperSpec.groovy
+++ b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/grailsWrapper/GrailsWrapperSpec.groovy
@@ -22,6 +22,7 @@ package org.grails.forge.feature.grailsWrapper
import org.grails.forge.ApplicationContextSpec
import org.grails.forge.application.ApplicationType
import org.grails.forge.fixture.CommandOutputFixture
+import org.grails.forge.options.DevelopmentReloading
import org.grails.forge.options.JdkVersion
import org.grails.forge.options.Options
import org.grails.forge.options.TestFramework
@@ -32,7 +33,7 @@ class GrailsWrapperSpec extends ApplicationContextSpec implements CommandOutputF
@Unroll
void "test grails-wrapper.jar, grailsw and grailsw.bat files are present for #applicationType application"() {
when:
- def output = generate(applicationType, new Options(TestFramework.SPOCK))
+ def output = generate(applicationType, new Options(DevelopmentReloading.DEVTOOLS))
then:
output.containsKey("grails-wrapper.jar")
diff --git a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/lang/GrailsApplicationSpec.groovy b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/lang/GrailsApplicationSpec.groovy
index e0f64130c1..4c00384293 100644
--- a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/lang/GrailsApplicationSpec.groovy
+++ b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/lang/GrailsApplicationSpec.groovy
@@ -22,6 +22,7 @@ package org.grails.forge.feature.lang
import org.grails.forge.BeanContextSpec
import org.grails.forge.application.ApplicationType
import org.grails.forge.fixture.CommandOutputFixture
+import org.grails.forge.options.DevelopmentReloading
import org.grails.forge.options.JdkVersion
import org.grails.forge.options.Language
import org.grails.forge.options.Options
@@ -34,7 +35,7 @@ class GrailsApplicationSpec extends BeanContextSpec implements CommandOutputFixt
void 'Application file is generated for a #applicationType application for language: groovy'() {
when:
def output = generate(applicationType,
- new Options(TestFramework.SPOCK),
+ new Options(DevelopmentReloading.DEVTOOLS),
[])
then:
@@ -50,7 +51,7 @@ class GrailsApplicationSpec extends BeanContextSpec implements CommandOutputFixt
void 'Application file is generated with annotation @PluginSource for #applicationType application type'() {
when:
def output = generate(applicationType,
- new Options(TestFramework.SPOCK),
+ new Options(DevelopmentReloading.DEVTOOLS),
[])
then:
@@ -106,7 +107,7 @@ class GrailsApplicationSpec extends BeanContextSpec implements CommandOutputFixt
void "test build plugins"() {
given:
- final def output = generate(ApplicationType.WEB, new Options(TestFramework.SPOCK))
+ final def output = generate(ApplicationType.WEB, new Options(DevelopmentReloading.DEVTOOLS))
def buildGradle = output['build.gradle']
expect:
diff --git a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/logging/LogbackSpec.groovy b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/logging/LogbackSpec.groovy
index 89fc465098..3df3a2acc2 100644
--- a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/logging/LogbackSpec.groovy
+++ b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/logging/LogbackSpec.groovy
@@ -30,7 +30,7 @@ class LogbackSpec extends ApplicationContextSpec implements CommandOutputFixture
@Unroll
void "test grails-logging dependency is present for #applicationType application"() {
when:
- def output = generate(applicationType, new Options(TestFramework.SPOCK))
+ def output = generate(applicationType, new Options(DevelopmentReloading.DEVTOOLS))
then:
output.containsKey("build.gradle")
@@ -44,7 +44,7 @@ class LogbackSpec extends ApplicationContextSpec implements CommandOutputFixture
@Unroll
void "test logback-spring.xml config file is present for #applicationType application"() {
when:
- def output = generate(applicationType, new Options(TestFramework.SPOCK))
+ def output = generate(applicationType, new Options(DevelopmentReloading.DEVTOOLS))
then:
output.containsKey("grails-app/conf/logback-spring.xml")
diff --git a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/migration/DatabaseMigrationPluginSpec.groovy b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/migration/DatabaseMigrationPluginSpec.groovy
index cfb8dfec72..b53ab1c501 100644
--- a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/migration/DatabaseMigrationPluginSpec.groovy
+++ b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/migration/DatabaseMigrationPluginSpec.groovy
@@ -23,6 +23,7 @@ import org.grails.forge.ApplicationContextSpec
import org.grails.forge.BuildBuilder
import org.grails.forge.application.ApplicationType
import org.grails.forge.fixture.CommandOutputFixture
+import org.grails.forge.options.DevelopmentReloading
import org.grails.forge.options.Options
import org.grails.forge.options.TestFramework
import spock.lang.Unroll
@@ -52,7 +53,7 @@ class DatabaseMigrationPluginSpec extends ApplicationContextSpec implements Comm
void "test dependencies are present for buildscript "() {
given:
- final def output = generate(ApplicationType.WEB, new Options(TestFramework.SPOCK), ['database-migration'])
+ final def output = generate(ApplicationType.WEB, new Options(DevelopmentReloading.DEVTOOLS), ['database-migration'])
final def buildGradle = output["build.gradle"]
expect:
@@ -63,7 +64,7 @@ class DatabaseMigrationPluginSpec extends ApplicationContextSpec implements Comm
@Unroll
void "test migrations directory is present"() {
when:
- final def output = generate(applicationType, new Options(TestFramework.SPOCK), ['database-migration'])
+ final def output = generate(applicationType, new Options(DevelopmentReloading.DEVTOOLS), ['database-migration'])
then:
output.containsKey("grails-app/migrations/.gitkeep")
diff --git a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/other/ShadePluginSpec.groovy b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/other/ShadePluginSpec.groovy
index 7b24a9dbb2..dcf3c42309 100644
--- a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/other/ShadePluginSpec.groovy
+++ b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/other/ShadePluginSpec.groovy
@@ -23,6 +23,7 @@ import org.grails.forge.ApplicationContextSpec
import org.grails.forge.application.ApplicationType
import org.grails.forge.feature.Features
import org.grails.forge.fixture.CommandOutputFixture
+import org.grails.forge.options.DevelopmentReloading
import org.grails.forge.options.Options
import org.grails.forge.options.TestFramework
@@ -38,7 +39,7 @@ class ShadePluginSpec extends ApplicationContextSpec implements CommandOutputFix
void "test shadow jar gradle configurations"() {
given:
- final def output = generate(ApplicationType.WEB, new Options(TestFramework.SPOCK), ["shade"])
+ final def output = generate(ApplicationType.WEB, new Options(DevelopmentReloading.DEVTOOLS), ["shade"])
final def buildGradle = output["build.gradle"]
expect:
diff --git a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/spring/SpringBootSpec.groovy b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/spring/SpringBootSpec.groovy
index 4653f9eacd..ac96a74b82 100644
--- a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/spring/SpringBootSpec.groovy
+++ b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/spring/SpringBootSpec.groovy
@@ -22,6 +22,7 @@ package org.grails.forge.feature.spring
import org.grails.forge.BeanContextSpec
import org.grails.forge.application.ApplicationType
import org.grails.forge.fixture.CommandOutputFixture
+import org.grails.forge.options.DevelopmentReloading
import org.grails.forge.options.JdkVersion
import org.grails.forge.options.Options
import org.grails.forge.options.TestFramework
@@ -34,7 +35,7 @@ class SpringBootSpec extends BeanContextSpec implements CommandOutputFixture {
when:
def output = generate(
applicationType,
- new Options(TestFramework.SPOCK)
+ new Options(DevelopmentReloading.DEVTOOLS)
)
final String build = output['build.gradle']
@@ -53,7 +54,7 @@ class SpringBootSpec extends BeanContextSpec implements CommandOutputFixture {
when:
def output = generate(
ApplicationType.PLUGIN,
- new Options(TestFramework.SPOCK)
+ new Options(DevelopmentReloading.DEVTOOLS)
)
final String build = output['build.gradle']
diff --git a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/spring/SpringBootVirtualThreadsSpec.groovy b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/spring/SpringBootVirtualThreadsSpec.groovy
index 8adcc6f6f5..55c9a86888 100644
--- a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/spring/SpringBootVirtualThreadsSpec.groovy
+++ b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/spring/SpringBootVirtualThreadsSpec.groovy
@@ -22,6 +22,7 @@ package org.grails.forge.feature.spring
import org.grails.forge.BeanContextSpec
import org.grails.forge.application.generator.GeneratorContext
import org.grails.forge.fixture.CommandOutputFixture
+import org.grails.forge.options.DevelopmentReloading
import org.grails.forge.options.JdkVersion
import org.grails.forge.options.Options
import org.grails.forge.options.TestFramework
@@ -30,7 +31,7 @@ class SpringBootVirtualThreadsSpec extends BeanContextSpec implements CommandOut
void "test spring boot virtual threads not enabled for JDK 17, when optional feature selected"() {
when:
- GeneratorContext commandContext = buildGeneratorContext(['spring-boot-virtual-threads'], new Options(TestFramework.DEFAULT_OPTION, JdkVersion.JDK_17))
+ GeneratorContext commandContext = buildGeneratorContext(['spring-boot-virtual-threads'], new Options(DevelopmentReloading.DEFAULT_OPTION, JdkVersion.JDK_17))
then:
commandContext.configuration.get('spring.threads.virtual.enabled'.toString()) == false
@@ -38,7 +39,7 @@ class SpringBootVirtualThreadsSpec extends BeanContextSpec implements CommandOut
void "test spring boot virtual threads enabled for JDK 24+, when optional feature selected"() {
when:
- GeneratorContext commandContext = buildGeneratorContext(['spring-boot-virtual-threads'], new Options(TestFramework.DEFAULT_OPTION, JdkVersion.JDK_24))
+ GeneratorContext commandContext = buildGeneratorContext(['spring-boot-virtual-threads'], new Options(DevelopmentReloading.DEFAULT_OPTION, JdkVersion.JDK_24))
then:
commandContext.configuration.get('spring.threads.virtual.enabled'.toString()) == true
diff --git a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/spring/SpringResourcesSpec.groovy b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/spring/SpringResourcesSpec.groovy
index a530fb4f71..bd4a6cf0ce 100644
--- a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/spring/SpringResourcesSpec.groovy
+++ b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/spring/SpringResourcesSpec.groovy
@@ -22,6 +22,7 @@ package org.grails.forge.feature.spring
import org.grails.forge.ApplicationContextSpec
import org.grails.forge.application.ApplicationType
import org.grails.forge.fixture.CommandOutputFixture
+import org.grails.forge.options.DevelopmentReloading
import org.grails.forge.options.JdkVersion
import org.grails.forge.options.Options
import org.grails.forge.options.TestFramework
@@ -32,7 +33,7 @@ class SpringResourcesSpec extends ApplicationContextSpec implements CommandOutpu
@Unroll
void "test /conf/spring/resources.groovy config file is present for #applicationType application"() {
when:
- def output = generate(applicationType, new Options(TestFramework.SPOCK))
+ def output = generate(applicationType, new Options(DevelopmentReloading.DEVTOOLS))
then:
output.containsKey("grails-app/conf/spring/resources.groovy")
diff --git a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/test/GebWithTestcontainersSpec.groovy b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/test/GebWithTestcontainersSpec.groovy
index 1dc2d616a4..12c1f76f04 100644
--- a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/test/GebWithTestcontainersSpec.groovy
+++ b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/test/GebWithTestcontainersSpec.groovy
@@ -22,6 +22,7 @@ package org.grails.forge.feature.test
import org.grails.forge.ApplicationContextSpec
import org.grails.forge.application.ApplicationType
import org.grails.forge.fixture.CommandOutputFixture
+import org.grails.forge.options.DevelopmentReloading
import org.grails.forge.options.Options
import org.grails.forge.options.TestFramework
import spock.lang.Unroll
@@ -30,7 +31,7 @@ class GebWithTestcontainersSpec extends ApplicationContextSpec implements Comman
void 'test dependencies'() {
given:
- def output = generate(ApplicationType.WEB, new Options(TestFramework.SPOCK))
+ def output = generate(ApplicationType.WEB, new Options(DevelopmentReloading.DEVTOOLS))
def buildGradle = output['build.gradle']
expect:
@@ -40,7 +41,7 @@ class GebWithTestcontainersSpec extends ApplicationContextSpec implements Comman
@Unroll
void 'test feature geb-with-testcontainers is not supported for #applicationType application'(ApplicationType applicationType) {
when:
- generate(applicationType, new Options(TestFramework.SPOCK), ['geb-with-testcontainers'])
+ generate(applicationType, new Options(DevelopmentReloading.DEVTOOLS), ['geb-with-testcontainers'])
then:
def e = thrown(IllegalArgumentException)
diff --git a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/test/GebWithWebDriverBinariesSpec.groovy b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/test/GebWithWebDriverBinariesSpec.groovy
index ecc1139be4..ba6f610375 100644
--- a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/test/GebWithWebDriverBinariesSpec.groovy
+++ b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/test/GebWithWebDriverBinariesSpec.groovy
@@ -23,6 +23,7 @@ import org.grails.forge.ApplicationContextSpec
import org.grails.forge.application.ApplicationType
import org.grails.forge.application.OperatingSystem
import org.grails.forge.fixture.CommandOutputFixture
+import org.grails.forge.options.DevelopmentReloading
import org.grails.forge.options.Options
import org.grails.forge.options.TestFramework
import spock.lang.Unroll
@@ -31,7 +32,7 @@ class GebWithWebDriverBinariesSpec extends ApplicationContextSpec implements Com
void 'test dependencies'() {
given:
- def output = generate(ApplicationType.WEB, new Options(TestFramework.SPOCK), ['geb-with-webdriver-binaries'])
+ def output = generate(ApplicationType.WEB, new Options(DevelopmentReloading.DEVTOOLS), ['geb-with-webdriver-binaries'])
def buildGradle = output['build.gradle']
expect:
@@ -44,7 +45,7 @@ class GebWithWebDriverBinariesSpec extends ApplicationContextSpec implements Com
void 'test GebConfig.groovy file is present'() {
given:
- def output = generate(ApplicationType.WEB, new Options(TestFramework.SPOCK), ['geb-with-webdriver-binaries'])
+ def output = generate(ApplicationType.WEB, new Options(DevelopmentReloading.DEVTOOLS), ['geb-with-webdriver-binaries'])
expect:
output.containsKey('src/integration-test/resources/GebConfig.groovy')
@@ -53,7 +54,7 @@ class GebWithWebDriverBinariesSpec extends ApplicationContextSpec implements Com
@Unroll
void 'test feature geb is not supported for #applicationType application'(ApplicationType applicationType) {
when:
- generate(applicationType, new Options(TestFramework.SPOCK), ['geb-with-webdriver-binaries'])
+ generate(applicationType, new Options(DevelopmentReloading.DEVTOOLS), ['geb-with-webdriver-binaries'])
then:
def e = thrown(IllegalArgumentException)
@@ -65,7 +66,7 @@ class GebWithWebDriverBinariesSpec extends ApplicationContextSpec implements Com
void 'test webdriver binaries gradle configurations'() {
given:
- def output = generate(ApplicationType.WEB, new Options(TestFramework.SPOCK), ['geb-with-webdriver-binaries'])
+ def output = generate(ApplicationType.WEB, new Options(DevelopmentReloading.DEVTOOLS), ['geb-with-webdriver-binaries'])
def buildGradle = output['build.gradle']
expect:
@@ -78,7 +79,7 @@ class GebWithWebDriverBinariesSpec extends ApplicationContextSpec implements Com
void 'test webdriver binaries gradle configurations for windows OS'() {
given:
- def output = generate(ApplicationType.WEB, new Options(TestFramework.SPOCK, OperatingSystem.WINDOWS), ['geb-with-webdriver-binaries'])
+ def output = generate(ApplicationType.WEB, new Options(DevelopmentReloading.DEVTOOLS, OperatingSystem.WINDOWS), ['geb-with-webdriver-binaries'])
def buildGradle = output['build.gradle']
expect:
diff --git a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/test/JUnitSpec.groovy b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/test/JUnitSpec.groovy
deleted file mode 100644
index 677260ddd2..0000000000
--- a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/test/JUnitSpec.groovy
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.grails.forge.feature.test
-
-import org.grails.forge.ApplicationContextSpec
-import org.grails.forge.application.ApplicationType
-import org.grails.forge.fixture.CommandOutputFixture
-import org.grails.forge.options.Options
-import org.grails.forge.options.TestFramework
-
-class JUnitSpec extends ApplicationContextSpec implements CommandOutputFixture {
-
- void "test dependencies"() {
-
- when:
- Map<String, String> output = generate(ApplicationType.WEB, new Options(TestFramework.JUNIT))
- final String buildGradle = output["build.gradle"]
-
- then:
- buildGradle.contains("testImplementation \"org.junit.jupiter:junit-jupiter")
- }
-}
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 e0f086b119..b654cd79c0 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
@@ -26,6 +26,7 @@ import org.grails.forge.application.ApplicationType
import org.grails.forge.application.generator.GeneratorContext
import org.grails.forge.feature.Features
import org.grails.forge.fixture.CommandOutputFixture
+import org.grails.forge.options.DevelopmentReloading
import org.grails.forge.options.JdkVersion
import org.grails.forge.options.Options
import org.grails.forge.options.TestFramework
@@ -91,7 +92,7 @@ class GrailsGspSpec extends ApplicationContextSpec implements CommandOutputFixtu
void "test default views are present"() {
when:
- final def output = generate(ApplicationType.WEB, new Options(TestFramework.SPOCK))
+ final def output = generate(ApplicationType.WEB, new Options(DevelopmentReloading.DEVTOOLS))
then:
output.containsKey("grails-app/views/index.gsp")
@@ -102,7 +103,7 @@ class GrailsGspSpec extends ApplicationContextSpec implements CommandOutputFixtu
@Unroll
void "test grails-gsp gradle plugins and dependencies are present for #applicationType application"() {
when:
- final def output = generate(applicationType, new Options(TestFramework.SPOCK))
+ final def output = generate(applicationType, new Options(DevelopmentReloading.DEVTOOLS))
final String build = output['build.gradle']
then:
@@ -117,7 +118,7 @@ class GrailsGspSpec extends ApplicationContextSpec implements CommandOutputFixtu
@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 def output = generate(applicationType, new Options(DevelopmentReloading.DEVTOOLS))
final String build = output['build.gradle']
then:
@@ -132,7 +133,7 @@ class GrailsGspSpec extends ApplicationContextSpec implements CommandOutputFixtu
@Unroll
void "test grails-gsp gradle plugins and dependencies are NOT present for #applicationType application"() {
when:
- final def output = generate(applicationType, new Options(TestFramework.SPOCK))
+ final def output = generate(applicationType, new Options(DevelopmentReloading.DEVTOOLS))
final String build = output['build.gradle']
then:
diff --git a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/view/json/ViewJsonSpec.groovy b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/view/json/ViewJsonSpec.groovy
index 3b79f66520..9c2acc5575 100644
--- a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/view/json/ViewJsonSpec.groovy
+++ b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/view/json/ViewJsonSpec.groovy
@@ -25,6 +25,7 @@ import org.grails.forge.application.ApplicationType
import org.grails.forge.application.generator.GeneratorContext
import org.grails.forge.feature.Features
import org.grails.forge.fixture.CommandOutputFixture
+import org.grails.forge.options.DevelopmentReloading
import org.grails.forge.options.JdkVersion
import org.grails.forge.options.Options
import org.grails.forge.options.TestFramework
@@ -57,7 +58,7 @@ class ViewJsonSpec extends ApplicationContextSpec implements CommandOutputFixtur
void "test default gson views are present"() {
when:
- final def output = generate(ApplicationType.REST_API, new Options(TestFramework.SPOCK))
+ final def output = generate(ApplicationType.REST_API, new Options(DevelopmentReloading.DEVTOOLS))
then:
output.containsKey("grails-app/views/application/index.gson")
@@ -70,7 +71,7 @@ class ViewJsonSpec extends ApplicationContextSpec implements CommandOutputFixtur
@Unroll
void "test views-json gradle plugins and dependencies are present for #applicationType application"() {
when:
- final def output = generate(applicationType, new Options(TestFramework.SPOCK))
+ final def output = generate(applicationType, new Options(DevelopmentReloading.DEVTOOLS))
final String build = output['build.gradle']
then:
@@ -87,7 +88,7 @@ class ViewJsonSpec extends ApplicationContextSpec implements CommandOutputFixtur
@Unroll
void "test views-json gradle plugins and dependencies are NOT present for #applicationType application"() {
when:
- final def output = generate(applicationType, new Options(TestFramework.SPOCK))
+ final def output = generate(applicationType, new Options(DevelopmentReloading.DEVTOOLS))
final String build = output['build.gradle']
then:
diff --git a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/view/json/ViewMarkupSpec.groovy b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/view/json/ViewMarkupSpec.groovy
index e51173cc11..166e86c2f9 100644
--- a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/view/json/ViewMarkupSpec.groovy
+++ b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/view/json/ViewMarkupSpec.groovy
@@ -53,7 +53,7 @@ class ViewMarkupSpec extends ApplicationContextSpec implements CommandOutputFixt
void "test default gml views are present"() {
when:
- final def output = generate(ApplicationType.REST_API, new Options(TestFramework.SPOCK), ["views-markup"])
+ final def output = generate(ApplicationType.REST_API, new Options(DevelopmentReloading.DEVTOOLS), ["views-markup"])
then:
output.containsKey("grails-app/views/application/index.gml")
@@ -66,7 +66,7 @@ class ViewMarkupSpec extends ApplicationContextSpec implements CommandOutputFixt
@Unroll
void "test views-markup gradle plugins and dependencies are present for #applicationType application"() {
when:
- final def output = generate(applicationType, new Options(TestFramework.SPOCK), ["views-markup"])
+ final def output = generate(applicationType, new Options(DevelopmentReloading.DEVTOOLS), ["views-markup"])
final String build = output['build.gradle']
then:
diff --git a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/web/GrailsWebSpec.groovy b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/web/GrailsWebSpec.groovy
index 4b3591d74c..ac506a34b3 100644
--- a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/web/GrailsWebSpec.groovy
+++ b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/web/GrailsWebSpec.groovy
@@ -23,6 +23,7 @@ import groovy.yaml.YamlSlurper
import org.grails.forge.ApplicationContextSpec
import org.grails.forge.application.ApplicationType
import org.grails.forge.fixture.CommandOutputFixture
+import org.grails.forge.options.DevelopmentReloading
import org.grails.forge.options.JdkVersion
import org.grails.forge.options.Options
import org.grails.forge.options.TestFramework
@@ -31,7 +32,7 @@ class GrailsWebSpec extends ApplicationContextSpec implements CommandOutputFixtu
void "test grails-web feature"() {
given:
- final def output = generate(ApplicationType.WEB, new Options(TestFramework.SPOCK))
+ final def output = generate(ApplicationType.WEB, new Options(DevelopmentReloading.DEVTOOLS))
final def buildGradle = output["build.gradle"]
expect:
@@ -40,7 +41,7 @@ class GrailsWebSpec extends ApplicationContextSpec implements CommandOutputFixtu
void "test grails-web configuration"() {
when:
- final def output = generate(ApplicationType.WEB, new Options(TestFramework.SPOCK))
+ final def output = generate(ApplicationType.WEB, new Options(DevelopmentReloading.DEVTOOLS))
final String applicationYaml = output["grails-app/conf/application.yml"]
def config = new YamlSlurper().parseText(applicationYaml)
diff --git a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/fixture/ContextFixture.groovy b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/fixture/ContextFixture.groovy
index 9936b1c6d4..41fb5ebb03 100644
--- a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/fixture/ContextFixture.groovy
+++ b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/fixture/ContextFixture.groovy
@@ -32,6 +32,7 @@ import org.grails.forge.feature.FeatureContext
import org.grails.forge.feature.Features
import org.grails.forge.feature.validation.FeatureValidator
import org.grails.forge.io.ConsoleOutput
+import org.grails.forge.options.DevelopmentReloading
import org.grails.forge.options.Language
import org.grails.forge.options.Options
import org.grails.forge.options.TestFramework
@@ -54,7 +55,7 @@ trait ContextFixture {
Features getFeatures(List<String> features,
ApplicationType applicationType = ApplicationType.WEB) {
- Options options = new Options(TestFramework.DEFAULT_OPTION)
+ Options options = new Options(DevelopmentReloading.DEFAULT_OPTION)
return getFeatures(features, options, applicationType)
}
diff --git a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/options/TestFrameworkSpec.groovy b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/options/TestFrameworkSpec.groovy
index d93853b2bb..0043cee38d 100644
--- a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/options/TestFrameworkSpec.groovy
+++ b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/options/TestFrameworkSpec.groovy
@@ -24,18 +24,16 @@ import spock.lang.Unroll
class TestFrameworkSpec extends Specification {
- @Unroll("expected test source path: #expected for path: #path , lang: #lang and test framework: #testFramework")
- void "getSourcePath returns a path with the correct language extension and test framework suffix"(Language lang,
- TestFramework testFramework,
+ @Unroll("expected test source path: #expected for path: #path and test framework: #testFramework")
+ void "getSourcePath returns a path with the correct language extension and test framework suffix"(TestFramework testFramework,
String expected,
String path) {
expect:
- expected == testFramework.getSourcePath(path, lang)
+ expected == testFramework.getSourcePath(path)
where:
- lang | testFramework || expected
- Language.GROOVY | TestFramework.JUNIT || "src/test/groovy/{packagePath}/{className}Test.groovy"
- Language.GROOVY | TestFramework.SPOCK || "src/test/groovy/{packagePath}/{className}Spec.groovy"
+ testFramework = TestFramework.SPOCK
+ expected = "src/test/groovy/{packagePath}/{className}Spec.groovy"
path = '/{packagePath}/{className}'
}
@@ -58,7 +56,6 @@ class TestFrameworkSpec extends Specification {
where:
expected | testFramework
- [Language.GROOVY] | TestFramework.JUNIT
[Language.GROOVY] | TestFramework.SPOCK
}
}
diff --git a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/options/TestRockerModelProviderSpec.groovy b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/options/TestRockerModelProviderSpec.groovy
index 0df59cb7f0..5016309681 100644
--- a/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/options/TestRockerModelProviderSpec.groovy
+++ b/grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/options/TestRockerModelProviderSpec.groovy
@@ -26,8 +26,7 @@ import spock.lang.Unroll
class TestRockerModelProviderSpec extends Specification {
@Unroll
- void "a delegate method is defined for language: #language and test framework: #testFramework "(Language language,
- TestFramework testFramework) {
+ void "a delegate method is defined for test framework: #testFramework "(TestFramework testFramework) {
given:
TestRockerModelProvider provider = new TestRockerModelProvider() {
@@ -35,21 +34,16 @@ class TestRockerModelProviderSpec extends Specification {
RockerModel spock() {
return null
}
-
- @Override
- RockerModel groovyJunit() {
- return null
- }
}
when:
- provider.findModel(language, testFramework)
+ provider.findModel(testFramework)
then:
noExceptionThrown()
where:
- [language, testFramework] << [Language.values(), TestFramework.values()].combinations()
+ testFramework << TestFramework.values()
}
}
diff --git a/grails-forge/test-core/src/test/groovy/org/grails/forge/utils/CommandSpec.groovy b/grails-forge/test-core/src/test/groovy/org/grails/forge/utils/CommandSpec.groovy
index 6560c6688d..4850b4535c 100644
--- a/grails-forge/test-core/src/test/groovy/org/grails/forge/utils/CommandSpec.groovy
+++ b/grails-forge/test-core/src/test/groovy/org/grails/forge/utils/CommandSpec.groovy
@@ -27,6 +27,7 @@ import org.grails.forge.io.ConsoleOutput
import org.grails.forge.io.FileSystemOutputHandler
import org.grails.forge.io.OutputHandler
import org.grails.forge.options.BuildTool
+import org.grails.forge.options.DevelopmentReloading
import org.grails.forge.options.Language
import org.grails.forge.options.Options
import org.grails.forge.options.TestFramework
@@ -87,10 +88,10 @@ abstract class CommandSpec extends Specification {
void generateProject(OperatingSystem operatingSystem = OperatingSystem.LINUX,
List<String> features = [],
ApplicationType applicationType = ApplicationType.WEB,
- TestFramework testFramework = TestFramework.DEFAULT_OPTION) {
+ DevelopmentReloading reloading = DevelopmentReloading.DEFAULT_OPTION) {
applicationContext.getBean(ProjectGenerator).generate(applicationType,
NameUtils.parse("example.grails.foo"),
- new Options(testFramework),
+ new Options(reloading),
operatingSystem,
features,
new FileSystemOutputHandler(dir, ConsoleOutput.NOOP),
@@ -102,7 +103,7 @@ abstract class CommandSpec extends Specification {
List<String> features = []) {
applicationContext.getBean(ProjectGenerator).generate(applicationType,
NameUtils.parse("example.grails.foo"),
- new Options(TestFramework.DEFAULT_OPTION),
+ new Options(DevelopmentReloading.DEFAULT_OPTION),
OperatingSystem.DEFAULT_OPTION,
features,
new FileSystemOutputHandler(dir, ConsoleOutput.NOOP),
diff --git a/grails-test-examples/geb/grails-cli.yml b/grails-test-examples/geb/grails-cli.yml
index 6c12b5fcbc..499280e8a1 100644
--- a/grails-test-examples/geb/grails-cli.yml
+++ b/grails-test-examples/geb/grails-cli.yml
@@ -15,7 +15,7 @@
applicationType: web
defaultPackage: org.demo.spock
-testFramework: spock
+reloading: devtools
sourceLanguage: groovy
buildTool: gradle
gormImpl: gorm-hibernate5
diff --git a/grails-test-examples/gsp-layout/grails-forge-cli.yml b/grails-test-examples/gsp-layout/grails-forge-cli.yml
index ec46d6bb74..1b381bd2d7 100644
--- a/grails-test-examples/gsp-layout/grails-forge-cli.yml
+++ b/grails-test-examples/gsp-layout/grails-forge-cli.yml
@@ -15,7 +15,7 @@
applicationType: web_plugin
defaultPackage: org.example.grails.layout
-testFramework: spock
+reloading: devtools
sourceLanguage: groovy
buildTool: gradle
gormImpl: gorm-hibernate5
diff --git a/grails-test-examples/gsp-sitemesh3/grails-forge-cli.yml b/grails-test-examples/gsp-sitemesh3/grails-forge-cli.yml
index ec46d6bb74..1b381bd2d7 100644
--- a/grails-test-examples/gsp-sitemesh3/grails-forge-cli.yml
+++ b/grails-test-examples/gsp-sitemesh3/grails-forge-cli.yml
@@ -15,7 +15,7 @@
applicationType: web_plugin
defaultPackage: org.example.grails.layout
-testFramework: spock
+reloading: devtools
sourceLanguage: groovy
buildTool: gradle
gormImpl: gorm-hibernate5