diff --git a/gradle.properties b/gradle.properties index 2db0cc53..4b882f0b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,7 +4,7 @@ micronautDocsVersion=2.0.0 micronautVersion=3.10.4 rockerVersion=1.4.0 groovyVersion=3.0.22 -grailsVersion=6.2.2-SNAPSHOT +grailsVersion=7.0.0-SNAPSHOT spockVersion=2.0-groovy-3.0 title=Grails Application Forge projectDesc=Generates Grails applications diff --git a/grails-cli/src/test/groovy/org/grails/forge/cli/CommandSpec.groovy b/grails-cli/src/test/groovy/org/grails/forge/cli/CommandSpec.groovy index 00471e0e..22b95812 100644 --- a/grails-cli/src/test/groovy/org/grails/forge/cli/CommandSpec.groovy +++ b/grails-cli/src/test/groovy/org/grails/forge/cli/CommandSpec.groovy @@ -68,8 +68,7 @@ class CommandSpec extends Specification { private Process executeCommand(StringBuilder builder) { String[] args = builder.toString().split(" ") ProcessBuilder pb = new ProcessBuilder(args) - Map env = pb.environment() - env["JAVA_HOME"] = System.getenv("JAVA_HOME") + pb.environment().put("JAVA_HOME", System.getenv("JAVA_HOME") ?: System.getProperty("java.home")) process = pb.directory(dir).start() process.consumeProcessOutputStream(output) process diff --git a/grails-forge-analytics-postgres/build.gradle b/grails-forge-analytics-postgres/build.gradle index b521631d..0bdb89a6 100644 --- a/grails-forge-analytics-postgres/build.gradle +++ b/grails-forge-analytics-postgres/build.gradle @@ -20,7 +20,7 @@ dependencies { implementation 'com.google.cloud.sql:postgres-socket-factory:1.17.1' implementation "io.micronaut.sql:micronaut-jdbc-hikari" implementation 'io.micronaut.flyway:micronaut-flyway' - testCompileOnly "io.micronaut:micronaut-inject-groovy" + testCompileOnly "io.micronaut:micronaut-inject-groovy:$micronautVersion" testImplementation "io.micronaut:micronaut-http-client" testImplementation "org.testcontainers:postgresql" testImplementation "ch.qos.logback:logback-classic:1.5.6" diff --git a/grails-forge-api/build.gradle b/grails-forge-api/build.gradle index 257d499a..e2a346b9 100644 --- a/grails-forge-api/build.gradle +++ b/grails-forge-api/build.gradle @@ -21,7 +21,7 @@ dependencies { api group: 'javax.inject', name: 'javax.inject', version: '1' implementation "io.projectreactor:reactor-core" - testCompileOnly "io.micronaut:micronaut-inject-groovy" + testCompileOnly "io.micronaut:micronaut-inject-groovy:$micronautVersion" testImplementation "io.micronaut:micronaut-http-server-netty" testImplementation "io.micronaut:micronaut-http-client" testImplementation "io.micronaut.test:micronaut-test-spock" 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 9f5c9f21..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 @@ -21,9 +21,6 @@ dependencies { @dependency.template("org.hamcrest","hamcrest", "testImplementation", null, false) } -@if (!features.contains("micronaut-http-client")) { - @dependency.template("io.micronaut", "micronaut-http-client", "testImplementation", null, false) -} @if (features.contains("neo4j-bolt")) { @dependency.template("org.neo4j.test", "neo4j-harness", "testRuntimeOnly", null, false) } diff --git a/grails-forge-core/src/main/java/org/grails/forge/feature/micronaut/MicronautInjectGroovy.java b/grails-forge-core/src/main/java/org/grails/forge/feature/micronaut/MicronautInjectGroovy.java deleted file mode 100644 index 19ebd9e6..00000000 --- a/grails-forge-core/src/main/java/org/grails/forge/feature/micronaut/MicronautInjectGroovy.java +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Copyright 2017-2020 original authors - * - * Licensed 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.micronaut; - -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 java.util.Set; - -@Singleton -public class MicronautInjectGroovy implements DefaultFeature { - @Override - public boolean shouldApply(ApplicationType applicationType, Options options, Set selectedFeatures) { - return true; - } - - @Override - public String getName() { - return "micronaut-inject-groovy"; - } - - @Override - public boolean supports(ApplicationType applicationType) { - return true; - } - - @Override - public void apply(GeneratorContext generatorContext) { - generatorContext.addDependency(Dependency.builder() - .groupId("io.micronaut") - .artifactId("micronaut-inject-groovy") - .compileOnly()); - generatorContext.addDependency(Dependency.builder() - .groupId("io.micronaut") - .artifactId("micronaut-inject-groovy") - .test()); - } -} diff --git a/grails-forge-core/src/main/java/org/grails/forge/feature/other/MicronautHttpClient.java b/grails-forge-core/src/main/java/org/grails/forge/feature/other/MicronautHttpClient.java index 13b0b45f..6f530a3e 100644 --- a/grails-forge-core/src/main/java/org/grails/forge/feature/other/MicronautHttpClient.java +++ b/grails-forge-core/src/main/java/org/grails/forge/feature/other/MicronautHttpClient.java @@ -61,7 +61,14 @@ public String getDocumentation() { public void apply(GeneratorContext generatorContext) { generatorContext.addDependency(Dependency.builder() .groupId("io.micronaut") - .artifactId("micronaut-http-client") + .lookupArtifactId("micronaut-http-client") + .compile()); + + + // micronaut-http-client no longer provides the jackson implementation + generatorContext.addDependency(Dependency.builder() + .groupId("io.micronaut.serde") + .lookupArtifactId("micronaut-serde-jackson") .compile()); } } diff --git a/grails-forge-core/src/main/resources/pom.xml b/grails-forge-core/src/main/resources/pom.xml index e801422b..583d2084 100644 --- a/grails-forge-core/src/main/resources/pom.xml +++ b/grails-forge-core/src/main/resources/pom.xml @@ -20,12 +20,12 @@ org.grails grails-gradle-plugin - 6.2.1 + 7.0.0-SNAPSHOT org.grails.plugins hibernate5 - 8.1.0 + 9.0.0-SNAPSHOT org.grails.plugins @@ -40,7 +40,7 @@ org.grails.plugins database-migration - 4.2.1 + 6.0.0-SNAPSHOT org.grails.plugins @@ -50,12 +50,12 @@ org.asciidoctor.jvm.convert asciidoctor-gradle-jvm - 4.0.0-alpha.1 + 4.0.1 org.hibernate hibernate-validator - 6.2.5.Final + 7.0.5.Final org.mongodb @@ -65,7 +65,7 @@ org.grails.plugins views-gradle - 3.2.3 + 4.0.0-SNAPSHOT org.grails.plugins @@ -125,17 +125,27 @@ com.bertramlabs.plugins asset-pipeline-grails - 4.3.0 + 5.0.1 com.bertramlabs.plugins asset-pipeline-gradle - 4.3.0 + 5.0.1 org.junit.jupiter junit-jupiter - 5.10.3 + 5.11.1 + + + io.micronaut + micronaut-http-client + 4.6.6 + + + io.micronaut.serde + micronaut-serde-jackson + 2.11.0 diff --git a/grails-forge-core/src/test/groovy/org/grails/forge/build/gradle/GradleSpec.groovy b/grails-forge-core/src/test/groovy/org/grails/forge/build/gradle/GradleSpec.groovy index 1b4008b9..65a90689 100644 --- a/grails-forge-core/src/test/groovy/org/grails/forge/build/gradle/GradleSpec.groovy +++ b/grails-forge-core/src/test/groovy/org/grails/forge/build/gradle/GradleSpec.groovy @@ -43,9 +43,9 @@ class GradleSpec extends ApplicationContextSpec implements CommandOutputFixture settingsGradle.contains("mavenLocal()") settingsGradle.contains("maven { url \"https://repo.grails.org/grails/core/\" }") settingsGradle.contains("gradlePluginPortal()") - settingsGradle.contains("id \"org.grails.grails-web\" version \"6.2.1\"") - settingsGradle.contains("id \"org.grails.grails-gsp\" version \"6.2.1\"") - settingsGradle.contains("id \"com.bertramlabs.asset-pipeline\" version \"4.3.0\"") + settingsGradle.contains("id \"org.grails.grails-web\" version \"7.0.0-SNAPSHOT\"") + settingsGradle.contains("id \"org.grails.grails-gsp\" version \"7.0.0-SNAPSHOT\"") + settingsGradle.contains("id \"com.bertramlabs.asset-pipeline\" version \"5.0.1\"") } void "test settings.gradle for REST-API"() { @@ -59,10 +59,10 @@ class GradleSpec extends ApplicationContextSpec implements CommandOutputFixture settingsGradle.contains("mavenLocal()") settingsGradle.contains("maven { url \"https://repo.grails.org/grails/core/\" }") settingsGradle.contains("gradlePluginPortal()") - settingsGradle.contains("id \"org.grails.grails-web\" version \"6.2.1\"") - settingsGradle.contains("id \"org.grails.plugins.views-json\" version \"3.2.3\"") - !settingsGradle.contains("id \"org.grails.grails-gsp\" version \"6.2.1\"") - !settingsGradle.contains("id \"com.bertramlabs.asset-pipeline\" version \"4.3.0\"") + settingsGradle.contains("id \"org.grails.grails-web\" version \"7.0.0-SNAPSHOT\"") + settingsGradle.contains("id \"org.grails.plugins.views-json\" version \"4.0.0-SNAPSHOT\"") + !settingsGradle.contains("id \"org.grails.grails-gsp\" version \"7.0.0-SNAPSHOT\"") + !settingsGradle.contains("id \"com.bertramlabs.asset-pipeline\" version \"5.0.1\"") } void "test settings.gradle for REST-API for markup-views"() { @@ -76,10 +76,10 @@ class GradleSpec extends ApplicationContextSpec implements CommandOutputFixture settingsGradle.contains("mavenLocal()") settingsGradle.contains("maven { url \"https://repo.grails.org/grails/core/\" }") settingsGradle.contains("gradlePluginPortal()") - settingsGradle.contains("id \"org.grails.grails-web\" version \"6.2.1\"") - settingsGradle.contains("id \"org.grails.plugins.views-markup\" version \"3.2.3\"") - !settingsGradle.contains("id \"org.grails.plugins.views-json\" version \"3.2.3\"") - !settingsGradle.contains("id \"org.grails.grails-gsp\" version \"6.2.1\"") - !settingsGradle.contains("id \"com.bertramlabs.asset-pipeline\" version \"4.3.0\"") + settingsGradle.contains("id \"org.grails.grails-web\" version \"7.0.0-SNAPSHOT\"") + settingsGradle.contains("id \"org.grails.plugins.views-markup\" version \"4.0.0-SNAPSHOT\"") + !settingsGradle.contains("id \"org.grails.plugins.views-json\" version \"4.0.0-SNAPSHOT\"") + !settingsGradle.contains("id \"org.grails.grails-gsp\" version \"7.0.0-SNAPSHOT\"") + !settingsGradle.contains("id \"com.bertramlabs.asset-pipeline\" version \"5.0.1\"") } } diff --git a/grails-forge-core/src/test/groovy/org/grails/forge/feature/asciidoctor/AsciidoctorSpec.groovy b/grails-forge-core/src/test/groovy/org/grails/forge/feature/asciidoctor/AsciidoctorSpec.groovy index 2c9ab388..638f3e1e 100644 --- a/grails-forge-core/src/test/groovy/org/grails/forge/feature/asciidoctor/AsciidoctorSpec.groovy +++ b/grails-forge-core/src/test/groovy/org/grails/forge/feature/asciidoctor/AsciidoctorSpec.groovy @@ -25,7 +25,7 @@ class AsciidoctorSpec extends ApplicationContextSpec implements CommandOutputFix final def settingGradle = output["settings.gradle"] expect: - settingGradle.contains("id \"org.asciidoctor.jvm.convert\" version \"4.0.0-alpha.1\"") + settingGradle.contains("id \"org.asciidoctor.jvm.convert\" version \"4.0.1\"") buildGradle.contains("apply from: \"gradle/asciidoc.gradle\"") } 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 8453a7b0..6d56bf04 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 @@ -27,7 +27,7 @@ class AssetPipelineSpec extends ApplicationContextSpec implements CommandOutputF expect: buildSrcBuildGradle != null - buildSrcBuildGradle.contains("implementation(\"com.bertramlabs.plugins:asset-pipeline-gradle:4.3.0\")") + buildSrcBuildGradle.contains("implementation(\"com.bertramlabs.plugins:asset-pipeline-gradle:5.0.1\")") } @@ -40,7 +40,7 @@ class AssetPipelineSpec extends ApplicationContextSpec implements CommandOutputF then: template.contains("id \"com.bertramlabs.asset-pipeline\"") - template.contains("runtimeOnly(\"com.bertramlabs.plugins:asset-pipeline-grails:4.3.0\")") + template.contains("runtimeOnly(\"com.bertramlabs.plugins:asset-pipeline-grails:5.0.1\")") template.contains(''' assets { minifyJs = true diff --git a/grails-forge-core/src/test/groovy/org/grails/forge/feature/database/HibernateGormSpec.groovy b/grails-forge-core/src/test/groovy/org/grails/forge/feature/database/HibernateGormSpec.groovy index a7bbf4eb..0485ae2b 100644 --- a/grails-forge-core/src/test/groovy/org/grails/forge/feature/database/HibernateGormSpec.groovy +++ b/grails-forge-core/src/test/groovy/org/grails/forge/feature/database/HibernateGormSpec.groovy @@ -40,7 +40,7 @@ class HibernateGormSpec extends ApplicationContextSpec implements CommandOutputF .renderBuildSrc() then: - template.contains('implementation("org.grails.plugins:hibernate5:8.1.0")') + template.contains('implementation("org.grails.plugins:hibernate5:9.0.0-SNAPSHOT")') } void "test buildSrc is present for buildscript dependencies"() { @@ -50,7 +50,7 @@ class HibernateGormSpec extends ApplicationContextSpec implements CommandOutputF expect: buildSrcBuildGradle != null - buildSrcBuildGradle.contains("implementation(\"org.grails.plugins:hibernate5:8.1.0\")") + buildSrcBuildGradle.contains("implementation(\"org.grails.plugins:hibernate5:9.0.0-SNAPSHOT\")") } diff --git a/grails-forge-core/src/test/groovy/org/grails/forge/feature/grails/GrailsGradlePluginSpec.groovy b/grails-forge-core/src/test/groovy/org/grails/forge/feature/grails/GrailsGradlePluginSpec.groovy index 99474677..3fa8f6e0 100644 --- a/grails-forge-core/src/test/groovy/org/grails/forge/feature/grails/GrailsGradlePluginSpec.groovy +++ b/grails-forge-core/src/test/groovy/org/grails/forge/feature/grails/GrailsGradlePluginSpec.groovy @@ -16,8 +16,8 @@ class GrailsGradlePluginSpec extends BeanContextSpec implements CommandOutputFix final String gradleProps = output["gradle.properties"] then: - gradleProps.contains("grailsGradlePluginVersion=6.2.1") - gradleProps.contains("grailsVersion=6.2.2-SNAPSHOT") + gradleProps.contains("grailsGradlePluginVersion=7.0.0-SNAPSHOT") + gradleProps.contains("grailsVersion=7.0.0-SNAPSHOT") } void "test dependencies are present for buildSrc"() { @@ -26,7 +26,7 @@ class GrailsGradlePluginSpec extends BeanContextSpec implements CommandOutputFix .renderBuildSrc() then: - template.contains('implementation("org.grails:grails-gradle-plugin:6.2.1")') + template.contains('implementation("org.grails:grails-gradle-plugin:7.0.0-SNAPSHOT")') } void "test buildSrc is present for buildscript dependencies"() { @@ -36,7 +36,7 @@ class GrailsGradlePluginSpec extends BeanContextSpec implements CommandOutputFix expect: buildSrcBuildGradle != null - buildSrcBuildGradle.contains("implementation(\"org.grails:grails-gradle-plugin:6.2.1\")") + buildSrcBuildGradle.contains("implementation(\"org.grails:grails-gradle-plugin:7.0.0-SNAPSHOT\")") } diff --git a/grails-forge-core/src/test/groovy/org/grails/forge/feature/micronaut/MicronautHttpClientSpec.groovy b/grails-forge-core/src/test/groovy/org/grails/forge/feature/micronaut/MicronautHttpClientSpec.groovy index c2372e06..e242d063 100644 --- a/grails-forge-core/src/test/groovy/org/grails/forge/feature/micronaut/MicronautHttpClientSpec.groovy +++ b/grails-forge-core/src/test/groovy/org/grails/forge/feature/micronaut/MicronautHttpClientSpec.groovy @@ -13,6 +13,7 @@ class MicronautHttpClientSpec extends BeanContextSpec { .render() then: - template.contains("implementation(\"io.micronaut:micronaut-http-client\")") + template.contains("implementation(\"io.micronaut:micronaut-http-client:4.6.6\")") + template.contains("implementation(\"io.micronaut.serde:micronaut-serde-jackson:2.11.0\")") } } diff --git a/grails-forge-core/src/test/groovy/org/grails/forge/feature/micronaut/MicronautInjectGroovySpec.groovy b/grails-forge-core/src/test/groovy/org/grails/forge/feature/micronaut/MicronautInjectGroovySpec.groovy deleted file mode 100644 index cfb2f57f..00000000 --- a/grails-forge-core/src/test/groovy/org/grails/forge/feature/micronaut/MicronautInjectGroovySpec.groovy +++ /dev/null @@ -1,18 +0,0 @@ -package org.grails.forge.feature.micronaut - -import org.grails.forge.BeanContextSpec -import org.grails.forge.BuildBuilder - -class MicronautInjectGroovySpec extends BeanContextSpec { - - void "test dependencies"() { - when: - final String template = new BuildBuilder(beanContext) - .features(["micronaut-inject-groovy"]) - .render() - - then: - template.contains("compileOnly(\"io.micronaut:micronaut-inject-groovy\")") - template.contains("testImplementation(\"io.micronaut:micronaut-inject-groovy\")") - } -} diff --git a/grails-forge-web-netty/build.gradle b/grails-forge-web-netty/build.gradle index 07491cce..9976e863 100644 --- a/grails-forge-web-netty/build.gradle +++ b/grails-forge-web-netty/build.gradle @@ -14,7 +14,7 @@ dependencies { implementation(project(":grails-forge-api")) implementation("io.micronaut.gcp:micronaut-gcp-http-client") runtimeOnly("ch.qos.logback:logback-classic") - testCompileOnly("io.micronaut:micronaut-inject-groovy") + testCompileOnly("io.micronaut:micronaut-inject-groovy:$micronautVersion") testImplementation("io.micronaut.test:micronaut-test-spock") testImplementation("io.micronaut:micronaut-http-client") } diff --git a/test-core/build.gradle b/test-core/build.gradle index c3444704..88e69084 100644 --- a/test-core/build.gradle +++ b/test-core/build.gradle @@ -31,6 +31,7 @@ dependencies { testImplementation project(":grails-cli") testImplementation "ch.qos.logback:logback-classic:1.5.6" testImplementation "io.micronaut.picocli:micronaut-picocli" + implementation "io.micronaut:micronaut-inject-groovy:$micronautVersion" generateConfig "info.picocli:picocli-codegen:${picocliVersion}" }