diff --git a/build.gradle.kts b/build.gradle.kts index 651c8fb..8a75cfb 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -41,14 +41,13 @@ dependencies { implementation("com.netflix.nebula:nebula-project-plugin:latest.release") implementation("com.netflix.nebula:nebula-release-plugin:latest.release") implementation("com.netflix.nebula:nebula-gradle-interop:latest.release") - implementation("com.netflix.nebula:gradle-info-plugin:latest.release") implementation("org.gradle.toolchains.foojay-resolver-convention:org.gradle.toolchains.foojay-resolver-convention.gradle.plugin:1.0.0") - implementation(platform("com.fasterxml.jackson:jackson-bom:2.14.+")) - + implementation("org.jetbrains.kotlin.jvm:org.jetbrains.kotlin.jvm.gradle.plugin:2.4.20") implementation("com.gradle.publish:plugin-publish-plugin:2.+") implementation("org.gradle.plugin:compatibility-plugin:1.+") implementation("com.gradle.develocity:com.gradle.develocity.gradle.plugin:4.+") + testImplementation(platform("com.fasterxml.jackson:jackson-bom:2.14.+")) testImplementation("com.netflix.nebula:nebula-test:latest.release") testImplementation("org.eclipse.jgit:org.eclipse.jgit:7.7.0.202606012155-r") testImplementation("org.mock-server:mockserver-netty:5.15.0") @@ -156,6 +155,10 @@ kotlin { } tasks.wrapper { distributionType = Wrapper.DistributionType.ALL - gradleVersion = "9.6.1" - distributionSha256Sum = "61ba77b3ff7167e60962763eb4bae79db7120c189b9544358d0ade3c1e712a83" -} \ No newline at end of file + gradleVersion = "9.7.1" + distributionSha256Sum = "92c1a136d76b5017732a66d2e0a648ebff00dd3687d8bff0d0047a1bd904fdf2" +} +archRules { + failureThreshold("MEDIUM") + consoleDetailsThreshold("LOW") +} diff --git a/gradle.lockfile b/gradle.lockfile index 2e767a6..ac37a50 100644 --- a/gradle.lockfile +++ b/gradle.lockfile @@ -3,165 +3,230 @@ # This file is expected to be part of source control. # To regenerate this file, run: ./gradlew :dependencies --write-locks cglib:cglib-nodep:3.2.2=testRuntimeClasspath -com.ethlo.time:itu:1.7.0=testCompileClasspath,testRuntimeClasspath -com.fasterxml.jackson.core:jackson-annotations:2.14.3=testCompileClasspath,testRuntimeClasspath -com.fasterxml.jackson.core:jackson-core:2.14.3=testCompileClasspath,testRuntimeClasspath -com.fasterxml.jackson.core:jackson-databind:2.14.3=testCompileClasspath,testRuntimeClasspath -com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.14.3=testCompileClasspath,testRuntimeClasspath -com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.14.3=testCompileClasspath,testRuntimeClasspath -com.fasterxml.jackson:jackson-bom:2.14.3=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -com.fasterxml.uuid:java-uuid-generator:4.1.0=testCompileClasspath,testRuntimeClasspath -com.github.cliftonlabs:json-simple:3.0.2=testCompileClasspath,testRuntimeClasspath -com.github.java-json-tools:btf:1.3=testCompileClasspath,testRuntimeClasspath -com.github.java-json-tools:jackson-coreutils-equivalence:1.0=testCompileClasspath,testRuntimeClasspath -com.github.java-json-tools:jackson-coreutils:2.0=testCompileClasspath,testRuntimeClasspath -com.github.java-json-tools:json-patch:1.13=testCompileClasspath,testRuntimeClasspath -com.github.java-json-tools:json-schema-core:1.2.14=testCompileClasspath,testRuntimeClasspath -com.github.java-json-tools:json-schema-validator:2.2.14=testCompileClasspath,testRuntimeClasspath -com.github.java-json-tools:msg-simple:1.2=testCompileClasspath,testRuntimeClasspath -com.github.java-json-tools:uri-template:0.10=testCompileClasspath,testRuntimeClasspath -com.github.stephenc.jcip:jcip-annotations:1.0-1=testCompileClasspath,testRuntimeClasspath +com.ethlo.time:itu:1.7.0=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +com.fasterxml.jackson.core:jackson-annotations:2.14.3=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +com.fasterxml.jackson.core:jackson-core:2.14.3=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +com.fasterxml.jackson.core:jackson-databind:2.14.3=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.14.3=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.14.3=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +com.fasterxml.jackson:jackson-bom:2.14.2=runtimeClasspath +com.fasterxml.jackson:jackson-bom:2.14.3=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +com.fasterxml.uuid:java-uuid-generator:4.1.0=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +com.github.cliftonlabs:json-simple:3.0.2=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +com.github.java-json-tools:btf:1.3=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +com.github.java-json-tools:jackson-coreutils-equivalence:1.0=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +com.github.java-json-tools:jackson-coreutils:2.0=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +com.github.java-json-tools:json-patch:1.13=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +com.github.java-json-tools:json-schema-core:1.2.14=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +com.github.java-json-tools:json-schema-validator:2.2.14=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +com.github.java-json-tools:msg-simple:1.2=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +com.github.java-json-tools:uri-template:0.10=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +com.github.stephenc.jcip:jcip-annotations:1.0-1=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath com.github.zafarkhaja:java-semver:0.9.0=runtimeClasspath,testRuntimeClasspath -com.google.code.findbugs:jsr305:3.0.2=testCompileClasspath,testRuntimeClasspath -com.google.errorprone:error_prone_annotations:2.11.0=testCompileClasspath,testRuntimeClasspath -com.google.guava:failureaccess:1.0.1=testCompileClasspath,testRuntimeClasspath -com.google.guava:guava:31.1-jre=testCompileClasspath,testRuntimeClasspath -com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=testCompileClasspath,testRuntimeClasspath -com.google.j2objc:j2objc-annotations:1.3=testCompileClasspath,testRuntimeClasspath -com.googlecode.javaewah:JavaEWAH:1.2.3=testCompileClasspath,testRuntimeClasspath -com.googlecode.libphonenumber:libphonenumber:8.11.1=testCompileClasspath,testRuntimeClasspath -com.gradle.develocity:com.gradle.develocity.gradle.plugin:4.5.0=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -com.gradle.publish:plugin-publish-plugin:2.1.1=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -com.gradle:develocity-gradle-plugin:4.5.0=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -com.jayway.jsonpath:json-path:2.7.0=testCompileClasspath,testRuntimeClasspath -com.jcraft:jzlib:1.1.2=runtimeClasspath -com.jcraft:jzlib:1.1.3=testCompileClasspath,testRuntimeClasspath -com.lmax:disruptor:3.4.4=testCompileClasspath,testRuntimeClasspath -com.netflix.nebula:gradle-contacts-plugin:8.1.0=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -com.netflix.nebula:gradle-dependency-lock-plugin:17.2.0=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -com.netflix.nebula:gradle-info-plugin:16.3.0=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -com.netflix.nebula:gradle-java-cross-compile-plugin:8.0.0=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -com.netflix.nebula:nebula-archrules-core:1.4.0=runtimeClasspath,testRuntimeClasspath -com.netflix.nebula:nebula-archrules-gradle-plugin:1.4.0=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +com.google.code.findbugs:jsr305:3.0.2=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +com.google.code.gson:gson:2.11.0=runtimeClasspath,testRuntimeClasspath +com.google.errorprone:error_prone_annotations:2.11.0=testArchRulesRuntime,testCompileClasspath +com.google.errorprone:error_prone_annotations:2.27.0=runtimeClasspath,testRuntimeClasspath +com.google.guava:failureaccess:1.0.1=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +com.google.guava:guava:31.1-jre=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +com.google.j2objc:j2objc-annotations:1.3=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +com.googlecode.javaewah:JavaEWAH:1.2.3=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +com.googlecode.libphonenumber:libphonenumber:8.11.1=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +com.gradle.develocity:com.gradle.develocity.gradle.plugin:4.5.1=compileClasspath,mainArchRulesRuntime,runtimeClasspath,testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +com.gradle.publish:plugin-publish-plugin:2.2.1=compileClasspath,mainArchRulesRuntime,runtimeClasspath,testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +com.gradle:develocity-gradle-plugin:4.5.1=compileClasspath,mainArchRulesRuntime,runtimeClasspath,testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +com.jayway.jsonpath:json-path:2.7.0=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +com.jcraft:jzlib:1.1.2=mainArchRulesRuntime,runtimeClasspath +com.jcraft:jzlib:1.1.3=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +com.lmax:disruptor:3.4.4=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +com.netflix.nebula:archrules-common:2.0.7=mainArchRulesRuntime,testArchRulesRuntime +com.netflix.nebula:archrules-deprecation:2.0.7=mainArchRulesRuntime,testArchRulesRuntime +com.netflix.nebula:archrules-gradle-plugin-development:1.0.4=mainArchRulesRuntime,testArchRulesRuntime +com.netflix.nebula:archrules-guava:2.0.7=mainArchRulesRuntime,testArchRulesRuntime +com.netflix.nebula:archrules-joda:2.0.7=mainArchRulesRuntime,testArchRulesRuntime +com.netflix.nebula:archrules-nullability:2.0.7=mainArchRulesRuntime,testArchRulesRuntime +com.netflix.nebula:archrules-security:2.0.7=mainArchRulesRuntime,testArchRulesRuntime +com.netflix.nebula:archrules-testing-frameworks:2.0.7=mainArchRulesRuntime,testArchRulesRuntime +com.netflix.nebula:gradle-contacts-plugin:8.1.0=compileClasspath,mainArchRulesRuntime,runtimeClasspath,testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +com.netflix.nebula:gradle-dependency-lock-plugin:17.2.0=compileClasspath,mainArchRulesRuntime,runtimeClasspath,testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +com.netflix.nebula:gradle-info-plugin:16.3.0=compileClasspath,mainArchRulesRuntime,runtimeClasspath,testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +com.netflix.nebula:gradle-java-cross-compile-plugin:8.0.0=compileClasspath,mainArchRulesRuntime,runtimeClasspath,testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +com.netflix.nebula:nebula-archrules-core:1.4.2=mainArchRulesRuntime,runtimeClasspath,testArchRulesRuntime,testRuntimeClasspath +com.netflix.nebula:nebula-archrules-gradle-plugin:1.4.2=compileClasspath,mainArchRulesRuntime,runtimeClasspath,testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath com.netflix.nebula:nebula-dependencies-comparison:0.4.2=runtimeClasspath,testRuntimeClasspath -com.netflix.nebula:nebula-gradle-interop:3.1.0=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -com.netflix.nebula:nebula-oss-publishing-plugin:4.1.1=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -com.netflix.nebula:nebula-project-plugin:13.1.2=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -com.netflix.nebula:nebula-publishing-plugin:23.1.0=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -com.netflix.nebula:nebula-release-plugin:21.1.0=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -com.netflix.nebula:nebula-test:12.9.0=testCompileClasspath,testRuntimeClasspath -com.networknt:json-schema-validator:1.0.76=testCompileClasspath,testRuntimeClasspath -com.nimbusds:nimbus-jose-jwt:9.28=testCompileClasspath,testRuntimeClasspath -com.perforce:p4java:2015.2.1365273=runtimeClasspath,testRuntimeClasspath -com.samskivert:jmustache:1.15=testCompileClasspath,testRuntimeClasspath +com.netflix.nebula:nebula-gradle-interop:3.1.0=compileClasspath,mainArchRulesRuntime,runtimeClasspath,testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +com.netflix.nebula:nebula-oss-publishing-plugin:4.1.1=compileClasspath,mainArchRulesRuntime,runtimeClasspath,testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +com.netflix.nebula:nebula-project-plugin:13.1.2=compileClasspath,mainArchRulesRuntime,runtimeClasspath,testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +com.netflix.nebula:nebula-publishing-plugin:23.1.0=compileClasspath,mainArchRulesRuntime,runtimeClasspath,testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +com.netflix.nebula:nebula-release-plugin:21.1.3=compileClasspath,mainArchRulesRuntime,runtimeClasspath,testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +com.netflix.nebula:nebula-test:12.11.0=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +com.networknt:json-schema-validator:1.0.76=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +com.nimbusds:nimbus-jose-jwt:9.28=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +com.perforce:p4java:2015.2.1365273=mainArchRulesRuntime,runtimeClasspath,testArchRulesRuntime,testRuntimeClasspath +com.samskivert:jmustache:1.15=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath com.squareup.moshi:moshi:1.12.0=runtimeClasspath,testRuntimeClasspath com.squareup.okio:okio:2.10.0=runtimeClasspath,testRuntimeClasspath -com.sun.activation:jakarta.activation:2.0.1=testCompileClasspath -com.sun.mail:mailapi:1.6.2=testCompileClasspath,testRuntimeClasspath +com.sun.activation:jakarta.activation:2.0.1=testArchRulesRuntime,testCompileClasspath +com.sun.mail:mailapi:1.6.2=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath com.sun.xml.bind:jaxb-core:4.0.1=testRuntimeClasspath com.sun.xml.bind:jaxb-impl:4.0.1=testRuntimeClasspath -com.tngtech.archunit:archunit:1.5.0=runtimeClasspath,testRuntimeClasspath -commons-beanutils:commons-beanutils:1.9.4=testCompileClasspath,testRuntimeClasspath -commons-codec:commons-codec:1.22.0=testCompileClasspath,testRuntimeClasspath -commons-collections:commons-collections:3.2.2=testCompileClasspath,testRuntimeClasspath -commons-io:commons-io:2.11.0=testCompileClasspath,testRuntimeClasspath -commons-logging:commons-logging:1.2=testCompileClasspath,testRuntimeClasspath -io.github.classgraph:classgraph:4.8.154=testCompileClasspath,testRuntimeClasspath -io.github.gradle-nexus:publish-plugin:2.0.0=compileClasspath,runtimeClasspath,testRuntimeClasspath -io.netty:netty-buffer:4.1.86.Final=testCompileClasspath,testRuntimeClasspath -io.netty:netty-codec-http2:4.1.86.Final=testCompileClasspath,testRuntimeClasspath -io.netty:netty-codec-http:4.1.86.Final=testCompileClasspath,testRuntimeClasspath -io.netty:netty-codec-socks:4.1.86.Final=testCompileClasspath,testRuntimeClasspath -io.netty:netty-codec:4.1.86.Final=testCompileClasspath,testRuntimeClasspath -io.netty:netty-common:4.1.86.Final=testCompileClasspath,testRuntimeClasspath -io.netty:netty-handler-proxy:4.1.86.Final=testCompileClasspath,testRuntimeClasspath -io.netty:netty-handler:4.1.86.Final=testCompileClasspath,testRuntimeClasspath -io.netty:netty-resolver:4.1.86.Final=testCompileClasspath,testRuntimeClasspath -io.netty:netty-tcnative-boringssl-static:2.0.56.Final=testCompileClasspath,testRuntimeClasspath -io.netty:netty-tcnative-classes:2.0.56.Final=testCompileClasspath,testRuntimeClasspath -io.netty:netty-transport-native-unix-common:4.1.86.Final=testCompileClasspath,testRuntimeClasspath -io.netty:netty-transport:4.1.86.Final=testCompileClasspath,testRuntimeClasspath -io.prometheus:simpleclient:0.16.0=testCompileClasspath,testRuntimeClasspath -io.prometheus:simpleclient_common:0.16.0=testCompileClasspath,testRuntimeClasspath -io.prometheus:simpleclient_httpserver:0.16.0=testCompileClasspath,testRuntimeClasspath -io.prometheus:simpleclient_tracer_common:0.16.0=testCompileClasspath,testRuntimeClasspath -io.prometheus:simpleclient_tracer_otel:0.16.0=testCompileClasspath,testRuntimeClasspath -io.prometheus:simpleclient_tracer_otel_agent:0.16.0=testCompileClasspath,testRuntimeClasspath -io.swagger.core.v3:swagger-annotations:2.2.8=testCompileClasspath,testRuntimeClasspath -io.swagger.core.v3:swagger-core:2.2.8=testCompileClasspath,testRuntimeClasspath -io.swagger.core.v3:swagger-models:2.2.8=testCompileClasspath,testRuntimeClasspath -io.swagger.parser.v3:swagger-parser-core:2.1.10=testCompileClasspath,testRuntimeClasspath -io.swagger.parser.v3:swagger-parser-v2-converter:2.1.10=testCompileClasspath,testRuntimeClasspath -io.swagger.parser.v3:swagger-parser-v3:2.1.10=testCompileClasspath,testRuntimeClasspath -io.swagger.parser.v3:swagger-parser:2.1.10=testCompileClasspath,testRuntimeClasspath -io.swagger:swagger-annotations:1.6.9=testCompileClasspath,testRuntimeClasspath -io.swagger:swagger-compat-spec-parser:1.0.64=testCompileClasspath,testRuntimeClasspath -io.swagger:swagger-core:1.6.9=testCompileClasspath,testRuntimeClasspath -io.swagger:swagger-models:1.6.9=testCompileClasspath,testRuntimeClasspath -io.swagger:swagger-parser:1.0.64=testCompileClasspath,testRuntimeClasspath +com.tngtech.archunit:archunit:1.5.0=compileClasspath,mainArchRulesRuntime,runtimeClasspath,testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +commons-beanutils:commons-beanutils:1.9.4=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +commons-codec:commons-codec:1.22.0=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +commons-collections:commons-collections:3.2.2=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +commons-io:commons-io:2.11.0=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +commons-logging:commons-logging:1.2=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +io.github.classgraph:classgraph:4.8.154=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +io.github.gradle-nexus:publish-plugin:2.0.0=compileClasspath,mainArchRulesRuntime,runtimeClasspath,testRuntimeClasspath +io.github.java-diff-utils:java-diff-utils:4.12=kotlinInternalAbiValidation +io.netty:netty-buffer:4.1.86.Final=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +io.netty:netty-codec-http2:4.1.86.Final=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +io.netty:netty-codec-http:4.1.86.Final=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +io.netty:netty-codec-socks:4.1.86.Final=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +io.netty:netty-codec:4.1.86.Final=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +io.netty:netty-common:4.1.86.Final=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +io.netty:netty-handler-proxy:4.1.86.Final=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +io.netty:netty-handler:4.1.86.Final=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +io.netty:netty-resolver:4.1.86.Final=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +io.netty:netty-tcnative-boringssl-static:2.0.56.Final=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +io.netty:netty-tcnative-classes:2.0.56.Final=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +io.netty:netty-transport-native-unix-common:4.1.86.Final=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +io.netty:netty-transport:4.1.86.Final=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +io.prometheus:simpleclient:0.16.0=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +io.prometheus:simpleclient_common:0.16.0=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +io.prometheus:simpleclient_httpserver:0.16.0=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +io.prometheus:simpleclient_tracer_common:0.16.0=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +io.prometheus:simpleclient_tracer_otel:0.16.0=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +io.prometheus:simpleclient_tracer_otel_agent:0.16.0=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +io.swagger.core.v3:swagger-annotations:2.2.8=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +io.swagger.core.v3:swagger-core:2.2.8=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +io.swagger.core.v3:swagger-models:2.2.8=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +io.swagger.parser.v3:swagger-parser-core:2.1.10=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +io.swagger.parser.v3:swagger-parser-v2-converter:2.1.10=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +io.swagger.parser.v3:swagger-parser-v3:2.1.10=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +io.swagger.parser.v3:swagger-parser:2.1.10=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +io.swagger:swagger-annotations:1.6.9=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +io.swagger:swagger-compat-spec-parser:1.0.64=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +io.swagger:swagger-core:1.6.9=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +io.swagger:swagger-models:1.6.9=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +io.swagger:swagger-parser:1.0.64=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath jakarta.activation:jakarta.activation-api:2.1.0=testRuntimeClasspath -jakarta.validation:jakarta.validation-api:2.0.2=testCompileClasspath,testRuntimeClasspath -jakarta.xml.bind:jakarta.xml.bind-api:3.0.1=testCompileClasspath +jakarta.validation:jakarta.validation-api:2.0.2=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +jakarta.xml.bind:jakarta.xml.bind-api:3.0.1=testArchRulesRuntime,testCompileClasspath jakarta.xml.bind:jakarta.xml.bind-api:4.0.0=testRuntimeClasspath -javax.servlet:javax.servlet-api:4.0.1=testCompileClasspath,testRuntimeClasspath +javax.servlet:javax.servlet-api:4.0.1=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath joda-time:joda-time:2.10=runtimeClasspath -joda-time:joda-time:2.10.5=testCompileClasspath,testRuntimeClasspath -net.bytebuddy:byte-buddy:1.18.3=testCompileClasspath,testRuntimeClasspath -net.java.dev.jna:jna-platform:5.16.0=runtimeClasspath,testRuntimeClasspath -net.java.dev.jna:jna:5.16.0=runtimeClasspath,testRuntimeClasspath -net.javacrumbs.json-unit:json-unit-core:2.36.0=testCompileClasspath,testRuntimeClasspath -net.minidev:accessors-smart:2.4.7=testCompileClasspath,testRuntimeClasspath -net.minidev:json-smart:2.4.7=testCompileClasspath,testRuntimeClasspath -net.sf.jopt-simple:jopt-simple:5.0.4=testCompileClasspath,testRuntimeClasspath -org.apache.commons:commons-digester3:3.2=testCompileClasspath,testRuntimeClasspath -org.apache.commons:commons-lang3:3.12.0=runtimeClasspath,testCompileClasspath,testRuntimeClasspath -org.apache.commons:commons-text:1.10.0=testCompileClasspath,testRuntimeClasspath -org.apache.httpcomponents:httpclient:4.5.13=testCompileClasspath,testRuntimeClasspath -org.apache.httpcomponents:httpcore:4.4.13=testCompileClasspath,testRuntimeClasspath -org.apache.maven:maven-model:3.6.3=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -org.apache.velocity.tools:velocity-tools-generic:3.1=testCompileClasspath,testRuntimeClasspath -org.apache.velocity:velocity-engine-core:2.3=testCompileClasspath,testRuntimeClasspath -org.apache.velocity:velocity-engine-scripting:2.3=testCompileClasspath,testRuntimeClasspath -org.apiguardian:apiguardian-api:1.1.2=testCompileClasspath -org.assertj:assertj-core:3.27.7=testCompileClasspath,testRuntimeClasspath -org.bouncycastle:bcpkix-jdk18on:1.72=testCompileClasspath,testRuntimeClasspath -org.bouncycastle:bcprov-jdk18on:1.72=testCompileClasspath,testRuntimeClasspath -org.bouncycastle:bcutil-jdk18on:1.72=testCompileClasspath,testRuntimeClasspath -org.checkerframework:checker-qual:3.12.0=testCompileClasspath,testRuntimeClasspath +joda-time:joda-time:2.10.5=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +net.bytebuddy:byte-buddy:1.18.3=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +net.java.dev.jna:jna-platform:5.16.0=mainArchRulesRuntime,runtimeClasspath,testArchRulesRuntime,testRuntimeClasspath +net.java.dev.jna:jna:5.16.0=mainArchRulesRuntime,runtimeClasspath,testArchRulesRuntime,testRuntimeClasspath +net.javacrumbs.json-unit:json-unit-core:2.36.0=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +net.minidev:accessors-smart:2.4.7=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +net.minidev:json-smart:2.4.7=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +net.sf.jopt-simple:jopt-simple:5.0.4=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +org.apache.commons:commons-digester3:3.2=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +org.apache.commons:commons-lang3:3.12.0=runtimeClasspath,testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +org.apache.commons:commons-text:1.10.0=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +org.apache.httpcomponents:httpclient:4.5.13=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +org.apache.httpcomponents:httpcore:4.4.13=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +org.apache.maven:maven-model:3.6.3=compileClasspath,mainArchRulesRuntime,runtimeClasspath,testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +org.apache.velocity.tools:velocity-tools-generic:3.1=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +org.apache.velocity:velocity-engine-core:2.3=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +org.apache.velocity:velocity-engine-scripting:2.3=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +org.apiguardian:apiguardian-api:1.1.2=testArchRulesRuntime,testCompileClasspath +org.assertj:assertj-core:3.27.7=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +org.bouncycastle:bcpg-jdk18on:1.84=kotlinBouncyCastleConfiguration +org.bouncycastle:bcpkix-jdk18on:1.72=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +org.bouncycastle:bcpkix-jdk18on:1.84=kotlinBouncyCastleConfiguration +org.bouncycastle:bcprov-jdk18on:1.72=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +org.bouncycastle:bcprov-jdk18on:1.84=kotlinBouncyCastleConfiguration +org.bouncycastle:bcutil-jdk18on:1.72=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +org.bouncycastle:bcutil-jdk18on:1.84=kotlinBouncyCastleConfiguration +org.checkerframework:checker-qual:3.12.0=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath org.codehaus.plexus:plexus-utils:3.2.1=runtimeClasspath,testRuntimeClasspath org.eclipse.angus:angus-activation:1.0.0=testRuntimeClasspath -org.eclipse.jgit:org.eclipse.jgit:7.7.0.202606012155-r=testCompileClasspath,testRuntimeClasspath -org.gradle.plugin:compatibility-plugin:1.0.0=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -org.gradle.toolchains.foojay-resolver-convention:org.gradle.toolchains.foojay-resolver-convention.gradle.plugin:1.0.0=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -org.gradle.toolchains:foojay-resolver:1.0.0=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -org.hamcrest:hamcrest-core:2.2=testCompileClasspath,testRuntimeClasspath -org.hamcrest:hamcrest:2.2=testCompileClasspath,testRuntimeClasspath -org.jetbrains.kotlin:kotlin-reflect:2.3.21=compileClasspath,embeddedKotlin,testCompileClasspath,testRuntimeClasspath +org.eclipse.jgit:org.eclipse.jgit:7.7.0.202606012155-r=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +org.gradle.plugin:compatibility-plugin:1.1.0=compileClasspath,mainArchRulesRuntime,runtimeClasspath,testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +org.gradle.toolchains.foojay-resolver-convention:org.gradle.toolchains.foojay-resolver-convention.gradle.plugin:1.0.0=compileClasspath,mainArchRulesRuntime,runtimeClasspath,testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +org.gradle.toolchains:foojay-resolver:1.0.0=compileClasspath,mainArchRulesRuntime,runtimeClasspath,testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +org.hamcrest:hamcrest-core:2.2=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +org.hamcrest:hamcrest:2.2=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +org.jetbrains.kotlin.jvm:org.jetbrains.kotlin.jvm.gradle.plugin:2.4.20=compileClasspath,mainArchRulesRuntime,runtimeClasspath,testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +org.jetbrains.kotlin:abi-tools-api:2.3.21=kotlinInternalAbiValidation +org.jetbrains.kotlin:abi-tools:2.3.21=kotlinInternalAbiValidation +org.jetbrains.kotlin:fus-statistics-gradle-plugin:2.4.20=compileClasspath,mainArchRulesRuntime,runtimeClasspath,testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +org.jetbrains.kotlin:kotlin-assignment-compiler-plugin-embeddable:2.4.0=kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest +org.jetbrains.kotlin:kotlin-build-statistics:2.4.20=runtimeClasspath,testRuntimeClasspath +org.jetbrains.kotlin:kotlin-build-tools-api:2.4.0=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinKlibCommonizerClasspath +org.jetbrains.kotlin:kotlin-build-tools-api:2.4.20=compileClasspath,kotlinAbiValidationCompatClasspath,mainArchRulesRuntime,runtimeClasspath,testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +org.jetbrains.kotlin:kotlin-build-tools-compat:2.4.0=kotlinAbiValidationCompatClasspath,kotlinBuildToolsApiClasspath,kotlinCompilerClasspath +org.jetbrains.kotlin:kotlin-build-tools-cri-impl:2.4.0=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath +org.jetbrains.kotlin:kotlin-build-tools-cri-impl:2.4.20=kotlinAbiValidationCompatClasspath +org.jetbrains.kotlin:kotlin-build-tools-impl:2.4.0=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath +org.jetbrains.kotlin:kotlin-build-tools-impl:2.4.20=kotlinAbiValidationCompatClasspath +org.jetbrains.kotlin:kotlin-compiler-embeddable:2.4.0=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinKlibCommonizerClasspath +org.jetbrains.kotlin:kotlin-compiler-embeddable:2.4.20=kotlinAbiValidationCompatClasspath +org.jetbrains.kotlin:kotlin-compiler-runner:2.4.0=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath +org.jetbrains.kotlin:kotlin-compiler-runner:2.4.20=kotlinAbiValidationCompatClasspath,runtimeClasspath,testRuntimeClasspath +org.jetbrains.kotlin:kotlin-daemon-client:2.4.0=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath +org.jetbrains.kotlin:kotlin-daemon-client:2.4.20=kotlinAbiValidationCompatClasspath,runtimeClasspath,testRuntimeClasspath +org.jetbrains.kotlin:kotlin-daemon-embeddable:2.4.0=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinKlibCommonizerClasspath +org.jetbrains.kotlin:kotlin-daemon-embeddable:2.4.20=kotlinAbiValidationCompatClasspath +org.jetbrains.kotlin:kotlin-gradle-plugin-annotations:2.4.20=compileClasspath,mainArchRulesRuntime,runtimeClasspath,testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +org.jetbrains.kotlin:kotlin-gradle-plugin-api:2.4.20=compileClasspath,mainArchRulesRuntime,runtimeClasspath,testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +org.jetbrains.kotlin:kotlin-gradle-plugin-idea-proto:2.4.20=runtimeClasspath,testRuntimeClasspath +org.jetbrains.kotlin:kotlin-gradle-plugin-idea:2.4.20=runtimeClasspath,testRuntimeClasspath +org.jetbrains.kotlin:kotlin-gradle-plugin:2.4.20=compileClasspath,mainArchRulesRuntime,runtimeClasspath,testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +org.jetbrains.kotlin:kotlin-gradle-plugins-bom:2.4.20=compileClasspath,mainArchRulesRuntime,runtimeClasspath,testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +org.jetbrains.kotlin:kotlin-klib-abi-reader:2.3.21=kotlinInternalAbiValidation +org.jetbrains.kotlin:kotlin-klib-commonizer-api:2.4.20=runtimeClasspath,testRuntimeClasspath +org.jetbrains.kotlin:kotlin-klib-commonizer-embeddable:2.4.0=kotlinKlibCommonizerClasspath +org.jetbrains.kotlin:kotlin-metadata-jvm:2.3.20=mainArchRulesRuntime,testArchRulesRuntime +org.jetbrains.kotlin:kotlin-metadata-jvm:2.3.21=kotlinInternalAbiValidation +org.jetbrains.kotlin:kotlin-native-utils:2.4.20=compileClasspath,mainArchRulesRuntime,runtimeClasspath,testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +org.jetbrains.kotlin:kotlin-reflect:1.6.10=kotlinAbiValidationCompatClasspath,kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinKlibCommonizerClasspath +org.jetbrains.kotlin:kotlin-reflect:2.4.0=compileClasspath,embeddedKotlin,mainArchRulesRuntime,testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +org.jetbrains.kotlin:kotlin-sam-with-receiver-compiler-plugin-embeddable:2.4.0=kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest +org.jetbrains.kotlin:kotlin-script-runtime:2.4.0=compilePluginsBlocksPluginClasspathElements,kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest,kotlinKlibCommonizerClasspath +org.jetbrains.kotlin:kotlin-script-runtime:2.4.20=kotlinAbiValidationCompatClasspath +org.jetbrains.kotlin:kotlin-scripting-common:2.4.0=compilePluginsBlocksPluginClasspathElements,kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest +org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:2.4.0=compilePluginsBlocksPluginClasspathElements,kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest +org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:2.4.0=compilePluginsBlocksPluginClasspathElements,kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest +org.jetbrains.kotlin:kotlin-scripting-jvm:2.4.0=compilePluginsBlocksPluginClasspathElements,kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest org.jetbrains.kotlin:kotlin-stdlib-common:2.2.0=runtimeClasspath -org.jetbrains.kotlin:kotlin-stdlib-common:2.3.21=testRuntimeClasspath -org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.0=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +org.jetbrains.kotlin:kotlin-stdlib-common:2.4.0=testRuntimeClasspath +org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.0=compileClasspath,mainArchRulesRuntime,runtimeClasspath,testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0=compileClasspath,mainArchRulesRuntime,runtimeClasspath,testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath org.jetbrains.kotlin:kotlin-stdlib:2.2.0=runtimeClasspath -org.jetbrains.kotlin:kotlin-stdlib:2.3.21=compileClasspath,embeddedKotlin,testCompileClasspath,testRuntimeClasspath -org.jetbrains:annotations:13.0=compileClasspath,embeddedKotlin,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -org.jspecify:jspecify:1.0.0=runtimeClasspath,testCompileClasspath,testRuntimeClasspath -org.junit.jupiter:junit-jupiter-api:5.14.4=testCompileClasspath,testRuntimeClasspath +org.jetbrains.kotlin:kotlin-stdlib:2.3.21=kotlinInternalAbiValidation +org.jetbrains.kotlin:kotlin-stdlib:2.4.0=compileClasspath,compilePluginsBlocksPluginClasspathElements,embeddedKotlin,kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest,kotlinKlibCommonizerClasspath,mainArchRulesRuntime,testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +org.jetbrains.kotlin:kotlin-stdlib:2.4.20=kotlinAbiValidationCompatClasspath +org.jetbrains.kotlin:kotlin-tooling-core:2.4.0=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath +org.jetbrains.kotlin:kotlin-tooling-core:2.4.20=compileClasspath,kotlinAbiValidationCompatClasspath,mainArchRulesRuntime,runtimeClasspath,testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +org.jetbrains.kotlin:kotlin-util-io:2.4.20=compileClasspath,mainArchRulesRuntime,runtimeClasspath,testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +org.jetbrains.kotlin:kotlin-util-klib-metadata:2.4.20=runtimeClasspath,testRuntimeClasspath +org.jetbrains.kotlin:kotlin-util-klib:2.4.20=runtimeClasspath,testRuntimeClasspath +org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.8.0=kotlinAbiValidationCompatClasspath,kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinKlibCommonizerClasspath,runtimeClasspath,testRuntimeClasspath +org.jetbrains:annotations:13.0=compileClasspath,compilePluginsBlocksPluginClasspathElements,embeddedKotlin,kotlinAbiValidationCompatClasspath,kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest,kotlinInternalAbiValidation,kotlinKlibCommonizerClasspath,mainArchRulesRuntime,runtimeClasspath,testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +org.jspecify:jspecify:1.0.0=mainArchRulesRuntime,runtimeClasspath,testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +org.junit.jupiter:junit-jupiter-api:5.14.4=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath org.junit.jupiter:junit-jupiter-engine:5.14.4=testRuntimeClasspath -org.junit.jupiter:junit-jupiter-params:5.14.4=testCompileClasspath,testRuntimeClasspath -org.junit.jupiter:junit-jupiter:5.14.4=testCompileClasspath,testRuntimeClasspath -org.junit.platform:junit-platform-commons:1.14.4=testCompileClasspath,testRuntimeClasspath -org.junit.platform:junit-platform-engine:1.14.4=testCompileClasspath,testRuntimeClasspath -org.junit.platform:junit-platform-launcher:1.14.4=testCompileClasspath,testRuntimeClasspath -org.junit:junit-bom:5.14.4=testCompileClasspath,testRuntimeClasspath -org.mock-server:mockserver-client-java:5.15.0=testCompileClasspath,testRuntimeClasspath -org.mock-server:mockserver-core:5.15.0=testCompileClasspath,testRuntimeClasspath -org.mock-server:mockserver-netty:5.15.0=testCompileClasspath,testRuntimeClasspath -org.mozilla:rhino:1.7.7.2=testCompileClasspath,testRuntimeClasspath +org.junit.jupiter:junit-jupiter-params:5.14.4=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +org.junit.jupiter:junit-jupiter:5.14.4=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-commons:1.14.4=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-engine:1.14.4=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-launcher:1.14.4=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +org.junit:junit-bom:5.14.4=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +org.mock-server:mockserver-client-java:5.15.0=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +org.mock-server:mockserver-core:5.15.0=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +org.mock-server:mockserver-netty:5.15.0=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +org.mozilla:rhino:1.7.7.2=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath org.objenesis:objenesis:2.4=testRuntimeClasspath -org.opentest4j:opentest4j:1.3.0=testCompileClasspath,testRuntimeClasspath -org.ow2.asm:asm:9.1=testCompileClasspath,testRuntimeClasspath -org.slf4j:slf4j-api:2.0.18=runtimeClasspath,testCompileClasspath,testRuntimeClasspath -org.xmlunit:xmlunit-core:2.9.1=testCompileClasspath,testRuntimeClasspath -org.xmlunit:xmlunit-placeholders:2.9.1=testCompileClasspath,testRuntimeClasspath -org.yaml:snakeyaml:1.33=testCompileClasspath,testRuntimeClasspath -empty=annotationProcessor,testAnnotationProcessor +org.opentest4j:opentest4j:1.3.0=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +org.ow2.asm:asm:9.1=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +org.slf4j:slf4j-api:2.0.18=compileClasspath,mainArchRulesRuntime,runtimeClasspath,testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +org.xmlunit:xmlunit-core:2.9.1=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +org.xmlunit:xmlunit-placeholders:2.9.1=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +org.yaml:snakeyaml:1.33=testArchRulesRuntime,testCompileClasspath,testRuntimeClasspath +empty=annotationProcessor,implementationDependenciesMetadata,kotlinCompilerPluginClasspath,kotlinNativeCompilerPluginClasspath,kotlinScriptDefExtensions,testAnnotationProcessor,testImplementationDependenciesMetadata,testKotlinScriptDefExtensions diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 3015005..7344cd4 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,7 +1,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionSha256Sum=61ba77b3ff7167e60962763eb4bae79db7120c189b9544358d0ade3c1e712a83 -distributionUrl=https\://services.gradle.org/distributions/gradle-9.6.1-all.zip +distributionSha256Sum=92c1a136d76b5017732a66d2e0a648ebff00dd3687d8bff0d0047a1bd904fdf2 +distributionUrl=https\://services.gradle.org/distributions/gradle-9.7.1-all.zip networkTimeout=10000 retries=0 retryBackOffMs=500 diff --git a/gradlew b/gradlew index b9bb139..249efbb 100755 --- a/gradlew +++ b/gradlew @@ -20,7 +20,7 @@ ############################################################################## # -# Gradle start up script for POSIX generated by Gradle. +# gradlew start up script for POSIX generated by Gradle. # # Important for running: # @@ -29,7 +29,7 @@ # bash, then to run this script, type that shell name before the whole # command line, like: # -# ksh Gradle +# ksh gradlew # # Busybox and similar reduced shells will NOT work, because this script # requires all of these POSIX shell features: diff --git a/gradlew.bat b/gradlew.bat index aa5f10b..8508ef6 100755 --- a/gradlew.bat +++ b/gradlew.bat @@ -19,7 +19,7 @@ @if "%DEBUG%"=="" @echo off @rem ########################################################################## @rem -@rem Gradle startup script for Windows +@rem gradlew startup script for Windows @rem @rem ########################################################################## @@ -72,7 +72,7 @@ echo location of your Java installation. 1>&2 -@rem Execute Gradle +@rem Execute gradlew @rem endlocal doesn't take effect until after the line is parsed and variables are expanded @rem which allows us to clear the local environment before executing the java command endlocal & "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* & call :exitWithErrorLevel diff --git a/src/main/groovy/nebula/plugin/plugin/NebulaPluginPlugin.groovy b/src/main/groovy/nebula/plugin/plugin/NebulaPluginPlugin.groovy index fd9cb94..8877468 100644 --- a/src/main/groovy/nebula/plugin/plugin/NebulaPluginPlugin.groovy +++ b/src/main/groovy/nebula/plugin/plugin/NebulaPluginPlugin.groovy @@ -32,6 +32,8 @@ import org.gradle.jvm.toolchain.JavaToolchainService import org.gradle.jvm.toolchain.JavaToolchainSpec import org.gradle.plugin.devel.tasks.ValidatePlugins import org.gradle.plugins.signing.Sign +import org.jetbrains.kotlin.gradle.dsl.KotlinJvmExtension +import org.jetbrains.kotlin.gradle.dsl.KotlinVersion import org.jspecify.annotations.NullMarked import javax.inject.Inject @@ -66,7 +68,7 @@ class NebulaPluginPlugin implements Plugin { private boolean isPluginPublishingValidation @Inject - NebulaPluginPlugin(ProviderFactory providerFactory,Problems problems) { + NebulaPluginPlugin(ProviderFactory providerFactory, Problems problems) { this.providers = providerFactory this.problems = problems } @@ -76,8 +78,8 @@ class NebulaPluginPlugin implements Plugin { project.group = 'com.netflix.nebula' project.afterEvaluate { - if(!project.pluginManager.hasPlugin("com.netflix.nebula.locks")) { - Problem problem = problems.reporter.create(NebulaProblems.OSS_SETTINGS) { + if (!project.pluginManager.hasPlugin("com.netflix.nebula.locks")) { + Problem problem = problems.reporter.create(NebulaProblems.OSS_SETTINGS) { it.details("locking convention is not found. using com.netflix.nebula.plugin-plugin without the oss.settings plugin is deprecated") it.solution("apply the 'com.netflix.nebula.oss.settings' plugin in settings.gradle.kts") } @@ -202,6 +204,12 @@ class NebulaPluginPlugin implements Plugin { } } + project.pluginManager.withPlugin("org.jetbrains.kotlin.jvm") { + KotlinJvmExtension kotlin = project.extensions.findByType(KotlinJvmExtension) + kotlin.compilerOptions.languageVersion.set(KotlinVersion.KOTLIN_2_1) + kotlin.compilerOptions.apiVersion.set(KotlinVersion.KOTLIN_2_1) + } + project.afterEvaluate { TaskProvider validatePluginsTask = project.tasks.named('validatePlugins') TaskProvider publishPluginsTask = project.tasks.named('publishPlugins') diff --git a/src/main/java/nebula/plugin/plugin/NebulaProblems.java b/src/main/java/nebula/plugin/plugin/NebulaProblems.java index c4294ad..a8922eb 100644 --- a/src/main/java/nebula/plugin/plugin/NebulaProblems.java +++ b/src/main/java/nebula/plugin/plugin/NebulaProblems.java @@ -2,10 +2,12 @@ import org.gradle.api.problems.ProblemGroup; import org.gradle.api.problems.ProblemId; +import org.jspecify.annotations.NullMarked; /** * Constants for Problem reporting */ +@NullMarked public class NebulaProblems { public static final ProblemGroup NEBULA_GROUP = diff --git a/src/test/kotlin/com/netflix/nebula/convention/DependencyLockingPluginTest.kt b/src/test/kotlin/com/netflix/nebula/convention/DependencyLockingPluginTest.kt index 0b0bf00..e718f4b 100644 --- a/src/test/kotlin/com/netflix/nebula/convention/DependencyLockingPluginTest.kt +++ b/src/test/kotlin/com/netflix/nebula/convention/DependencyLockingPluginTest.kt @@ -3,7 +3,6 @@ package com.netflix.nebula.convention import com.netflix.nebula.SupportedGradleVersion import nebula.test.dsl.* import nebula.test.dsl.TestKitAssertions.assertThat -import org.gradle.testkit.runner.TaskOutcome import org.junit.jupiter.api.Test import org.junit.jupiter.api.io.TempDir import org.junit.jupiter.params.ParameterizedTest @@ -27,13 +26,15 @@ class DependencyLockingPluginTest { java() id("com.netflix.nebula.locks") } - repositories{ + repositories { mavenCentral() } - dependencies("""implementation("org.slf4j:slf4j-api:2.0.18")""") + dependencies { + implementation("org.slf4j:slf4j-api:2.0.18") + } } } - val result = runner.run(":sub1:dependencies", "--write-locks"){ + val result = runner.run(":sub1:dependencies", "--write-locks") { withGradle(gradle.version) } assertThat(result) @@ -65,13 +66,13 @@ class DependencyLockingPluginTest { id("com.netflix.nebula.archrules.runner") id("com.netflix.nebula.locks") } - repositories{ + repositories { mavenCentral() } - dependencies( - """implementation("org.slf4j:slf4j-api:2.0.18")""", - """archRules("com.netflix.nebula:archrules-deprecation:1.0.2")""" - ) + dependencies { + implementation("org.slf4j:slf4j-api:2.0.18") + add("archRules", "com.netflix.nebula:archrules-deprecation:latest.release") + } } } val result = runner.run(":sub1:dependencies", "--write-locks") @@ -86,7 +87,8 @@ class DependencyLockingPluginTest { .contains("org.slf4j:slf4j-api") .contains("mainArchRulesRuntime") .contains("testArchRulesRuntime") - .contains("com.netflix.nebula:archrules-deprecation:1.0.2=mainArchRulesRuntime,testArchRulesRuntime") + .contains("com.netflix.nebula:archrules-deprecation:") + .contains("=mainArchRulesRuntime,testArchRulesRuntime") .contains("empty=annotationProcessor,testAnnotationProcessor") } } \ No newline at end of file diff --git a/src/test/kotlin/nebula/plugin/plugin/ArtifactoryMock.kt b/src/test/kotlin/nebula/plugin/plugin/ArtifactoryMock.kt index dabb4c8..e5f5af4 100644 --- a/src/test/kotlin/nebula/plugin/plugin/ArtifactoryMock.kt +++ b/src/test/kotlin/nebula/plugin/plugin/ArtifactoryMock.kt @@ -4,6 +4,14 @@ import org.mockserver.integration.ClientAndServer import org.mockserver.model.HttpRequest.request import org.mockserver.model.HttpResponse.response +fun expectPublication(mockServer: ClientAndServer, path: String): (ClientAndServer) -> Unit { + val request = request(path).withMethod("PUT") + mockServer + .`when`(request) + .respond { response().withStatusCode(200) } + return {it.verify(request) } +} + fun expectPublicationWithChecksums(mockServer: ClientAndServer, path: String): List<(ClientAndServer) -> Unit> { val verifications = mutableListOf<(ClientAndServer) -> Unit>() val paths = listOf( @@ -14,18 +22,13 @@ fun expectPublicationWithChecksums(mockServer: ClientAndServer, path: String): L "$path.sha512" ) paths.forEach { - val request = request(it).withMethod("PUT") - mockServer - .`when`(request) - .respond { response().withStatusCode(200) } - verifications.add { it.verify(request) } + verifications.add(expectPublication(mockServer, it)) } return verifications } fun expectSignedPublicationWithChecksums(mockServer: ClientAndServer, path: String): List<(ClientAndServer) -> Unit> { - return expectPublicationWithChecksums(mockServer, path) + - expectPublicationWithChecksums(mockServer, "$path.asc") + return expectPublicationWithChecksums(mockServer, path) + expectPublication(mockServer, "$path.asc") } class Publication( diff --git a/src/test/kotlin/nebula/plugin/plugin/NebulaPluginPluginTest.kt b/src/test/kotlin/nebula/plugin/plugin/NebulaPluginPluginTest.kt index 2d7dd1f..af8ec11 100644 --- a/src/test/kotlin/nebula/plugin/plugin/NebulaPluginPluginTest.kt +++ b/src/test/kotlin/nebula/plugin/plugin/NebulaPluginPluginTest.kt @@ -1,5 +1,6 @@ package nebula.plugin.plugin +import com.netflix.nebula.SupportedGradleVersion import nebula.test.dsl.* import nebula.test.dsl.TestKitAssertions.assertThat import org.gradle.testkit.runner.TaskOutcome @@ -7,6 +8,8 @@ import org.junit.jupiter.api.AfterEach import org.junit.jupiter.api.BeforeEach import org.junit.jupiter.api.Test import org.junit.jupiter.api.io.TempDir +import org.junit.jupiter.params.ParameterizedTest +import org.junit.jupiter.params.provider.EnumSource import org.mockserver.configuration.ConfigurationProperties import org.mockserver.integration.ClientAndServer import java.io.File @@ -39,13 +42,15 @@ internal class NebulaPluginPluginTest { artifactory.stop() } - private fun TestProjectBuilder.sampleSinglePluginSetup(config: ProjectBuilder.() -> Unit = { - src { - main { - java("example/MyPlugin.java", SAMPLE_JAVA_PLUGIN) + private fun TestProjectBuilder.sampleSinglePluginSetup( + config: ProjectBuilder.() -> Unit = { + src { + main { + java("example/MyPlugin.java", SAMPLE_JAVA_PLUGIN) + } } } - }) { + ) { properties { configurationCache(true) buildCache(true) @@ -107,7 +112,7 @@ gradlePlugin { @Test fun `test archrules integration`() { val runner = testProject(projectDir) { - sampleSinglePluginSetup{ + sampleSinglePluginSetup { src { main { java("example/MyPlugin.java", SAMPLE_JAVA_PLUGIN_WITH_ARCHRULES_FAILURE) @@ -135,7 +140,7 @@ gradlePlugin { @Test fun `test setup with settings plugin`() { val runner = testProject(projectDir) { - settings{ + settings { plugins { id("com.netflix.nebula.oss.settings") } @@ -144,8 +149,8 @@ gradlePlugin { } val result = runner.run("check", "--stacktrace") -assertThat(result) - .hasNoProblemsReport() + assertThat(result) + .hasNoProblemsReport() .hasNoDeprecationWarnings() .hasNoMutableStateWarnings() } @@ -324,4 +329,27 @@ assertThat(result) .content() .contains("""override""") } + + @ParameterizedTest + @EnumSource(SupportedGradleVersion::class) + fun `test kotlin setup`(gradle : SupportedGradleVersion) { + val runner = testProject(projectDir) { + sampleSinglePluginSetup { + plugins { + id("org.jetbrains.kotlin.jvm") + } + src { + main { + kotlin("example/MyPlugin.kt", SAMPLE_KOTLIN_PLUGIN) + } + } + } + } + val result = runner.run("build", "--stacktrace"){ + withGradle(gradle.version) + } + + assertThat(result.task(":compileKotlin")) + .hasOutcome(TaskOutcome.SUCCESS) + } } \ No newline at end of file diff --git a/src/test/kotlin/nebula/plugin/plugin/SampleCode.kt b/src/test/kotlin/nebula/plugin/plugin/SampleCode.kt index 24de522..35450f9 100644 --- a/src/test/kotlin/nebula/plugin/plugin/SampleCode.kt +++ b/src/test/kotlin/nebula/plugin/plugin/SampleCode.kt @@ -37,6 +37,23 @@ public class MyPlugin implements Plugin { } """ +//language=kotlin +const val SAMPLE_KOTLIN_PLUGIN: String = """ +package example + +import org.gradle.api.Plugin +import org.gradle.api.Project + +/** +* +*/ +class MyPlugin : Plugin { + @Override + override fun apply(project: Project) { + } +} +""" + //language=java const val SAMPLE_JAVA_MAIN_CLASS: String = """ package example;