From 0592688de7a59360ebc6b8baa5ff23b499b73b9c Mon Sep 17 00:00:00 2001 From: James Fredley Date: Wed, 23 Oct 2024 19:44:17 -0400 Subject: [PATCH 01/13] dependency cleanup with grails-bom --- .../feature/assetPipeline/AssetPipeline.java | 2 +- .../gradle/templates/buildGradle.rocker.raw | 20 ++-------- .../templates/buildSrcBuildGradle.rocker.raw | 4 ++ .../gradle/templates/dependencies.rocker.raw | 1 + .../templates/settingsGradle.rocker.raw | 2 +- .../org/grails/forge/feature/test/Geb.java | 13 +++++-- .../webdriverBinariesPlugin.rocker.raw | 6 +-- .../forge/feature/view/Scaffolding.java | 2 +- .../org/grails/forge/options/Options.java | 1 - .../gradle/wrapper/gradle-wrapper.properties | 2 +- grails-forge-core/src/main/resources/pom.xml | 39 +------------------ .../assetPipeline/AssetPipelineSpec.groovy | 2 +- .../grails/forge/feature/test/GebSpec.groovy | 33 ++++++---------- .../forge/feature/view/ScaffoldingSpec.groovy | 2 +- 14 files changed, 39 insertions(+), 90 deletions(-) diff --git a/grails-forge-core/src/main/java/org/grails/forge/feature/assetPipeline/AssetPipeline.java b/grails-forge-core/src/main/java/org/grails/forge/feature/assetPipeline/AssetPipeline.java index 4bc526bb..91cf3ef1 100644 --- a/grails-forge-core/src/main/java/org/grails/forge/feature/assetPipeline/AssetPipeline.java +++ b/grails-forge-core/src/main/java/org/grails/forge/feature/assetPipeline/AssetPipeline.java @@ -67,7 +67,7 @@ public void apply(GeneratorContext generatorContext) { generatorContext.addDependency(Dependency.builder() .groupId("com.bertramlabs.plugins") - .lookupArtifactId("asset-pipeline-grails") + .artifactId("asset-pipeline-grails") .runtime()); final ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); diff --git a/grails-forge-core/src/main/java/org/grails/forge/feature/build/gradle/templates/buildGradle.rocker.raw b/grails-forge-core/src/main/java/org/grails/forge/feature/build/gradle/templates/buildGradle.rocker.raw index 554c6e74..64d43150 100644 --- a/grails-forge-core/src/main/java/org/grails/forge/feature/build/gradle/templates/buildGradle.rocker.raw +++ b/grails-forge-core/src/main/java/org/grails/forge/feature/build/gradle/templates/buildGradle.rocker.raw @@ -19,7 +19,7 @@ GradleBuild gradleBuild ) @seleniumVersion => { @coordinateResolver.apply("selenium-api").getVersion() } -@assetPipelineVersion => { @coordinateResolver.apply("asset-pipeline-grails").getVersion() } +@assetPipelineVersion => { @coordinateResolver.apply("asset-pipeline-gradle").getVersion() } @for (String importLine : gradleBuild.getPluginsImports()) { @(importLine) @@ -46,18 +46,6 @@ repositories { maven { url "https://oss.sonatype.org/content/repositories/snapshots/" } } -configurations { - all { - @if (features.contains("geb")) { - resolutionStrategy.eachDependency { DependencyResolveDetails details-> - if (details.requested.group == 'org.seleniumhq.selenium') { - details.useVersion('@seleniumVersion') - } - } - } - } -} - @dependencies.template(applicationType, project, features, gradleBuild) @if (features.mainClass().isPresent()) { @@ -67,10 +55,8 @@ application { } -java { - toolchain { - languageVersion = JavaLanguageVersion.of(@features.getTargetJdk()) - } +compileJava { + options.release = @features.getTargetJdk() } @if (features.contains("jrebel")) { diff --git a/grails-forge-core/src/main/java/org/grails/forge/feature/build/gradle/templates/buildSrcBuildGradle.rocker.raw b/grails-forge-core/src/main/java/org/grails/forge/feature/build/gradle/templates/buildSrcBuildGradle.rocker.raw index ca10e7ee..73c0b024 100644 --- a/grails-forge-core/src/main/java/org/grails/forge/feature/build/gradle/templates/buildSrcBuildGradle.rocker.raw +++ b/grails-forge-core/src/main/java/org/grails/forge/feature/build/gradle/templates/buildSrcBuildGradle.rocker.raw @@ -3,6 +3,7 @@ @import org.grails.forge.feature.Features @import org.grails.forge.build.gradle.GradleBuild @import org.grails.forge.build.gradle.GradleDependency +@import org.grails.forge.util.VersionInfo @args ( ApplicationType applicationType, @@ -11,12 +12,15 @@ Features features, GradleBuild gradleBuild ) +@grailsVersion => { @VersionInfo.getGrailsVersion() } + @if(!gradleBuild.getBuildscriptDependencies().isEmpty()) { repositories { mavenCentral() maven { url "https://repo.grails.org/grails/core/" } } dependencies { + implementation platform("org.grails:grails-bom:@grailsVersion") @for (GradleDependency dependency : gradleBuild.getBuildscriptDependencies()) { @dependency.toSnippet() } diff --git a/grails-forge-core/src/main/java/org/grails/forge/feature/build/gradle/templates/dependencies.rocker.raw b/grails-forge-core/src/main/java/org/grails/forge/feature/build/gradle/templates/dependencies.rocker.raw index 20224e9e..827292c2 100644 --- a/grails-forge-core/src/main/java/org/grails/forge/feature/build/gradle/templates/dependencies.rocker.raw +++ b/grails-forge-core/src/main/java/org/grails/forge/feature/build/gradle/templates/dependencies.rocker.raw @@ -13,6 +13,7 @@ GradleBuild gradleBuild ) dependencies { + implementation platform("org.grails:grails-bom:$grailsVersion") @for (GradleDependency dependency : gradleBuild.getDependencies()) { @dependency.toSnippet() } diff --git a/grails-forge-core/src/main/java/org/grails/forge/feature/build/gradle/templates/settingsGradle.rocker.raw b/grails-forge-core/src/main/java/org/grails/forge/feature/build/gradle/templates/settingsGradle.rocker.raw index 660a0807..e5bbc07a 100644 --- a/grails-forge-core/src/main/java/org/grails/forge/feature/build/gradle/templates/settingsGradle.rocker.raw +++ b/grails-forge-core/src/main/java/org/grails/forge/feature/build/gradle/templates/settingsGradle.rocker.raw @@ -14,7 +14,7 @@ Features features) @grailsGradlePluginVersion => { @coordinateResolver.apply("grails-gradle-plugin").getVersion() } @viewsGradlePluginVersion => { @coordinateResolver.apply("views-gradle").getVersion() } -@assetPipelineVersion => { @coordinateResolver.apply("asset-pipeline-grails").getVersion() } +@assetPipelineVersion => { @coordinateResolver.apply("asset-pipeline-gradle").getVersion() } @gradleBuild.renderSettingsExtensions() diff --git a/grails-forge-core/src/main/java/org/grails/forge/feature/test/Geb.java b/grails-forge-core/src/main/java/org/grails/forge/feature/test/Geb.java index 5f6a2e9c..85094366 100644 --- a/grails-forge-core/src/main/java/org/grails/forge/feature/test/Geb.java +++ b/grails-forge-core/src/main/java/org/grails/forge/feature/test/Geb.java @@ -105,24 +105,29 @@ public void apply(GeneratorContext generatorContext) { .artifactId("geb") .test()); + generatorContext.addDependency(Dependency.builder() + .groupId("org.gebish") + .artifactId("geb-spock") + .test()); + Stream.of("api", "support", "remote-driver") .map(name -> "selenium-" + name) .forEach(name -> generatorContext.addDependency(Dependency.builder() .groupId("org.seleniumhq.selenium") - .lookupArtifactId(name) + .artifactId(name) .test())); generatorContext.addDependency(Dependency.builder() .groupId("org.seleniumhq.selenium") - .lookupArtifactId("selenium-chrome-driver") + .artifactId("selenium-chrome-driver") .testRuntime()); generatorContext.addDependency(Dependency.builder() .groupId("org.seleniumhq.selenium") - .lookupArtifactId("selenium-firefox-driver") + .artifactId("selenium-firefox-driver") .testRuntime()); generatorContext.addDependency(Dependency.builder() .groupId("org.seleniumhq.selenium") - .lookupArtifactId("selenium-safari-driver") + .artifactId("selenium-safari-driver") .testRuntime()); TestFramework testFramework = generatorContext.getTestFramework(); diff --git a/grails-forge-core/src/main/java/org/grails/forge/feature/test/template/webdriverBinariesPlugin.rocker.raw b/grails-forge-core/src/main/java/org/grails/forge/feature/test/template/webdriverBinariesPlugin.rocker.raw index d79ac5ce..dcd6cdcf 100644 --- a/grails-forge-core/src/main/java/org/grails/forge/feature/test/template/webdriverBinariesPlugin.rocker.raw +++ b/grails-forge-core/src/main/java/org/grails/forge/feature/test/template/webdriverBinariesPlugin.rocker.raw @@ -4,7 +4,7 @@ @args(Project project, OperatingSystem os) webdriverBinaries { - chromedriver '122.0.6260.0' - geckodriver '0.33.0' - edgedriver '110.0.1587.57' + chromedriver '130.0.6723.59' + geckodriver '0.35.0' + edgedriver '130.0.2849.46' } \ No newline at end of file diff --git a/grails-forge-core/src/main/java/org/grails/forge/feature/view/Scaffolding.java b/grails-forge-core/src/main/java/org/grails/forge/feature/view/Scaffolding.java index 4b3054ad..4e293598 100644 --- a/grails-forge-core/src/main/java/org/grails/forge/feature/view/Scaffolding.java +++ b/grails-forge-core/src/main/java/org/grails/forge/feature/view/Scaffolding.java @@ -81,7 +81,7 @@ public void processSelectedFeatures(FeatureContext featureContext) { public void apply(GeneratorContext generatorContext) { generatorContext.addDependency(Dependency.builder() .groupId("org.fusesource.jansi") - .lookupArtifactId("jansi") + .artifactId("jansi") .runtime()); generatorContext.addDependency(Dependency.builder() diff --git a/grails-forge-core/src/main/java/org/grails/forge/options/Options.java b/grails-forge-core/src/main/java/org/grails/forge/options/Options.java index 713053cc..3a509317 100644 --- a/grails-forge-core/src/main/java/org/grails/forge/options/Options.java +++ b/grails-forge-core/src/main/java/org/grails/forge/options/Options.java @@ -66,7 +66,6 @@ public Options(TestFramework testFramework, this(testFramework, GormImpl.DEFAULT_OPTION, ServletImpl.DEFAULT_OPTION, javaVersion, operatingSystem, Collections.emptyMap()); } - public Options(TestFramework testFramework, OperatingSystem operatingSystem) { diff --git a/grails-forge-core/src/main/resources/gradle/wrapper/gradle-wrapper.properties b/grails-forge-core/src/main/resources/gradle/wrapper/gradle-wrapper.properties index df97d72b..a80b22ce 100644 --- a/grails-forge-core/src/main/resources/gradle/wrapper/gradle-wrapper.properties +++ b/grails-forge-core/src/main/resources/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/grails-forge-core/src/main/resources/pom.xml b/grails-forge-core/src/main/resources/pom.xml index 041086fb..7f46b48b 100644 --- a/grails-forge-core/src/main/resources/pom.xml +++ b/grails-forge-core/src/main/resources/pom.xml @@ -12,11 +12,6 @@ - - org.fusesource.jansi - jansi - 1.18 - org.grails grails-gradle-plugin @@ -30,7 +25,7 @@ org.grails.plugins cache - 7.0.0 + 8.0.0-SNAPSHOT org.grails.plugins @@ -87,36 +82,6 @@ webdriver-binaries-gradle-plugin 3.2 - - org.seleniumhq.selenium - selenium-api - 4.19.1 - - - org.seleniumhq.selenium - selenium-support - 4.19.1 - - - org.seleniumhq.selenium - selenium-remote-driver - 4.19.1 - - - org.seleniumhq.selenium - selenium-chrome-driver - 4.19.1 - - - org.seleniumhq.selenium - selenium-safari-driver - 4.19.1 - - - org.seleniumhq.selenium - selenium-firefox-driver - 4.19.1 - org.zeroturnaround gradle-jrebel-plugin @@ -124,7 +89,7 @@ com.bertramlabs.plugins - asset-pipeline-grails + asset-pipeline-gradle 5.0.1 diff --git a/grails-forge-core/src/test/groovy/org/grails/forge/feature/assetPipeline/AssetPipelineSpec.groovy b/grails-forge-core/src/test/groovy/org/grails/forge/feature/assetPipeline/AssetPipelineSpec.groovy index 0ca896b9..aff2a3e4 100644 --- a/grails-forge-core/src/test/groovy/org/grails/forge/feature/assetPipeline/AssetPipelineSpec.groovy +++ b/grails-forge-core/src/test/groovy/org/grails/forge/feature/assetPipeline/AssetPipelineSpec.groovy @@ -28,7 +28,7 @@ class AssetPipelineSpec extends ApplicationContextSpec implements CommandOutputF then: template.contains("id \"com.bertramlabs.asset-pipeline\"") - template.contains("runtimeOnly(\"com.bertramlabs.plugins:asset-pipeline-grails:5.0.1\")") + template.contains("runtimeOnly(\"com.bertramlabs.plugins:asset-pipeline-grails\")") template.contains(''' assets { minifyJs = true diff --git a/grails-forge-core/src/test/groovy/org/grails/forge/feature/test/GebSpec.groovy b/grails-forge-core/src/test/groovy/org/grails/forge/feature/test/GebSpec.groovy index b52a619a..216f124e 100644 --- a/grails-forge-core/src/test/groovy/org/grails/forge/feature/test/GebSpec.groovy +++ b/grails-forge-core/src/test/groovy/org/grails/forge/feature/test/GebSpec.groovy @@ -18,11 +18,11 @@ class GebSpec extends ApplicationContextSpec implements CommandOutputFixture { expect: buildGradle.contains("testImplementation(\"org.grails.plugins:geb\")") - buildGradle.contains("testImplementation(\"org.seleniumhq.selenium:selenium-api:4.19.1\")") - buildGradle.contains("testImplementation(\"org.seleniumhq.selenium:selenium-support:4.19.1\")") - buildGradle.contains("testImplementation(\"org.seleniumhq.selenium:selenium-remote-driver:4.19.1\")") - buildGradle.contains("testRuntimeOnly(\"org.seleniumhq.selenium:selenium-chrome-driver:4.19.1\")") - buildGradle.contains("testRuntimeOnly(\"org.seleniumhq.selenium:selenium-firefox-driver:4.19.1\")") + buildGradle.contains("testImplementation(\"org.seleniumhq.selenium:selenium-api\")") + buildGradle.contains("testImplementation(\"org.seleniumhq.selenium:selenium-support\")") + buildGradle.contains("testImplementation(\"org.seleniumhq.selenium:selenium-remote-driver\")") + buildGradle.contains("testRuntimeOnly(\"org.seleniumhq.selenium:selenium-chrome-driver\")") + buildGradle.contains("testRuntimeOnly(\"org.seleniumhq.selenium:selenium-firefox-driver\")") } void "test GebConfig.groovy file is present"() { @@ -33,17 +33,6 @@ class GebSpec extends ApplicationContextSpec implements CommandOutputFixture { output.containsKey('src/integration-test/resources/GebConfig.groovy') } - void "test build.gradle contains logic to force selenium version"() { - given: - final def output = generate(ApplicationType.WEB, new Options(TestFramework.SPOCK)) - final def buildGradle = output["build.gradle"] - - expect: - buildGradle.contains("if (details.requested.group == 'org.seleniumhq.selenium') {\n" + - " details.useVersion('4.19.1')\n" + - " }") - } - @Unroll void "test feature geb is not supported for #applicationType application"(ApplicationType applicationType) { when: @@ -67,9 +56,9 @@ class GebSpec extends ApplicationContextSpec implements CommandOutputFixture { settingGradle.contains("id \"com.github.erdi.webdriver-binaries\" version \"3.2\"") buildGradle.contains("id \"com.github.erdi.webdriver-binaries\"") buildGradle.contains("webdriverBinaries") - buildGradle.contains("chromedriver '122.0.6260.0'") - buildGradle.contains("geckodriver '0.33.0'") - buildGradle.contains("edgedriver '110.0.1587.57'") + buildGradle.contains("chromedriver '130.0.6723.59'") + buildGradle.contains("geckodriver '0.35.0'") + buildGradle.contains("edgedriver '130.0.2849.46'") } void "test webdriver binaries gradle configurations for windows OS"() { @@ -82,8 +71,8 @@ class GebSpec extends ApplicationContextSpec implements CommandOutputFixture { settingGradle.contains("id \"com.github.erdi.webdriver-binaries\" version \"3.2\"") buildGradle.contains("id \"com.github.erdi.webdriver-binaries\"") buildGradle.contains("webdriverBinaries") - buildGradle.contains("chromedriver '122.0.6260.0'") - buildGradle.contains("geckodriver '0.33.0'") - buildGradle.contains("edgedriver '110.0.1587.57'") + buildGradle.contains("chromedriver '130.0.6723.59'") + buildGradle.contains("geckodriver '0.35.0'") + buildGradle.contains("edgedriver '130.0.2849.46'") } } diff --git a/grails-forge-core/src/test/groovy/org/grails/forge/feature/view/ScaffoldingSpec.groovy b/grails-forge-core/src/test/groovy/org/grails/forge/feature/view/ScaffoldingSpec.groovy index 8dd3b201..5a88f73b 100644 --- a/grails-forge-core/src/test/groovy/org/grails/forge/feature/view/ScaffoldingSpec.groovy +++ b/grails-forge-core/src/test/groovy/org/grails/forge/feature/view/ScaffoldingSpec.groovy @@ -23,7 +23,7 @@ class ScaffoldingSpec extends ApplicationContextSpec implements CommandOutputFix then: template.contains('implementation("org.grails.plugins:scaffolding")') - template.contains('runtimeOnly("org.fusesource.jansi:jansi:1.18")') + template.contains('runtimeOnly("org.fusesource.jansi:jansi")') } } From 1f9ad910b42db8113fe66bd3c9cc51a7870a4676 Mon Sep 17 00:00:00 2001 From: James Fredley Date: Wed, 23 Oct 2024 20:08:59 -0400 Subject: [PATCH 02/13] try Gradle 8.6 for root project --- gradle/wrapper/gradle-wrapper.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index df97d72b..a80b22ce 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME From 82b6806d6c2b7aecec1eb28d4247ef3638df7f80 Mon Sep 17 00:00:00 2001 From: James Fredley Date: Wed, 23 Oct 2024 20:27:03 -0400 Subject: [PATCH 03/13] try old selenium driver versions --- .../test/template/webdriverBinariesPlugin.rocker.raw | 6 +++--- .../org/grails/forge/feature/test/GebSpec.groovy | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/grails-forge-core/src/main/java/org/grails/forge/feature/test/template/webdriverBinariesPlugin.rocker.raw b/grails-forge-core/src/main/java/org/grails/forge/feature/test/template/webdriverBinariesPlugin.rocker.raw index dcd6cdcf..d79ac5ce 100644 --- a/grails-forge-core/src/main/java/org/grails/forge/feature/test/template/webdriverBinariesPlugin.rocker.raw +++ b/grails-forge-core/src/main/java/org/grails/forge/feature/test/template/webdriverBinariesPlugin.rocker.raw @@ -4,7 +4,7 @@ @args(Project project, OperatingSystem os) webdriverBinaries { - chromedriver '130.0.6723.59' - geckodriver '0.35.0' - edgedriver '130.0.2849.46' + chromedriver '122.0.6260.0' + geckodriver '0.33.0' + edgedriver '110.0.1587.57' } \ No newline at end of file diff --git a/grails-forge-core/src/test/groovy/org/grails/forge/feature/test/GebSpec.groovy b/grails-forge-core/src/test/groovy/org/grails/forge/feature/test/GebSpec.groovy index 216f124e..2b5497e7 100644 --- a/grails-forge-core/src/test/groovy/org/grails/forge/feature/test/GebSpec.groovy +++ b/grails-forge-core/src/test/groovy/org/grails/forge/feature/test/GebSpec.groovy @@ -56,9 +56,9 @@ class GebSpec extends ApplicationContextSpec implements CommandOutputFixture { settingGradle.contains("id \"com.github.erdi.webdriver-binaries\" version \"3.2\"") buildGradle.contains("id \"com.github.erdi.webdriver-binaries\"") buildGradle.contains("webdriverBinaries") - buildGradle.contains("chromedriver '130.0.6723.59'") - buildGradle.contains("geckodriver '0.35.0'") - buildGradle.contains("edgedriver '130.0.2849.46'") + buildGradle.contains("chromedriver '122.0.6260.0'") + buildGradle.contains("geckodriver '0.33.0'") + buildGradle.contains("edgedriver '110.0.1587.57'") } void "test webdriver binaries gradle configurations for windows OS"() { @@ -71,8 +71,8 @@ class GebSpec extends ApplicationContextSpec implements CommandOutputFixture { settingGradle.contains("id \"com.github.erdi.webdriver-binaries\" version \"3.2\"") buildGradle.contains("id \"com.github.erdi.webdriver-binaries\"") buildGradle.contains("webdriverBinaries") - buildGradle.contains("chromedriver '130.0.6723.59'") - buildGradle.contains("geckodriver '0.35.0'") - buildGradle.contains("edgedriver '130.0.2849.46'") + buildGradle.contains("chromedriver '122.0.6260.0'") + buildGradle.contains("geckodriver '0.33.0'") + buildGradle.contains("edgedriver '110.0.1587.57'") } } From 9f2f58f6877f2e7e99d1032efbaa7a768335a04f Mon Sep 17 00:00:00 2001 From: James Fredley Date: Wed, 23 Oct 2024 20:40:08 -0400 Subject: [PATCH 04/13] Revert "try Gradle 8.6 for root project" This reverts commit 1f9ad910b42db8113fe66bd3c9cc51a7870a4676. --- gradle/wrapper/gradle-wrapper.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index a80b22ce..df97d72b 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME From 1dc6a348977d557bc5d6386667979740430e37db Mon Sep 17 00:00:00 2001 From: James Fredley Date: Wed, 23 Oct 2024 20:58:07 -0400 Subject: [PATCH 05/13] Reapply "try Gradle 8.6 for root project" This reverts commit 9f2f58f6877f2e7e99d1032efbaa7a768335a04f. --- gradle/wrapper/gradle-wrapper.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index df97d72b..a80b22ce 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME From ea7b5a0d69d16fefe3f15e2d5ab075297548baf0 Mon Sep 17 00:00:00 2001 From: James Fredley Date: Wed, 23 Oct 2024 22:32:14 -0400 Subject: [PATCH 06/13] remove bom from main build.gradle --- .../forge/feature/build/gradle/templates/dependencies.rocker.raw | 1 - 1 file changed, 1 deletion(-) diff --git a/grails-forge-core/src/main/java/org/grails/forge/feature/build/gradle/templates/dependencies.rocker.raw b/grails-forge-core/src/main/java/org/grails/forge/feature/build/gradle/templates/dependencies.rocker.raw index 827292c2..20224e9e 100644 --- a/grails-forge-core/src/main/java/org/grails/forge/feature/build/gradle/templates/dependencies.rocker.raw +++ b/grails-forge-core/src/main/java/org/grails/forge/feature/build/gradle/templates/dependencies.rocker.raw @@ -13,7 +13,6 @@ GradleBuild gradleBuild ) dependencies { - implementation platform("org.grails:grails-bom:$grailsVersion") @for (GradleDependency dependency : gradleBuild.getDependencies()) { @dependency.toSnippet() } From 97c3fd63895a34fa545a2b3d1db87472e66c85b5 Mon Sep 17 00:00:00 2001 From: James Fredley Date: Thu, 24 Oct 2024 12:58:15 -0400 Subject: [PATCH 07/13] Update buildGradle.rocker.raw --- .../feature/build/gradle/templates/buildGradle.rocker.raw | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/grails-forge-core/src/main/java/org/grails/forge/feature/build/gradle/templates/buildGradle.rocker.raw b/grails-forge-core/src/main/java/org/grails/forge/feature/build/gradle/templates/buildGradle.rocker.raw index 64d43150..9f43242b 100644 --- a/grails-forge-core/src/main/java/org/grails/forge/feature/build/gradle/templates/buildGradle.rocker.raw +++ b/grails-forge-core/src/main/java/org/grails/forge/feature/build/gradle/templates/buildGradle.rocker.raw @@ -55,9 +55,7 @@ application { } -compileJava { - options.release = @features.getTargetJdk() -} +compileJava.options.release = @features.getTargetJdk() @if (features.contains("jrebel")) { run { From 83371e45119b1946c8f56657d72309e3b660a86b Mon Sep 17 00:00:00 2001 From: James Fredley Date: Fri, 25 Oct 2024 22:02:59 -0400 Subject: [PATCH 08/13] add Scope INTEGRATION_TEST_IMPLEMENTATION_TEST_FIXTURES --- .../grails/forge/build/dependencies/Dependency.java | 4 ++++ .../org/grails/forge/build/dependencies/Phase.java | 3 ++- .../org/grails/forge/build/dependencies/Scope.java | 2 ++ .../forge/build/gradle/GradleConfiguration.java | 12 ++++++++---- 4 files changed, 16 insertions(+), 5 deletions(-) diff --git a/grails-forge-core/src/main/java/org/grails/forge/build/dependencies/Dependency.java b/grails-forge-core/src/main/java/org/grails/forge/build/dependencies/Dependency.java index ff05905e..7ca7f888 100644 --- a/grails-forge-core/src/main/java/org/grails/forge/build/dependencies/Dependency.java +++ b/grails-forge-core/src/main/java/org/grails/forge/build/dependencies/Dependency.java @@ -207,6 +207,10 @@ public Builder profile() { return scope(Scope.PROFILE); } + public Builder integrationTestImplementationTestFixtures() { + return scope(Scope.INTEGRATION_TEST_IMPLEMENTATION_TEST_FIXTURES); + } + public Builder annotationProcessor(boolean requiresPriority) { this.annotationProcessorPriority = requiresPriority; return annotationProcessor(); diff --git a/grails-forge-core/src/main/java/org/grails/forge/build/dependencies/Phase.java b/grails-forge-core/src/main/java/org/grails/forge/build/dependencies/Phase.java index f68ea30d..d75ea962 100644 --- a/grails-forge-core/src/main/java/org/grails/forge/build/dependencies/Phase.java +++ b/grails-forge-core/src/main/java/org/grails/forge/build/dependencies/Phase.java @@ -23,5 +23,6 @@ public enum Phase { RUNTIME, OPENREWRITE, BUILD, - PROFILE + PROFILE, + INTEGRATION_TEST_IMPLEMENTATION_TEST_FIXTURES } diff --git a/grails-forge-core/src/main/java/org/grails/forge/build/dependencies/Scope.java b/grails-forge-core/src/main/java/org/grails/forge/build/dependencies/Scope.java index edd2c1dc..c5dfa982 100644 --- a/grails-forge-core/src/main/java/org/grails/forge/build/dependencies/Scope.java +++ b/grails-forge-core/src/main/java/org/grails/forge/build/dependencies/Scope.java @@ -37,6 +37,8 @@ public class Scope { public static final Scope TEST_RUNTIME = new Scope(Source.TEST, Collections.singletonList(Phase.RUNTIME)); public static final Scope OPENREWRITE = new Scope(Source.MAIN, Collections.singletonList(Phase.OPENREWRITE)); public static final Scope PROFILE = new Scope(Source.MAIN, Collections.singletonList(Phase.PROFILE)); + public static final Scope INTEGRATION_TEST_IMPLEMENTATION_TEST_FIXTURES = new Scope(Source.MAIN, Collections.singletonList(Phase.INTEGRATION_TEST_IMPLEMENTATION_TEST_FIXTURES)); + @NonNull private Source source; diff --git a/grails-forge-core/src/main/java/org/grails/forge/build/gradle/GradleConfiguration.java b/grails-forge-core/src/main/java/org/grails/forge/build/gradle/GradleConfiguration.java index 5e2eebb1..6d2b9d5e 100644 --- a/grails-forge-core/src/main/java/org/grails/forge/build/gradle/GradleConfiguration.java +++ b/grails-forge-core/src/main/java/org/grails/forge/build/gradle/GradleConfiguration.java @@ -37,10 +37,11 @@ public enum GradleConfiguration implements Ordered { RUNTIME_ONLY("runtimeOnly", 7), TEST_ANNOTATION_PROCESSOR("testAnnotationProcessor", 8), TEST_KAPT("kaptTest", 9), - TEST_IMPLEMENTATION("testImplementation", 10), - TEST_COMPILE_ONLY("testCompileOnly", 11), - TEST_RUNTIME_ONLY("testRuntimeOnly", 12), - OPENREWRITE("rewrite", 13); + INTEGRATION_TEST_IMPLEMENTATION_TEST_FIXTURES("integrationTestImplementation testFixtures", 10), + TEST_IMPLEMENTATION("testImplementation", 11), + TEST_COMPILE_ONLY("testCompileOnly", 12), + TEST_RUNTIME_ONLY("testRuntimeOnly", 13), + OPENREWRITE("rewrite", 14); private final String configurationName; private final int order; @@ -99,6 +100,9 @@ public static Optional of(@NonNull Scope scope, if (scope.getPhases().contains(Phase.PROFILE)) { return Optional.of(GradleConfiguration.PROFILE); } + if (scope.getPhases().contains(Phase.INTEGRATION_TEST_IMPLEMENTATION_TEST_FIXTURES)) { + return Optional.of(GradleConfiguration.INTEGRATION_TEST_IMPLEMENTATION_TEST_FIXTURES); + } break; case TEST: From 959e38b7d0ab6b8ffed10e66687c9458d1a9f3db Mon Sep 17 00:00:00 2001 From: James Fredley Date: Fri, 25 Oct 2024 22:03:24 -0400 Subject: [PATCH 09/13] remove oss snapshot repository --- .../forge/feature/build/gradle/templates/buildGradle.rocker.raw | 1 - 1 file changed, 1 deletion(-) diff --git a/grails-forge-core/src/main/java/org/grails/forge/feature/build/gradle/templates/buildGradle.rocker.raw b/grails-forge-core/src/main/java/org/grails/forge/feature/build/gradle/templates/buildGradle.rocker.raw index 9f43242b..0f415755 100644 --- a/grails-forge-core/src/main/java/org/grails/forge/feature/build/gradle/templates/buildGradle.rocker.raw +++ b/grails-forge-core/src/main/java/org/grails/forge/feature/build/gradle/templates/buildGradle.rocker.raw @@ -43,7 +43,6 @@ apply from: "gradle/asciidoc.gradle" repositories { mavenCentral() maven { url "https://repo.grails.org/grails/core/" } - maven { url "https://oss.sonatype.org/content/repositories/snapshots/" } } @dependencies.template(applicationType, project, features, gradleBuild) From 90197d69fa6b2a5328cbde58cc8535f7b1612118 Mon Sep 17 00:00:00 2001 From: James Fredley Date: Fri, 25 Oct 2024 22:17:01 -0400 Subject: [PATCH 10/13] adjust geb dependencies --- .../main/java/org/grails/forge/feature/test/Geb.java | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/grails-forge-core/src/main/java/org/grails/forge/feature/test/Geb.java b/grails-forge-core/src/main/java/org/grails/forge/feature/test/Geb.java index 85094366..3d48a3d4 100644 --- a/grails-forge-core/src/main/java/org/grails/forge/feature/test/Geb.java +++ b/grails-forge-core/src/main/java/org/grails/forge/feature/test/Geb.java @@ -103,12 +103,7 @@ public void apply(GeneratorContext generatorContext) { generatorContext.addDependency(Dependency.builder() .groupId("org.grails.plugins") .artifactId("geb") - .test()); - - generatorContext.addDependency(Dependency.builder() - .groupId("org.gebish") - .artifactId("geb-spock") - .test()); + .integrationTestImplementationTestFixtures()); Stream.of("api", "support", "remote-driver") .map(name -> "selenium-" + name) @@ -117,10 +112,6 @@ public void apply(GeneratorContext generatorContext) { .artifactId(name) .test())); - generatorContext.addDependency(Dependency.builder() - .groupId("org.seleniumhq.selenium") - .artifactId("selenium-chrome-driver") - .testRuntime()); generatorContext.addDependency(Dependency.builder() .groupId("org.seleniumhq.selenium") .artifactId("selenium-firefox-driver") From 5b535982de0b3cb94c0fd94b216ad0fb04ff3c18 Mon Sep 17 00:00:00 2001 From: James Fredley Date: Fri, 25 Oct 2024 22:17:19 -0400 Subject: [PATCH 11/13] cleanup pom.xml --- grails-forge-core/src/main/resources/pom.xml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/grails-forge-core/src/main/resources/pom.xml b/grails-forge-core/src/main/resources/pom.xml index 7f46b48b..5f65c460 100644 --- a/grails-forge-core/src/main/resources/pom.xml +++ b/grails-forge-core/src/main/resources/pom.xml @@ -92,11 +92,6 @@ asset-pipeline-gradle 5.0.1 - - com.bertramlabs.plugins - asset-pipeline-gradle - 5.0.1 - org.junit.jupiter junit-jupiter From f26aea2a40a8fb2845fdf9459fea5d0211779d39 Mon Sep 17 00:00:00 2001 From: James Fredley Date: Fri, 25 Oct 2024 22:17:44 -0400 Subject: [PATCH 12/13] add apache snapshot repo for now, used for groovy --- .../forge/feature/build/gradle/templates/buildGradle.rocker.raw | 1 + .../build/gradle/templates/buildSrcBuildGradle.rocker.raw | 1 + 2 files changed, 2 insertions(+) diff --git a/grails-forge-core/src/main/java/org/grails/forge/feature/build/gradle/templates/buildGradle.rocker.raw b/grails-forge-core/src/main/java/org/grails/forge/feature/build/gradle/templates/buildGradle.rocker.raw index 0f415755..38cf3452 100644 --- a/grails-forge-core/src/main/java/org/grails/forge/feature/build/gradle/templates/buildGradle.rocker.raw +++ b/grails-forge-core/src/main/java/org/grails/forge/feature/build/gradle/templates/buildGradle.rocker.raw @@ -43,6 +43,7 @@ apply from: "gradle/asciidoc.gradle" repositories { mavenCentral() maven { url "https://repo.grails.org/grails/core/" } + maven { url "https://repository.apache.org/content/repositories/snapshots"} } @dependencies.template(applicationType, project, features, gradleBuild) diff --git a/grails-forge-core/src/main/java/org/grails/forge/feature/build/gradle/templates/buildSrcBuildGradle.rocker.raw b/grails-forge-core/src/main/java/org/grails/forge/feature/build/gradle/templates/buildSrcBuildGradle.rocker.raw index 73c0b024..d0008110 100644 --- a/grails-forge-core/src/main/java/org/grails/forge/feature/build/gradle/templates/buildSrcBuildGradle.rocker.raw +++ b/grails-forge-core/src/main/java/org/grails/forge/feature/build/gradle/templates/buildSrcBuildGradle.rocker.raw @@ -18,6 +18,7 @@ GradleBuild gradleBuild repositories { mavenCentral() maven { url "https://repo.grails.org/grails/core/" } + maven { url "https://repository.apache.org/content/repositories/snapshots"} } dependencies { implementation platform("org.grails:grails-bom:@grailsVersion") From 4b2b7cbc38e14465c575963f2fe865616e721e5c Mon Sep 17 00:00:00 2001 From: James Fredley Date: Fri, 25 Oct 2024 22:29:30 -0400 Subject: [PATCH 13/13] update geb config tests --- .../test/groovy/org/grails/forge/feature/test/GebSpec.groovy | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/grails-forge-core/src/test/groovy/org/grails/forge/feature/test/GebSpec.groovy b/grails-forge-core/src/test/groovy/org/grails/forge/feature/test/GebSpec.groovy index 2b5497e7..d3d74eb2 100644 --- a/grails-forge-core/src/test/groovy/org/grails/forge/feature/test/GebSpec.groovy +++ b/grails-forge-core/src/test/groovy/org/grails/forge/feature/test/GebSpec.groovy @@ -17,11 +17,10 @@ class GebSpec extends ApplicationContextSpec implements CommandOutputFixture { final def buildGradle = output["build.gradle"] expect: - buildGradle.contains("testImplementation(\"org.grails.plugins:geb\")") + buildGradle.contains("integrationTestImplementation testFixtures(\"org.grails.plugins:geb\")") buildGradle.contains("testImplementation(\"org.seleniumhq.selenium:selenium-api\")") buildGradle.contains("testImplementation(\"org.seleniumhq.selenium:selenium-support\")") buildGradle.contains("testImplementation(\"org.seleniumhq.selenium:selenium-remote-driver\")") - buildGradle.contains("testRuntimeOnly(\"org.seleniumhq.selenium:selenium-chrome-driver\")") buildGradle.contains("testRuntimeOnly(\"org.seleniumhq.selenium:selenium-firefox-driver\")") }