From d3f67d99f421a2c1b1703996cab911b0c47ba886 Mon Sep 17 00:00:00 2001 From: Tim Yates Date: Thu, 3 Mar 2022 09:55:21 +0000 Subject: [PATCH 1/5] Update build to latest infrastructure - Removed the workaround for secure hashes (fixed in maven central) - Reinstated the daemon - Added parallel Will fail currently as the docs are invalid in places (which is fixed once #509 is merged --- build.gradle | 46 ++++------------------------------------ gradle.properties | 7 +++--- settings.gradle | 15 +++++++------ test-bom/build.gradle | 11 +++------- test-core/build.gradle | 10 ++++++--- test-junit5/build.gradle | 22 +++++++++---------- test-kotest/build.gradle | 13 +++++++----- test-spock/build.gradle | 14 +++++++----- 8 files changed, 52 insertions(+), 86 deletions(-) diff --git a/build.gradle b/build.gradle index 9be88bec0..a53f814dd 100644 --- a/build.gradle +++ b/build.gradle @@ -1,42 +1,4 @@ -buildscript { - repositories { - mavenCentral() - gradlePluginPortal() - } - dependencies { - classpath "io.micronaut.build.internal:micronaut-gradle-plugins:4.1.5" - } -} - -repositories { - maven { url "https://repo.grails.org/grails/core" } -} - -subprojects { Project subproject -> - group "io.micronaut.test" - - if (subproject.name != 'test-bom' && subproject.name != 'test-junit5') { - apply plugin: "io.micronaut.build.internal.common" - - micronautBuild { - resolutionStrategy { - eachDependency { DependencyResolveDetails details -> - String group = details.requested.group - if (group.startsWith('org.jetbrains.kotlin') && group != 'org.jetbrains.kotlinx') { - details.useVersion kotlinVersion - } - } - } - } - - } else if (subproject.name != 'test-junit5') { - apply plugin: "java-platform" - version projectVersion - } - - apply plugin: "io.micronaut.build.internal.dependency-updates" - apply plugin: "io.micronaut.build.internal.publishing" -} - -apply plugin: "io.micronaut.build.internal.docs" -apply plugin: "io.micronaut.build.internal.dependency-updates" +plugins { + id "io.micronaut.build.internal.docs" + id "io.micronaut.build.internal.dependency-updates" +} \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 3454fbcb6..db0c92154 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,6 @@ projectVersion=3.0.6-SNAPSHOT +projectGroup=io.micronaut.test + micronautDocsVersion=2.0.0.RC1 micronautVersion=3.0.0 @@ -30,7 +32,4 @@ junit5tests=test-junit5/src/test/java/io/micronaut/test/junit5 kotesttests=test-kotest/src/test/kotlin/io/micronaut/test/kotest org.gradle.caching=true -org.gradle.daemon=false -# Workaround for https://issues.sonatype.org/browse/MVNCENTRAL-5276 -# See https://github.com/gradle/gradle/issues/11308 for more details -systemProp.org.gradle.internal.publish.checksums.insecure=true +org.gradle.parallel=true \ No newline at end of file diff --git a/settings.gradle b/settings.gradle index 0ec8af7ad..e35e5eceb 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,13 +1,14 @@ -plugins { - id "com.gradle.enterprise" version "3.1.1" -} -gradleEnterprise { - buildScan { - termsOfServiceUrl = 'https://gradle.com/terms-of-service' - termsOfServiceAgree = 'yes' +pluginManagement { + repositories { + gradlePluginPortal() + mavenCentral() } } +plugins { + id("io.micronaut.build.shared.settings") version "5.2.1" +} + rootProject.name = 'micronaut-test' include 'test-bom' diff --git a/test-bom/build.gradle b/test-bom/build.gradle index ce2aa5178..9c23fe15b 100644 --- a/test-bom/build.gradle +++ b/test-bom/build.gradle @@ -1,16 +1,11 @@ -javaPlatform { - allowDependencies() +plugins { + id "io.micronaut.build.internal.bom" } + dependencies { api platform("org.junit:junit-bom:$junitVersion") api platform("org.spockframework:spock-bom:$spockVersion") - constraints { - for (Project p : rootProject.subprojects) { - if (p.name == "test-bom") continue - api "$p.group:micronaut-$p.name:$p.version" - } - api "io.kotest:kotest-runner-junit5-jvm:$kotestVersion" api "io.kotest:kotest-assertions-core-jvm:$kotestVersion" api "io.mockk:mockk:$mockkVersion" diff --git a/test-core/build.gradle b/test-core/build.gradle index c9b46cfb3..d312bd492 100644 --- a/test-core/build.gradle +++ b/test-core/build.gradle @@ -1,6 +1,10 @@ +plugins { + id "io.micronaut.build.internal.module" +} + dependencies { - annotationProcessor "io.micronaut:micronaut-inject-java:$micronautVersion" - compileOnly "io.micronaut:micronaut-http-server:$micronautVersion" + annotationProcessor "io.micronaut:micronaut-inject-java" + compileOnly "io.micronaut:micronaut-http-server" compileOnly("org.spockframework:spock-core:$spockVersion") { exclude group: "org.codehaus.groovy", module: "groovy-all" } @@ -10,7 +14,7 @@ dependencies { api "io.micronaut:micronaut-inject:$micronautVersion" - implementation "io.micronaut:micronaut-runtime:$micronautVersion" + implementation "io.micronaut:micronaut-runtime" } jar { diff --git a/test-junit5/build.gradle b/test-junit5/build.gradle index 5fb372526..fb85f3e00 100644 --- a/test-junit5/build.gradle +++ b/test-junit5/build.gradle @@ -1,6 +1,6 @@ plugins { - id 'org.graalvm.buildtools.native' version '0.9.8' - id "java-library" + id 'org.graalvm.buildtools.native' version '0.9.8' + id "io.micronaut.build.internal.module" } repositories { @@ -11,7 +11,6 @@ version projectVersion java { sourceCompatibility = "1.8" targetCompatibility = "1.8" - } tasks.withType(Test).configureEach { @@ -36,23 +35,24 @@ tasks.withType(Jar).configureEach { attributes('Implementation-Title': project.findProperty("title")) } } + dependencies { api project(":test-core") - api "io.micronaut:micronaut-inject:$micronautVersion" - implementation "io.micronaut:micronaut-runtime:$micronautVersion" + api "io.micronaut:micronaut-inject" + implementation "io.micronaut:micronaut-runtime" compileOnly "org.graalvm.nativeimage:svm:21.3.0" api("org.junit.jupiter:junit-jupiter-api:$junitVersion") - testCompileOnly "io.micronaut:micronaut-inject:$micronautVersion" + testCompileOnly "io.micronaut:micronaut-inject" testRuntimeOnly( "org.junit.jupiter:junit-jupiter-engine:$junitVersion" ) testImplementation "org.junit.jupiter:junit-jupiter-params:$junitVersion" - testAnnotationProcessor "io.micronaut:micronaut-inject-java:$micronautVersion" - testAnnotationProcessor "io.micronaut:micronaut-graal:$micronautVersion" - testImplementation "io.micronaut:micronaut-http-server-netty:$micronautVersion" - testImplementation "io.micronaut:micronaut-http-client:$micronautVersion" + testAnnotationProcessor "io.micronaut:micronaut-inject-java" + testAnnotationProcessor "io.micronaut:micronaut-graal" + testImplementation "io.micronaut:micronaut-http-server-netty" + testImplementation "io.micronaut:micronaut-http-client" testImplementation 'org.mockito:mockito-junit-jupiter:4.1.0' testImplementation "org.hamcrest:hamcrest:$hamcrestVersion" testImplementation "io.micronaut.data:micronaut-data-tx:2.4.7" @@ -63,8 +63,6 @@ dependencies { } - - graalvmNative { binaries { test { diff --git a/test-kotest/build.gradle b/test-kotest/build.gradle index 7d695999c..c047d5715 100644 --- a/test-kotest/build.gradle +++ b/test-kotest/build.gradle @@ -1,12 +1,13 @@ plugins { id "org.jetbrains.kotlin.jvm" version "$kotlinVersion" id "org.jetbrains.kotlin.kapt" version "$kotlinVersion" + id "io.micronaut.build.internal.module" } dependencies { api project(":test-core") - implementation "io.micronaut:micronaut-inject:$micronautVersion" - api "io.micronaut:micronaut-runtime:$micronautVersion" + implementation "io.micronaut:micronaut-inject" + api "io.micronaut:micronaut-runtime" api "io.kotest:kotest-runner-junit5-jvm:$kotestVersion" implementation project(":test-junit5") @@ -18,10 +19,12 @@ dependencies { testCompileOnly "jakarta.inject:jakarta.inject-api:2.0.0" testImplementation "io.mockk:mockk:$mockkVersion" - kaptTest "io.micronaut:micronaut-inject-java:$micronautVersion" - testImplementation "io.micronaut:micronaut-http-server-netty:$micronautVersion" - testImplementation "io.micronaut:micronaut-http-client:$micronautVersion" + kaptTest(platform("io.micronaut:micronaut-bom:$micronautVersion")) + kaptTest "io.micronaut:micronaut-inject-java" + + testImplementation "io.micronaut:micronaut-http-server-netty" + testImplementation "io.micronaut:micronaut-http-client" testImplementation "io.micronaut.data:micronaut-data-tx:2.4.7" testImplementation "io.micronaut.data:micronaut-data-hibernate-jpa:2.4.7" diff --git a/test-spock/build.gradle b/test-spock/build.gradle index 0986d4d4a..c38f9794b 100644 --- a/test-spock/build.gradle +++ b/test-spock/build.gradle @@ -1,16 +1,20 @@ +plugins { + id "io.micronaut.build.internal.module" +} + dependencies { api project(":test-core") - api "io.micronaut:micronaut-inject:$micronautVersion" - implementation "io.micronaut:micronaut-runtime:$micronautVersion" + api "io.micronaut:micronaut-inject" + implementation "io.micronaut:micronaut-runtime" api("org.spockframework:spock-core:$spockVersion") { exclude group: "org.codehaus.groovy", module: "groovy-all" } compileOnly "jakarta.inject:jakarta.inject-api:2.0.0" testCompileOnly "jakarta.inject:jakarta.inject-api:2.0.0" - testImplementation "io.micronaut:micronaut-inject-groovy:$micronautVersion" - testImplementation "io.micronaut:micronaut-http-server-netty:$micronautVersion" - testImplementation "io.micronaut:micronaut-http-client:$micronautVersion" + testImplementation "io.micronaut:micronaut-inject-groovy" + testImplementation "io.micronaut:micronaut-http-server-netty" + testImplementation "io.micronaut:micronaut-http-client" testImplementation "io.micronaut.sql:micronaut-jdbc-hikari:$micronautSqlVersion" testImplementation "io.micronaut.beanvalidation:micronaut-hibernate-validator" From 4140aca977f96fe37f54f97003a501df25d46f8f Mon Sep 17 00:00:00 2001 From: Tim Yates Date: Thu, 3 Mar 2022 10:15:42 +0000 Subject: [PATCH 2/5] Try with latest org.graalvm.buildtools.native --- test-junit5/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test-junit5/build.gradle b/test-junit5/build.gradle index fb85f3e00..30dafaa7b 100644 --- a/test-junit5/build.gradle +++ b/test-junit5/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'org.graalvm.buildtools.native' version '0.9.8' + id 'org.graalvm.buildtools.native' version '0.9.10' id "io.micronaut.build.internal.module" } From f23342b76de66f47facf4d02055b6b71ed81df1e Mon Sep 17 00:00:00 2001 From: Tim Yates Date: Thu, 3 Mar 2022 11:31:30 +0000 Subject: [PATCH 3/5] Switch to non-spock base-module for the native tests --- test-core/build.gradle | 3 --- test-junit5/build.gradle | 3 +-- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/test-core/build.gradle b/test-core/build.gradle index d312bd492..68897e328 100644 --- a/test-core/build.gradle +++ b/test-core/build.gradle @@ -5,9 +5,6 @@ plugins { dependencies { annotationProcessor "io.micronaut:micronaut-inject-java" compileOnly "io.micronaut:micronaut-http-server" - compileOnly("org.spockframework:spock-core:$spockVersion") { - exclude group: "org.codehaus.groovy", module: "groovy-all" - } compileOnly( "org.junit.jupiter:junit-jupiter-api:$junitVersion" ) diff --git a/test-junit5/build.gradle b/test-junit5/build.gradle index 30dafaa7b..720e352fe 100644 --- a/test-junit5/build.gradle +++ b/test-junit5/build.gradle @@ -1,12 +1,11 @@ plugins { id 'org.graalvm.buildtools.native' version '0.9.10' - id "io.micronaut.build.internal.module" + id "io.micronaut.build.internal.base-module" } repositories { mavenCentral() } -version projectVersion java { sourceCompatibility = "1.8" From 166531b6f96e1db1e64ccb57552719e29a15132a Mon Sep 17 00:00:00 2001 From: Tim Yates Date: Thu, 3 Mar 2022 11:54:17 +0000 Subject: [PATCH 4/5] Stop groovy getting into the nativeimage classpath --- test-junit5/build.gradle | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/test-junit5/build.gradle b/test-junit5/build.gradle index 720e352fe..3464be3e1 100644 --- a/test-junit5/build.gradle +++ b/test-junit5/build.gradle @@ -22,6 +22,12 @@ tasks.withType(Test).configureEach { useJUnitPlatform() } +configurations { + nativeImageTestClasspath { + exclude(group: 'org.codehaus.groovy') + } +} + tasks.withType(JavaCompile).configureEach { options.encoding = "UTF-8" options.compilerArgs.add('-parameters') From 22d96a2e9d1fa1e90c575a354e60ecf24ac74701 Mon Sep 17 00:00:00 2001 From: Tim Yates Date: Fri, 4 Mar 2022 10:01:39 +0000 Subject: [PATCH 5/5] Remove unused annotation processor --- test-core/build.gradle | 5 +---- test-junit5/build.gradle | 1 - 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/test-core/build.gradle b/test-core/build.gradle index 68897e328..87dc11f9c 100644 --- a/test-core/build.gradle +++ b/test-core/build.gradle @@ -3,11 +3,8 @@ plugins { } dependencies { - annotationProcessor "io.micronaut:micronaut-inject-java" compileOnly "io.micronaut:micronaut-http-server" - compileOnly( - "org.junit.jupiter:junit-jupiter-api:$junitVersion" - ) + compileOnly("org.junit.jupiter:junit-jupiter-api:$junitVersion") api "io.micronaut:micronaut-inject:$micronautVersion" diff --git a/test-junit5/build.gradle b/test-junit5/build.gradle index 3464be3e1..3509c0050 100644 --- a/test-junit5/build.gradle +++ b/test-junit5/build.gradle @@ -65,7 +65,6 @@ dependencies { testRuntimeOnly "io.micronaut.sql:micronaut-jdbc-tomcat:$micronautSqlVersion" testRuntimeOnly "com.h2database:h2:1.4.200" - } graalvmNative {