From 39e12440611d769dfad07b7c8f4528050af27b04 Mon Sep 17 00:00:00 2001 From: Tommy Ludwig <8924140+shakuzen@users.noreply.github.com> Date: Tue, 28 Oct 2025 18:53:39 +0900 Subject: [PATCH] WIP Gradle 9 upgrade --- .circleci/config.yml | 69 +++++++------ build.gradle | 38 +++---- docs/build.gradle | 8 -- gradle/libs.versions.toml | 18 ++-- gradle/wrapper/gradle-wrapper.properties | 2 +- .../micrometer-registry-statsd/build.gradle | 2 +- micrometer-bom/build.gradle | 14 +-- micrometer-commons/build.gradle | 20 ++-- micrometer-core/build.gradle | 99 ++++++++++--------- .../core/instrument/config/MeterFilter.java | 2 +- micrometer-jakarta9/build.gradle | 20 ++-- .../instrument/jms/JmsInstrumentation.java | 2 +- micrometer-observation/build.gradle | 20 ++-- .../micrometer-samples-kotlin/build.gradle | 23 +++-- settings.gradle | 6 +- 15 files changed, 168 insertions(+), 175 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 8f2d173b48..e8cc66a184 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,34 +1,27 @@ version: 2.1 executors: - jdk24-executor: + jdk25-executor: working_directory: ~/micrometer environment: GRADLE_OPTS: '-Dorg.gradle.jvmargs="-Xmx2048m -XX:+HeapDumpOnOutOfMemoryError"' resource_class: medium+ docker: - - image: cimg/openjdk:24.0.2 - circle-jdk-executor: + - image: cimg/openjdk:25.0 + jdk21-executor: working_directory: ~/micrometer environment: GRADLE_OPTS: '-Dorg.gradle.jvmargs="-Xmx1g -XX:+HeapDumpOnOutOfMemoryError"' resource_class: medium+ docker: - image: cimg/openjdk:21.0.8 - circle-jdk17-executor: + jdk17-executor: working_directory: ~/micrometer environment: GRADLE_OPTS: '-Dorg.gradle.jvmargs="-Xmx1g -XX:+HeapDumpOnOutOfMemoryError"' resource_class: medium+ docker: - image: cimg/openjdk:17.0.16 - circle-jdk11-executor: - working_directory: ~/micrometer - environment: - GRADLE_OPTS: '-Dorg.gradle.jvmargs="-Xmx1g -XX:+HeapDumpOnOutOfMemoryError"' - resource_class: medium+ - docker: - - image: cimg/openjdk:11.0.28 machine-executor: working_directory: ~/micrometer machine: @@ -41,6 +34,9 @@ commands: command: type: string default: 'build' + toolchainVersion: + type: string + default: '' steps: - checkout - restore_cache: @@ -54,7 +50,7 @@ commands: - ~/.gradle - run: name: run gradle command - command: ./gradlew << parameters.command >> + command: ./gradlew << parameters.command >> -PtoolchainVersion=<< parameters.toolchainVersion >> - run: name: collect test reports when: always @@ -67,32 +63,35 @@ commands: path: ~/micrometer/test-results/ jobs: - build-jdk24: - executor: jdk24-executor + build-jdk25: + executor: jdk25-executor steps: - gradlew-build - run: ./gradlew generationalShenandoahTest - build: - executor: circle-jdk-executor + build-jdk21: + executor: jdk21-executor steps: - - gradlew-build - - run: ./gradlew shenandoahTest - - run: ./gradlew zgcTest - - run: ./gradlew zgcGenerationalTest + - gradlew-build: + toolchainVersion: '21' + - run: ./gradlew shenandoahTest -PtoolchainVersion=21 + - run: ./gradlew zgcTest -PtoolchainVersion=21 + - run: ./gradlew zgcGenerationalTest -PtoolchainVersion=21 build-jdk11: - executor: circle-jdk11-executor + executor: jdk25-executor steps: - - gradlew-build + - gradlew-build: + toolchainVersion: '11' build-jdk17: - executor: circle-jdk17-executor + executor: jdk17-executor steps: - - gradlew-build + - gradlew-build: + toolchainVersion: '17' concurrency-tests: - executor: circle-jdk-executor + executor: jdk25-executor steps: - gradlew-build: command: jcstress @@ -104,7 +103,7 @@ jobs: command: dockerTest deploy: - executor: circle-jdk-executor + executor: jdk25-executor steps: - checkout - restore_cache: @@ -114,7 +113,7 @@ jobs: command: sh ./gradle/deploy.sh stackdriver-it: - executor: circle-jdk-executor + executor: jdk25-executor steps: - run: name: Setup Google Cloud auth @@ -128,10 +127,10 @@ workflows: version: 2 build_prs_deploy_snapshots: jobs: - - build - build-jdk11 - build-jdk17 - - build-jdk24 + - build-jdk21 + - build-jdk25 - concurrency-tests - docker-tests - stackdriver-it: @@ -146,10 +145,10 @@ workflows: context: - deploy requires: - - build - build-jdk11 - build-jdk17 - - build-jdk24 + - build-jdk21 + - build-jdk25 - concurrency-tests - docker-tests filters: @@ -159,7 +158,7 @@ workflows: - /\d+\.\d+\.x/ build_deploy_releases: jobs: - - build: + - build-jdk21: filters: branches: ignore: /.*/ @@ -177,7 +176,7 @@ workflows: ignore: /.*/ tags: only: /^v\d+\.\d+\.\d+(-(RC|M)\d+)?$/ - - build-jdk24: + - build-jdk25: filters: branches: ignore: /.*/ @@ -207,10 +206,10 @@ workflows: context: - deploy requires: - - build - build-jdk11 - build-jdk17 - - build-jdk24 + - build-jdk21 + - build-jdk25 - concurrency-tests - docker-tests filters: diff --git a/build.gradle b/build.gradle index 38cad03f81..d6d02e68f3 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,6 @@ buildscript { - ext.javaLanguageVersion = JavaLanguageVersion.of(JavaVersion.current().isJava11Compatible() ? JavaVersion.current().getMajorVersion() : 17) + ext.gradleJvmVersion = JavaLanguageVersion.of(JavaVersion.current().getMajorVersion()) + ext.javaLanguageVersion = project.hasProperty('toolchainVersion') && project.property('toolchainVersion') != '' ? JavaLanguageVersion.of(project.property('toolchainVersion') as int) : gradleJvmVersion ext.javaTargetVersion = JavaVersion.VERSION_1_8 repositories { @@ -20,12 +21,7 @@ buildscript { classpath libs.plugin.japicmp classpath libs.plugin.downloadTask classpath libs.plugin.spotless - - if (javaLanguageVersion.asInt() < 17) { - classpath libs.plugin.bnd - } else { - classpath libs.plugin.bndForJava17 - } + classpath libs.plugin.bnd constraints { classpath(libs.asmForPlugins) { @@ -164,9 +160,9 @@ subprojects { toolchain { languageVersion = javaLanguageVersion - sourceCompatibility = javaTargetVersion - targetCompatibility = javaTargetVersion } + sourceCompatibility = javaTargetVersion + targetCompatibility = javaTargetVersion } // Dependencies for all projects that are not transitive to consumers of our modules @@ -373,11 +369,9 @@ subprojects { apply plugin: 'com.netflix.nebula.maven-apache-license' apply plugin: 'com.netflix.nebula.publish-verification' apply plugin: 'com.netflix.nebula.contacts' - apply plugin: 'com.netflix.nebula.info' - apply plugin: 'com.netflix.nebula.project' if (project.name != 'micrometer-bom') { - apply plugin: 'biz.aQute.bnd.builder' +// apply plugin: 'biz.aQute.bnd.builder' jar { manifest.attributes.put('Automatic-Module-Name', project.name.replace('-', '.')) @@ -386,20 +380,20 @@ subprojects { from "$rootDir/NOTICE" } - bundle { - // workaround for multi-version JARs - // see https://github.com/bndtools/bnd/issues/2227 - bnd '''\ - -fixupmessages: '^Classes found in the wrong directory: .*' - -exportcontents: io.micrometer.* - '''.stripIndent() - } +// bundle { +// // workaround for multi-version JARs +// // see https://github.com/bndtools/bnd/issues/2227 +// bnd '''\ +// -fixupmessages: '^Classes found in the wrong directory: .*' +// -exportcontents: io.micrometer.* +// '''.stripIndent() +// } } tasks.register("testModules", Exec) { dependsOn jar String executablePath = javaToolchains.launcherFor { languageVersion = javaLanguageVersion }.get().executablePath - commandLine "$executablePath", '-p', "$jar.archivePath", '--list-modules' + commandLine "$executablePath", '-p', "$jar.archiveFile", '--list-modules' standardOutput = new ByteArrayOutputStream() ignoreExitValue = true @@ -502,7 +496,7 @@ nexusPublishing { } wrapper { - gradleVersion = '8.14.3' + gradleVersion = '9.1.0' } defaultTasks 'build' diff --git a/docs/build.gradle b/docs/build.gradle index e554b3f53a..bffb520291 100644 --- a/docs/build.gradle +++ b/docs/build.gradle @@ -5,13 +5,11 @@ buildscript { } dependencies { - classpath 'io.spring.gradle.antora:spring-antora-plugin:0.0.1' classpath 'org.antora:gradle-antora-plugin:1.0.0' } } apply plugin: 'java' -apply plugin: 'io.spring.antora.generate-antora-yml' apply plugin: 'org.antora' description = 'Micrometer Docs' @@ -87,12 +85,6 @@ antora { ] } -tasks.named('generateAntoraYml') { - asciidocAttributes = project.provider { - return ['micrometer-version': project.version.toString()] - } -} - tasks.create('generateAntoraResources') { dependsOn 'generateAntoraYml' } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index caa91d0c85..2558a602a9 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -59,7 +59,7 @@ mongo = "4.11.5" netty = "4.2.7.Final" newrelic-api = "5.14.0" # Kotlin 1.7 sample will fail from OkHttp 4.12.0 due to okio dependency being a Kotlin 1.9 module -okhttp = "4.11.0" +okhttp = "4.12.0" postgre = "42.7.8" prometheus = "1.4.1" prometheusSimpleClient = "0.16.0" @@ -216,21 +216,19 @@ wiremockJunit5 = { module = "ru.lanwen.wiremock:wiremock-junit5", version.ref = # plugin dependencies plugin-errorprone = { module = "net.ltgt.errorprone:net.ltgt.errorprone.gradle.plugin", version = "4.3.0" } plugin-license = { module = "gradle.plugin.com.hierynomus.gradle.plugins:license-gradle-plugin", version = "0.16.1" } -plugin-nebulaRelease = { module = "com.netflix.nebula:nebula-release-plugin", version = "18.0.8" } -plugin-nebulaPublishing = { module = "com.netflix.nebula:nebula-publishing-plugin", version = "20.3.0" } -plugin-nebulaProject = { module = "com.netflix.nebula:nebula-project-plugin", version = "10.1.5" } -plugin-nebulaInfo = { module = "com.netflix.nebula:gradle-info-plugin", version = "12.1.6" } +plugin-nebulaRelease = { module = "com.netflix.nebula:nebula-release-plugin", version = "21.0.0" } +plugin-nebulaPublishing = { module = "com.netflix.nebula:nebula-publishing-plugin", version = "22.0.0" } +plugin-nebulaProject = { module = "com.netflix.nebula:nebula-project-plugin", version = "12.0.0" } +plugin-nebulaInfo = { module = "com.netflix.nebula:gradle-info-plugin", version = "15.0.0" } plugin-noHttp = { module = "io.spring.nohttp:nohttp-gradle", version = "0.0.11" } -plugin-nexusPublish = { module = "io.github.gradle-nexus:publish-plugin", version = "1.3.0" } +plugin-nexusPublish = { module = "io.github.gradle-nexus:publish-plugin", version = "2.0.0" } plugin-javaformat = { module = "io.spring.javaformat:spring-javaformat-gradle-plugin", version.ref = "spring-javaformat" } plugin-japicmp = { module = "me.champeau.gradle:japicmp-gradle-plugin", version = "0.4.6" } plugin-downloadTask = { module = "de.undercouch:gradle-download-task", version = "5.6.0" } plugin-spotless = { module = "com.diffplug.spotless:spotless-plugin-gradle", version = "6.25.0" } -plugin-bnd = "biz.aQute.bnd:biz.aQute.bnd.gradle:6.4.0" -plugin-bndForJava17 = "biz.aQute.bnd:biz.aQute.bnd.gradle:7.1.0" +plugin-bnd = "biz.aQute.bnd:biz.aQute.bnd.gradle:7.1.0" [plugins] -kotlin19 = { id = "org.jetbrains.kotlin.jvm", version = "1.9.25" } -kotlin17 = { id = "org.jetbrains.kotlin.jvm", version = "1.7.22" } +kotlin = { id = "org.jetbrains.kotlin.jvm", version = "1.9.25" } jcstress = { id = "io.github.reyerizo.gradle.jcstress", version = "0.9.0" } aspectj = { id = 'io.freefair.aspectj.post-compile-weaving', version = '8.14.2' } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index d4081da476..62874b2ff3 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.14.3-bin.zip +distributionUrl=https://services.gradle.org/distributions/gradle-9.1.0-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/implementations/micrometer-registry-statsd/build.gradle b/implementations/micrometer-registry-statsd/build.gradle index 29c4303744..f9eed770fa 100644 --- a/implementations/micrometer-registry-statsd/build.gradle +++ b/implementations/micrometer-registry-statsd/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'com.gradleup.shadow' version '8.3.6' + id 'com.gradleup.shadow' version '8.3.9' } dependencies { diff --git a/micrometer-bom/build.gradle b/micrometer-bom/build.gradle index e3ab882a61..9632321685 100644 --- a/micrometer-bom/build.gradle +++ b/micrometer-bom/build.gradle @@ -23,10 +23,10 @@ dependencies { } } -publishing { - publications { - nebula(MavenPublication) { - from components.javaPlatform - } - } -} +//publishing { +// publications { +// nebula(MavenPublication) { +// from components.javaPlatform +// } +// } +//} diff --git a/micrometer-commons/build.gradle b/micrometer-commons/build.gradle index 0a0b044790..54022a5a19 100644 --- a/micrometer-commons/build.gradle +++ b/micrometer-commons/build.gradle @@ -13,14 +13,14 @@ dependencies { } jar { - bundle { - bnd '''\ - Import-Package: \ - !java.*,\ - org.aspectj.*;resolution:=dynamic,\ - org.slf4j.*;resolution:=dynamic,\ - javax.annotation.*;resolution:=optional;version="${@}",\ - * - '''.stripIndent() - } +// bundle { +// bnd '''\ +// Import-Package: \ +// !java.*,\ +// org.aspectj.*;resolution:=dynamic,\ +// org.slf4j.*;resolution:=dynamic,\ +// javax.annotation.*;resolution:=optional;version="${@}",\ +// * +// '''.stripIndent() +// } } diff --git a/micrometer-core/build.gradle b/micrometer-core/build.gradle index a6725c1f64..6adbd5bc3a 100644 --- a/micrometer-core/build.gradle +++ b/micrometer-core/build.gradle @@ -1,5 +1,8 @@ +import org.jetbrains.kotlin.gradle.dsl.JvmTarget +import org.jetbrains.kotlin.gradle.dsl.KotlinVersion + plugins { - alias(libs.plugins.kotlin19) + alias(libs.plugins.kotlin) alias(libs.plugins.aspectj) apply false } @@ -28,61 +31,61 @@ else { description 'Core module of Micrometer containing instrumentation API and implementation' -tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all { - kotlinOptions { - jvmTarget = javaTargetVersion - apiVersion = "1.7" - languageVersion = "1.7" +kotlin { + compilerOptions { + jvmTarget = JvmTarget.JVM_1_8 + apiVersion = KotlinVersion.KOTLIN_1_7 + languageVersion = KotlinVersion.KOTLIN_1_7 } } compileTestKotlin { - kotlinOptions { - jvmTarget = JavaVersion.VERSION_11 + compilerOptions { + jvmTarget = JvmTarget.JVM_11 } } jar { - bundle { - bnd '''\ - Import-Package: \ - !java.*,\ - org.aspectj.*;resolution:=dynamic,\ - com.github.benmanes.caffeine.*;resolution:=dynamic;version="${@}",\ - net.sf.ehcache.*;resolution:=dynamic;version="${@}",\ - javax.cache.*;resolution:=dynamic;version="${@}",\ - org.hibernate.*;resolution:=dynamic;version="${@}",\ - org.eclipse.jetty.*;resolution:=dynamic;version="${@}",\ - org.glassfish.jersey.*;resolution:=dynamic;version="${@}",\ - io.grpc.*;resolution:=dynamic,\ - org.apache.hc.*;resolution:=dynamic,\ - org.apache.http.*;resolution:=dynamic,\ - com.netflix.hystrix.*;resolution:=dynamic;version="${@}",\ - ch.qos.logback.*;resolution:=dynamic;version="${@}",\ - org.apache.logging.log4j.*;resolution:=dynamic;version="${@}",\ - okhttp3.*;resolution:=dynamic,\ - com.mongodb.*;resolution:=dynamic;version="${@}",\ - org.jooq.*;resolution:=dynamic;version="${@}",\ - org.apache.kafka.*;resolution:=dynamic,\ - com.codahale.metrics.*;resolution:=dynamic;version="${@}",\ - com.google.common.cache.*;resolution:=dynamic;version="${@}",\ - jakarta.servlet.*;resolution:=dynamic;version="${@}",\ - javax.servlet.*;resolution:=dynamic;version="${@}",\ - io.micrometer.context.*;resolution:=dynamic,\ - io.micrometer.observation.*;resolution:=dynamic;version="${@}",\ - kotlin.*;resolution:=dynamic,\ - kotlinx.coroutines.*;resolution:=dynamic,\ - org.LatencyUtils.*;resolution:=dynamic,\ - org.HdrHistogram.*;resolution:=dynamic;version="${@}",\ - org.apache.catalina.*;resolution:=dynamic,\ - org.bson.*;resolution:=dynamic;version="${@}",\ - org.slf4j.*;resolution:=dynamic,\ - rx.*;resolution:=dynamic;version="${@}",\ - javax.persistence.*;resolution:=dynamic;version="${@}",\ - io.netty.*;resolution:=dynamic;version="${@}",\ - * - '''.stripIndent() - } +// bundle { +// bnd '''\ +// Import-Package: \ +// !java.*,\ +// org.aspectj.*;resolution:=dynamic,\ +// com.github.benmanes.caffeine.*;resolution:=dynamic;version="${@}",\ +// net.sf.ehcache.*;resolution:=dynamic;version="${@}",\ +// javax.cache.*;resolution:=dynamic;version="${@}",\ +// org.hibernate.*;resolution:=dynamic;version="${@}",\ +// org.eclipse.jetty.*;resolution:=dynamic;version="${@}",\ +// org.glassfish.jersey.*;resolution:=dynamic;version="${@}",\ +// io.grpc.*;resolution:=dynamic,\ +// org.apache.hc.*;resolution:=dynamic,\ +// org.apache.http.*;resolution:=dynamic,\ +// com.netflix.hystrix.*;resolution:=dynamic;version="${@}",\ +// ch.qos.logback.*;resolution:=dynamic;version="${@}",\ +// org.apache.logging.log4j.*;resolution:=dynamic;version="${@}",\ +// okhttp3.*;resolution:=dynamic,\ +// com.mongodb.*;resolution:=dynamic;version="${@}",\ +// org.jooq.*;resolution:=dynamic;version="${@}",\ +// org.apache.kafka.*;resolution:=dynamic,\ +// com.codahale.metrics.*;resolution:=dynamic;version="${@}",\ +// com.google.common.cache.*;resolution:=dynamic;version="${@}",\ +// jakarta.servlet.*;resolution:=dynamic;version="${@}",\ +// javax.servlet.*;resolution:=dynamic;version="${@}",\ +// io.micrometer.context.*;resolution:=dynamic,\ +// io.micrometer.observation.*;resolution:=dynamic;version="${@}",\ +// kotlin.*;resolution:=dynamic,\ +// kotlinx.coroutines.*;resolution:=dynamic,\ +// org.LatencyUtils.*;resolution:=dynamic,\ +// org.HdrHistogram.*;resolution:=dynamic;version="${@}",\ +// org.apache.catalina.*;resolution:=dynamic,\ +// org.bson.*;resolution:=dynamic;version="${@}",\ +// org.slf4j.*;resolution:=dynamic,\ +// rx.*;resolution:=dynamic;version="${@}",\ +// javax.persistence.*;resolution:=dynamic;version="${@}",\ +// io.netty.*;resolution:=dynamic;version="${@}",\ +// * +// '''.stripIndent() +// } } dependencies { diff --git a/micrometer-core/src/main/java/io/micrometer/core/instrument/config/MeterFilter.java b/micrometer-core/src/main/java/io/micrometer/core/instrument/config/MeterFilter.java index 064f92c286..b1abdaab76 100644 --- a/micrometer-core/src/main/java/io/micrometer/core/instrument/config/MeterFilter.java +++ b/micrometer-core/src/main/java/io/micrometer/core/instrument/config/MeterFilter.java @@ -414,7 +414,7 @@ public DistributionStatisticConfig configure(Meter.Id id, DistributionStatisticC /** * Enables the provided filter for the Meters selected by the predicate. - * registry.config().meterFilter(MeterFilter.forMeters(id -> id.getName().startsWith("test"), MeterFilter.ignoreTags("ignored"))) + * registry.config().meterFilter(MeterFilter.forMeters(id -> id.getName().startsWith("test"), MeterFilter.ignoreTags("ignored"))) * @param predicate Apply the provided filter only to Meters selected by this * predicate * @param delegate A filter to apply if the provided predicate returns true diff --git a/micrometer-jakarta9/build.gradle b/micrometer-jakarta9/build.gradle index 68db4df39f..bd9ac9487b 100644 --- a/micrometer-jakarta9/build.gradle +++ b/micrometer-jakarta9/build.gradle @@ -1,16 +1,16 @@ description 'Module for Jakarta 9+ based instrumentations' jar { - bundle { - bnd '''\ - Import-Package: \ - !java.*,\ - jakarta.jms.*;resolution:=dynamic;version="${@}",\ - jakarta.mail.*;resolution:=dynamic;version="${@}",\ - io.micrometer.observation.*;resolution:=dynamic;version="${@}",\ - * - '''.stripIndent() - } +// bundle { +// bnd '''\ +// Import-Package: \ +// !java.*,\ +// jakarta.jms.*;resolution:=dynamic;version="${@}",\ +// jakarta.mail.*;resolution:=dynamic;version="${@}",\ +// io.micrometer.observation.*;resolution:=dynamic;version="${@}",\ +// * +// '''.stripIndent() +// } } dependencies { diff --git a/micrometer-jakarta9/src/main/java/io/micrometer/jakarta9/instrument/jms/JmsInstrumentation.java b/micrometer-jakarta9/src/main/java/io/micrometer/jakarta9/instrument/jms/JmsInstrumentation.java index 67c4ed5813..f23d22a400 100644 --- a/micrometer-jakarta9/src/main/java/io/micrometer/jakarta9/instrument/jms/JmsInstrumentation.java +++ b/micrometer-jakarta9/src/main/java/io/micrometer/jakarta9/instrument/jms/JmsInstrumentation.java @@ -49,7 +49,7 @@ * MessageConsumer consumer = session.createConsumer(topic); * // when a message is processed by the listener, * // a "jms.message.process" observation is created - * consumer.setMessageListener(message -> consumeMessage(message)); + * consumer.setMessageListener(message -> consumeMessage(message)); * * * @author Brian Clozel diff --git a/micrometer-observation/build.gradle b/micrometer-observation/build.gradle index 5728ea24d6..a6ca8b57ff 100644 --- a/micrometer-observation/build.gradle +++ b/micrometer-observation/build.gradle @@ -25,16 +25,16 @@ else { description 'Module containing Observation related code' jar { - bundle { - bnd '''\ - Import-Package: \ - !java.*,\ - javax.servlet.*;resolution:=optional,\ - io.micrometer.context.*;resolution:=optional,\ - org.aspectj.*;resolution:=optional,\ - * - '''.stripIndent() - } +// bundle { +// bnd '''\ +// Import-Package: \ +// !java.*,\ +// javax.servlet.*;resolution:=optional,\ +// io.micrometer.context.*;resolution:=optional,\ +// org.aspectj.*;resolution:=optional,\ +// * +// '''.stripIndent() +// } } dependencies { diff --git a/samples/micrometer-samples-kotlin/build.gradle b/samples/micrometer-samples-kotlin/build.gradle index dab7c1f1eb..19e58d22f7 100644 --- a/samples/micrometer-samples-kotlin/build.gradle +++ b/samples/micrometer-samples-kotlin/build.gradle @@ -1,22 +1,29 @@ +import org.jetbrains.kotlin.gradle.dsl.JvmTarget +import org.jetbrains.kotlin.gradle.dsl.KotlinVersion + plugins { // test with the lowest version of Kotlin supported because we compile with highest version supported - alias(libs.plugins.kotlin17) + alias(libs.plugins.kotlin) } -tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all { - kotlinOptions { - jvmTarget = javaTargetVersion - apiVersion = "1.7" - languageVersion = "1.7" +kotlin { + compilerOptions { + jvmTarget = JvmTarget.JVM_1_8 + apiVersion = KotlinVersion.KOTLIN_1_7 + languageVersion = KotlinVersion.KOTLIN_1_7 } } +tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile.class).configureEach { + jvmTargetValidationMode = org.jetbrains.kotlin.gradle.dsl.jvm.JvmTargetValidationMode.WARNING +} + dependencies { // libraries that have Kotlin dependencies implementation project(":micrometer-core") implementation libs.kotlinxCoroutines - // force the stdlib versions to match the plugin version for this sample - implementation enforcedPlatform('org.jetbrains.kotlin:kotlin-bom') + // force the stdlib version + implementation enforcedPlatform('org.jetbrains.kotlin:kotlin-bom:1.7.22') implementation libs.okhttp testRuntimeOnly libs.contextPropagation diff --git a/settings.gradle b/settings.gradle index b50f0f9655..97078d0cd0 100644 --- a/settings.gradle +++ b/settings.gradle @@ -7,7 +7,7 @@ pluginManagement { plugins { id 'com.gradle.develocity' version '3.19.2' id 'io.spring.develocity.conventions' version '0.0.24' - id 'org.gradle.toolchains.foojay-resolver-convention' version '0.10.0' + id 'org.gradle.toolchains.foojay-resolver-convention' version '1.0.0' } rootProject.name = 'micrometer' @@ -50,6 +50,6 @@ include 'micrometer-java11' include 'micrometer-java21' include 'micrometer-jetty11' include 'micrometer-jetty12' -include 'micrometer-osgi-test' -include 'micrometer-osgi-test-slf4j2' +//include 'micrometer-osgi-test' +//include 'micrometer-osgi-test-slf4j2' include 'docs'