diff --git a/buildSrc/src/main/groovy/gdk-base.gradle b/buildSrc/src/main/groovy/gdk-base.gradle index 30eea09..dd52987 100644 --- a/buildSrc/src/main/groovy/gdk-base.gradle +++ b/buildSrc/src/main/groovy/gdk-base.gradle @@ -29,7 +29,7 @@ repositories { dependencies { compileOnly mnLibs.jsr305 // for 'warning: unknown enum constant When.MAYBE' implementation mnLibs.jakarta.annotation.api - runtimeOnly libs.logback.classic + runtimeOnly mnLibs.logback.classic } java { diff --git a/buildSrc/src/main/groovy/gdk-cli.gradle b/buildSrc/src/main/groovy/gdk-cli.gradle index 2b4f028..8c5fe24 100644 --- a/buildSrc/src/main/groovy/gdk-cli.gradle +++ b/buildSrc/src/main/groovy/gdk-cli.gradle @@ -17,7 +17,7 @@ plugins { id 'gdk-module' id 'io.micronaut.application' - id 'com.github.johnrengelman.shadow' + id 'com.gradleup.shadow' } dependencies { @@ -31,7 +31,7 @@ dependencies { runtimeOnly libs.bouncycastle.bcprov runtimeOnly libs.jansi runtimeOnly libs.jline - runtimeOnly libs.slf4j.nop + runtimeOnly mnLibs.slf4j.nop } configurations.configureEach { @@ -39,7 +39,7 @@ configurations.configureEach { } micronaut { - version libs.micronaut.starter.api.get().version + version libs.versions.micronaut.starter.get() processing { incremental true annotations 'cloud.graal.gdk.*' diff --git a/gdk-cli-core/build.gradle b/gdk-cli-core/build.gradle index 8378f50..db397fa 100644 --- a/gdk-cli-core/build.gradle +++ b/gdk-cli-core/build.gradle @@ -51,7 +51,7 @@ dependencies { } micronaut { - version libs.micronaut.starter.api.get().version + version libs.versions.micronaut.starter.get() processing { incremental true annotations 'cloud.graal.gdk.*' diff --git a/gdk-core/build.gradle b/gdk-core/build.gradle index a684d28..d3a75c1 100644 --- a/gdk-core/build.gradle +++ b/gdk-core/build.gradle @@ -44,17 +44,6 @@ dependencies { exclude group: 'org.eclipse.jgit', module: 'org.eclipse.jgit' } implementation(mnLibs.micronaut.http.client) - implementation(libs.netty.buffer) - implementation(libs.netty.codec) - implementation(libs.netty.codec.http) - implementation(libs.netty.codec.http2) - implementation(libs.netty.codec.socks) - implementation(libs.netty.common) - implementation(libs.netty.handler) - implementation(libs.netty.handler.proxy) - implementation(libs.netty.resolver) - implementation(libs.netty.transport) - implementation(libs.netty.transport.native.unix.common) } def writeVersions = tasks.register('writeVersions', cloud.graal.gdk.util.WriteVersionsTask) { @@ -74,7 +63,7 @@ sourceSets { } micronaut { - version libs.micronaut.starter.api.get().version + version libs.versions.micronaut.starter.get() processing { incremental true annotations 'cloud.graal.gdk.*' diff --git a/gdk-core/src/main/java/cloud/graal/gdk/GdkGeneratorContext.java b/gdk-core/src/main/java/cloud/graal/gdk/GdkGeneratorContext.java index 9de8758..f7b313d 100644 --- a/gdk-core/src/main/java/cloud/graal/gdk/GdkGeneratorContext.java +++ b/gdk-core/src/main/java/cloud/graal/gdk/GdkGeneratorContext.java @@ -109,7 +109,7 @@ public class GdkGeneratorContext extends GeneratorContext { /** * The id of the Gradle Shadow plugin. */ - public static final String PLUGIN_SHADOW = "com.github.johnrengelman.shadow"; + public static final String PLUGIN_SHADOW = "com.gradleup.shadow"; private static final String PLUGIN_GRADLE_AZUREFUNCTIONS = "com.microsoft.azure.azurefunctions"; private static final String PLUGIN_MAVEN_AZUREFUNCTIONS = "azure-functions-maven-plugin"; @@ -122,7 +122,7 @@ public class GdkGeneratorContext extends GeneratorContext { ); private static final Map PLUGIN_GAVS = Map.ofEntries( - gavMapEntry("com.github.johnrengelman.shadow", "com.github.johnrengelman:shadow", StarterCoordinates.SHADOW), + gavMapEntry("com.gradleup.shadow", "com.gradleup.shadow:com.gradleup.shadow.gradle.plugin", StarterCoordinates.COM_GRADLEUP_SHADOW_GRADLE_PLUGIN), gavMapEntry("io.micronaut.application", "io.micronaut.gradle:micronaut-gradle-plugin", GdkDependencies.IO_MICRONAUT_GRADLE_MICRONAUT_GRADLE_PLUGIN), gavMapEntry("io.micronaut.library", "io.micronaut.gradle:micronaut-gradle-plugin", GdkDependencies.IO_MICRONAUT_GRADLE_MICRONAUT_GRADLE_PLUGIN), gavMapEntry("io.micronaut.test-resources", "io.micronaut.gradle:micronaut-test-resources-plugin", GdkDependencies.IO_MICRONAUT_GRADLE_MICRONAUT_GRADLE_PLUGIN), @@ -132,7 +132,8 @@ public class GdkGeneratorContext extends GeneratorContext { gavMapEntry("com.google.cloud.tools.jib", "com.google.cloud.tools.jib:com.google.cloud.tools.jib.gradle.plugin", StarterCoordinates.JIB_GRADLE_PLUGIN), gavMapEntry("io.micronaut.aot", "io.micronaut.gradle:micronaut-aot-plugin", GdkDependencies.IO_MICRONAUT_GRADLE_MICRONAUT_GRADLE_PLUGIN), gavMapEntry("com.google.devtools.ksp", "com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin", StarterCoordinates.COM_GOOGLE_DEVTOOLS_KSP_GRADLE_PLUGIN), - gavMapEntry("gg.jte.gradle", "gg.jte:jte-gradle-plugin", StarterCoordinates.JTE_GRADLE_PLUGIN) + gavMapEntry("gg.jte.gradle", "gg.jte:jte-gradle-plugin", StarterCoordinates.JTE_GRADLE_PLUGIN), + gavMapEntry("com.microsoft.azure.azurefunctions", "com.microsoft.azure:azure-functions-gradle-plugin", StarterCoordinates.AZURE_FUNCTIONS_GRADLE_PLUGIN) ); private static final ThreadLocal INSTANCE = new ThreadLocal<>(); @@ -896,7 +897,7 @@ public void addTemplate(String name, RockerModel rockerModel = testRockerModelProvider.findModel(getLanguage(), getTestFramework()); if (rockerModel != null) { - addTemplateInternal(name, new RockerTemplate(moduleName, path, rockerModel)); + addTemplateInternal(name + "-" + cloud.getModuleName(), new RockerTemplate(moduleName, path, rockerModel)); } } diff --git a/gdk-core/src/main/java/cloud/graal/gdk/feature/GdkTestedFeatures.java b/gdk-core/src/main/java/cloud/graal/gdk/feature/GdkTestedFeatures.java index db59200..c53a943 100644 --- a/gdk-core/src/main/java/cloud/graal/gdk/feature/GdkTestedFeatures.java +++ b/gdk-core/src/main/java/cloud/graal/gdk/feature/GdkTestedFeatures.java @@ -55,7 +55,7 @@ public final class GdkTestedFeatures { "email-javamail", "email-template", // K8S - "kubernetes-client", + "kubernetes-client-openapi", // LOGGING "logback", // METRICS @@ -100,6 +100,8 @@ public final class GdkTestedFeatures { // TRACING AWS "tracing-opentelemetry-exporter-otlp", "tracing-opentelemetry-xray", + // TRACING Azure + "azure-tracing", // TRACING GCP "tracing-opentelemetry-exporter-gcp", "tracing-opentelemetry-gcp" diff --git a/gdk-core/src/main/java/cloud/graal/gdk/feature/create/GdkMavenBuildCreator.java b/gdk-core/src/main/java/cloud/graal/gdk/feature/create/GdkMavenBuildCreator.java index 4e5db03..0e7465e 100644 --- a/gdk-core/src/main/java/cloud/graal/gdk/feature/create/GdkMavenBuildCreator.java +++ b/gdk-core/src/main/java/cloud/graal/gdk/feature/create/GdkMavenBuildCreator.java @@ -30,6 +30,8 @@ import io.micronaut.starter.build.maven.MavenPlugin; import io.micronaut.starter.build.maven.MavenRepository; import io.micronaut.starter.feature.build.maven.templates.mavenPlugin; +import io.micronaut.starter.feature.function.azure.AbstractAzureFunction; +import io.micronaut.starter.feature.function.azure.template.azureFunctionMavenPlugin; import io.micronaut.starter.feature.testresources.TestResourcesAdditionalModulesProvider; import io.micronaut.starter.template.RockerWritable; import jakarta.inject.Singleton; @@ -46,6 +48,8 @@ @Singleton public class GdkMavenBuildCreator extends MavenBuildCreator { + private static final String AZURE_FUNCTIONS_MAVEN_PLUGIN = "azure-functions-maven-plugin"; + @NonNull @Override public MavenBuild create(GeneratorContext generatorContext, List repositories) { @@ -93,6 +97,12 @@ private MavenPlugin clonePlugin(MavenPlugin plugin) { extensionModel.templateDirectory())), 0); } + if (AZURE_FUNCTIONS_MAVEN_PLUGIN.equals(plugin.getArtifactId())) { + return new MavenPlugin( + plugin.getArtifactId(), + new RockerWritable(azureFunctionMavenPlugin.template(AbstractAzureFunction.AZURE_FUNCTIONS_EXTENSION_VERSION)), 0); + } + mavenPlugin extensionModel = (mavenPlugin) ((RockerWritable) plugin.getExtension()).getModel(); return new MavenPlugin( plugin.getArtifactId(), diff --git a/gdk-core/src/main/java/cloud/graal/gdk/feature/create/function/GdkAzureCloudFunction.java b/gdk-core/src/main/java/cloud/graal/gdk/feature/create/function/GdkAzureCloudFunction.java index afa815b..00a7162 100644 --- a/gdk-core/src/main/java/cloud/graal/gdk/feature/create/function/GdkAzureCloudFunction.java +++ b/gdk-core/src/main/java/cloud/graal/gdk/feature/create/function/GdkAzureCloudFunction.java @@ -15,8 +15,10 @@ */ package cloud.graal.gdk.feature.create.function; +import cloud.graal.gdk.feature.GdkFeatureContext; import cloud.graal.gdk.model.GdkCloud; import io.micronaut.core.annotation.NonNull; +import io.micronaut.starter.feature.function.azure.AzureRawFunction; import jakarta.inject.Singleton; import static cloud.graal.gdk.model.GdkCloud.AZURE; @@ -29,6 +31,17 @@ @Singleton public class GdkAzureCloudFunction extends AbstractGdkCloudFunction { + private final AzureRawFunction azureRawFunction; + + public GdkAzureCloudFunction(AzureRawFunction azureRawFunction) { + this.azureRawFunction = azureRawFunction; + } + + @Override + public void processSelectedFeatures(GdkFeatureContext featureContext) { + featureContext.addFeature(azureRawFunction, AzureRawFunction.class); + } + @NonNull @Override public GdkCloud getCloud() { diff --git a/gdk-core/src/main/java/cloud/graal/gdk/feature/create/gatewayfunction/AbstractGdkCloudGatewayFunction.java b/gdk-core/src/main/java/cloud/graal/gdk/feature/create/gatewayfunction/AbstractGdkCloudGatewayFunction.java index 3609cc6..5cc5449 100644 --- a/gdk-core/src/main/java/cloud/graal/gdk/feature/create/gatewayfunction/AbstractGdkCloudGatewayFunction.java +++ b/gdk-core/src/main/java/cloud/graal/gdk/feature/create/gatewayfunction/AbstractGdkCloudGatewayFunction.java @@ -27,7 +27,9 @@ * * @since 1.0.0 */ -public abstract class AbstractGdkCloudGatewayFunction extends AbstractGdkCreateFeature implements FunctionFeature { +public abstract class AbstractGdkCloudGatewayFunction + extends AbstractGdkCreateFeature + implements FunctionFeature { @NonNull @Override diff --git a/gdk-core/src/main/java/cloud/graal/gdk/feature/create/gatewayfunction/GdkAzureCloudGatewayFunction.java b/gdk-core/src/main/java/cloud/graal/gdk/feature/create/gatewayfunction/GdkAzureCloudGatewayFunction.java index 3757010..5d2fef9 100644 --- a/gdk-core/src/main/java/cloud/graal/gdk/feature/create/gatewayfunction/GdkAzureCloudGatewayFunction.java +++ b/gdk-core/src/main/java/cloud/graal/gdk/feature/create/gatewayfunction/GdkAzureCloudGatewayFunction.java @@ -15,8 +15,10 @@ */ package cloud.graal.gdk.feature.create.gatewayfunction; +import cloud.graal.gdk.feature.GdkFeatureContext; import cloud.graal.gdk.model.GdkCloud; import io.micronaut.core.annotation.NonNull; +import io.micronaut.starter.feature.function.azure.AzureRawFunction; import jakarta.inject.Singleton; import static cloud.graal.gdk.model.GdkCloud.AZURE; @@ -29,6 +31,20 @@ @Singleton public class GdkAzureCloudGatewayFunction extends AbstractGdkCloudGatewayFunction { + private final AzureRawFunction azureRawFunction; + + /** + * @param azureRawFunction AzureRawFunction feature + */ + public GdkAzureCloudGatewayFunction(AzureRawFunction azureRawFunction) { + this.azureRawFunction = azureRawFunction; + } + + @Override + public void processSelectedFeatures(GdkFeatureContext featureContext) { + featureContext.addFeature(azureRawFunction, AzureRawFunction.class); + } + @NonNull @Override public GdkCloud getCloud() { diff --git a/gdk-core/src/main/java/cloud/graal/gdk/feature/replaced/GdkAzureRawFunction.java b/gdk-core/src/main/java/cloud/graal/gdk/feature/replaced/GdkAzureRawFunction.java new file mode 100644 index 0000000..c1abf8a --- /dev/null +++ b/gdk-core/src/main/java/cloud/graal/gdk/feature/replaced/GdkAzureRawFunction.java @@ -0,0 +1,41 @@ +/* + * Copyright 2025 Oracle and/or its affiliates + * + * 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 cloud.graal.gdk.feature.replaced; + +import cloud.graal.gdk.GdkGeneratorContext; +import io.micronaut.context.annotation.Replaces; +import io.micronaut.starter.application.generator.GeneratorContext; +import io.micronaut.starter.build.dependencies.CoordinateResolver; +import io.micronaut.starter.feature.function.azure.AzureHttpFunction; +import io.micronaut.starter.feature.function.azure.AzureRawFunction; +import jakarta.inject.Singleton; + +@Replaces(AzureRawFunction.class) +@Singleton +public class GdkAzureRawFunction extends AzureRawFunction { + public GdkAzureRawFunction(CoordinateResolver coordinateResolver, AzureHttpFunction httpFunction) { + super(coordinateResolver, httpFunction); + } + + @Override + public void apply(GeneratorContext generatorContext) { + super.apply(generatorContext); + + GdkGeneratorContext context = (GdkGeneratorContext) generatorContext; + context.addUrlTemplate("azure", "host.json", "host.json", "functions/azure/host.json"); + context.addUrlTemplate("azure", "local.settings.json", "local.settings.json", "functions/azure/local.settings.json"); + } +} diff --git a/gdk-core/src/main/java/cloud/graal/gdk/feature/replaced/GdkGradle.java b/gdk-core/src/main/java/cloud/graal/gdk/feature/replaced/GdkGradle.java index 577844e..173e655 100644 --- a/gdk-core/src/main/java/cloud/graal/gdk/feature/replaced/GdkGradle.java +++ b/gdk-core/src/main/java/cloud/graal/gdk/feature/replaced/GdkGradle.java @@ -45,6 +45,7 @@ import io.micronaut.starter.feature.build.gradle.MicronautApplicationGradlePlugin; import io.micronaut.starter.feature.build.gradle.templates.buildGradle; import io.micronaut.starter.feature.build.gradle.templates.micronautGradle; +import io.micronaut.starter.feature.function.azure.template.azurefunctions; import io.micronaut.starter.template.RockerTemplate; import io.micronaut.starter.template.RockerWritable; import jakarta.inject.Singleton; @@ -88,6 +89,11 @@ public class GdkGradle extends Gradle { */ private static final String JTE_PLUGIN_ID = "gg.jte.gradle"; + /** + * The plugin id for the AZURE functions plugin. + */ + private static final String AZURE_FUNCTIONS_PLUGIN = "com.microsoft.azure.azurefunctions"; + private static final GradlePlugin GROOVY_PLUGIN = GradlePlugin.builder().id("groovy").build(); private final CoordinateResolver coordinateResolver; @@ -260,6 +266,8 @@ private void addCloudGradleBuild(GdkGeneratorContext generatorContext, GradleDsl copiedPlugins.add(cloneMicronautPlugin(plugin, generatorContext)); } else if (JTE_PLUGIN_ID.equals(id)) { copiedPlugins.add(cloneJtePlugin(plugin)); + } else if (AZURE_FUNCTIONS_PLUGIN.equals(id)) { + copiedPlugins.add(cloneAzureFunctionsPlugin(plugin, generatorContext)); } else { throw new IllegalStateException("Unknown build plugin '" + id + "'"); } @@ -290,7 +298,6 @@ private void addCloudGradleBuild(GdkGeneratorContext generatorContext, GradleDsl } private GradlePlugin cloneJtePlugin(GradlePlugin plugin) { - gdkGradlePluginJTE extensionModel = (gdkGradlePluginJTE) ((RockerWritable) plugin.getExtension()).getModel(); return new GradlePlugin( @@ -344,4 +351,27 @@ private GradlePlugin cloneMicronautPlugin(GradlePlugin plugin, plugin.getBuildImports(), plugin.getSettingsImports()); } + + private GradlePlugin cloneAzureFunctionsPlugin(GradlePlugin plugin, GeneratorContext generatorContext) { + + + azurefunctions extensionModel = (azurefunctions) ((RockerWritable) plugin.getExtension()).getModel(); + + return new GradlePlugin( + plugin.getGradleFile(), + plugin.getId(), + plugin.getVersion(), + null, + new RockerWritable(azurefunctions.template( + generatorContext.getProject(), + extensionModel.dsl(), + generatorContext.getJdkVersion().asString()) + ), + null, + plugin.getPluginsManagementRepositories(), + false, + plugin.getOrder(), + plugin.getBuildImports(), + plugin.getSettingsImports()); + } } diff --git a/gdk-core/src/main/java/cloud/graal/gdk/feature/replaced/GdkOracleRawFunction.java b/gdk-core/src/main/java/cloud/graal/gdk/feature/replaced/GdkOracleRawFunction.java index ba58510..090319b 100644 --- a/gdk-core/src/main/java/cloud/graal/gdk/feature/replaced/GdkOracleRawFunction.java +++ b/gdk-core/src/main/java/cloud/graal/gdk/feature/replaced/GdkOracleRawFunction.java @@ -16,7 +16,6 @@ package cloud.graal.gdk.feature.replaced; import cloud.graal.gdk.GdkGeneratorContext; -import cloud.graal.gdk.model.GdkCloud; import io.micronaut.context.annotation.Replaces; import io.micronaut.starter.application.ApplicationType; import io.micronaut.starter.application.Project; @@ -28,52 +27,61 @@ import io.micronaut.starter.feature.function.oraclefunction.template.raw.oracleRawFunctionKotlin; import io.micronaut.starter.feature.json.JacksonDatabindFeature; import io.micronaut.starter.feature.logging.SimpleLogging; -import io.micronaut.starter.options.BuildTool; import io.micronaut.starter.options.Language; import io.micronaut.starter.template.RockerTemplate; import jakarta.inject.Singleton; +import static cloud.graal.gdk.model.GdkCloud.OCI; +import static io.micronaut.starter.application.ApplicationType.FUNCTION; +import static io.micronaut.starter.options.BuildTool.MAVEN; + @Singleton @Replaces(OracleRawFunction.class) -public class GdkOracleRawFunction extends OracleRawFunction { +public class GdkOracleRawFunction extends OracleRawFunction { - public GdkOracleRawFunction(SimpleLogging simpleLogging, OracleFunction httpFunction, JacksonDatabindFeature jacksonDatabindFeature) { + public GdkOracleRawFunction(SimpleLogging simpleLogging, + OracleFunction httpFunction, + JacksonDatabindFeature jacksonDatabindFeature) { super(simpleLogging, httpFunction, jacksonDatabindFeature); } @Override - public void apply(GeneratorContext generatorContext) { + public void apply(GeneratorContext gc) { + var generatorContext = (GdkGeneratorContext) gc; + ApplicationType type = generatorContext.getApplicationType(); - GdkGeneratorContext gdkGeneratorContext = (GdkGeneratorContext) generatorContext; - if (type == ApplicationType.FUNCTION && (gdkGeneratorContext.isPlatformIndependent() || gdkGeneratorContext.getCloud().equals(GdkCloud.OCI))) { - this.applyFunction(generatorContext, type); + if (type == FUNCTION && (generatorContext.isPlatformIndependent() || generatorContext.getCloud() == OCI)) { + applyFunction(generatorContext, type); Language language = generatorContext.getLanguage(); Project project = generatorContext.getProject(); String sourceFile = generatorContext.getSourcePath("/{packagePath}/Function"); switch (language) { case GROOVY: - generatorContext.addTemplate("function", new RockerTemplate(sourceFile, oracleRawFunctionGroovy.template(project))); + generatorContext.addTemplate("function", + new RockerTemplate(sourceFile, oracleRawFunctionGroovy.template(project))); break; case KOTLIN: - generatorContext.addTemplate("function", new RockerTemplate(sourceFile, oracleRawFunctionKotlin.template(project))); + generatorContext.addTemplate("function", + new RockerTemplate(sourceFile, oracleRawFunctionKotlin.template(project))); break; case JAVA: default: - generatorContext.addTemplate("function", new RockerTemplate(sourceFile, oracleRawFunctionJava.template(project))); + generatorContext.addTemplate("function", + new RockerTemplate(sourceFile, oracleRawFunctionJava.template(project))); } - if (generatorContext.getBuildTool() == BuildTool.MAVEN) { - this.addMicronautRuntimeBuildProperty(generatorContext); + if (generatorContext.getBuildTool() == MAVEN) { + addMicronautRuntimeBuildProperty(generatorContext); generatorContext.getBuildProperties().put("jib.docker.tag", "${project.version}"); generatorContext.getBuildProperties().put("exec.mainClass", "com.fnproject.fn.runtime.EntryPoint"); generatorContext.getBuildProperties().put("jib.docker.image", "[REGION].ocir.io/[TENANCY]/[REPO]/${project.artifactId}"); generatorContext.getBuildProperties().put("function.entrypoint", project.getPackageName() + ".Function::handleRequest"); } - this.applyTestTemplate(generatorContext, project, "Function"); + applyTestTemplate(generatorContext, project, "Function"); } - this.addDependencies(generatorContext); + addDependencies(generatorContext); } } diff --git a/gdk-core/src/main/java/cloud/graal/gdk/feature/replaced/template/maindocs.rocker.raw b/gdk-core/src/main/java/cloud/graal/gdk/feature/replaced/template/maindocs.rocker.raw index 0c7c234..0f0e664 100644 --- a/gdk-core/src/main/java/cloud/graal/gdk/feature/replaced/template/maindocs.rocker.raw +++ b/gdk-core/src/main/java/cloud/graal/gdk/feature/replaced/template/maindocs.rocker.raw @@ -1,16 +1,16 @@ @import io.micronaut.starter.util.VersionInfo @import java.util.List -## Micronaut 4.7.3 Documentation +## Micronaut @VersionInfo.getMicronautVersion() Documentation @if (VersionInfo.isMicronautSnapshot()) { - [User Guide](https://docs.micronaut.io/snapshot/guide/) - [API Reference](https://docs.micronaut.io/snapshot/api/) - [Configuration Reference](https://docs.micronaut.io/snapshot/guide/configurationreference.html) } else { -- [User Guide](https://docs.micronaut.io/4.7.3/guide/) -- [API Reference](https://docs.micronaut.io/4.7.3/api/) -- [Configuration Reference](https://docs.micronaut.io/4.7.3/guide/configurationreference.html) +- [User Guide](https://docs.micronaut.io/@VersionInfo.getMicronautVersion()/guide/) +- [API Reference](https://docs.micronaut.io/@VersionInfo.getMicronautVersion()/api/) +- [Configuration Reference](https://docs.micronaut.io/@VersionInfo.getMicronautVersion()/guide/configurationreference.html) } - [Micronaut Guides](https://guides.micronaut.io/) --- diff --git a/gdk-core/src/main/java/cloud/graal/gdk/feature/service/k8s/AbstractK8sFeature.java b/gdk-core/src/main/java/cloud/graal/gdk/feature/service/k8s/AbstractK8sFeature.java index f283b5a..d0b23a3 100644 --- a/gdk-core/src/main/java/cloud/graal/gdk/feature/service/k8s/AbstractK8sFeature.java +++ b/gdk-core/src/main/java/cloud/graal/gdk/feature/service/k8s/AbstractK8sFeature.java @@ -22,11 +22,10 @@ import io.micronaut.core.annotation.NonNull; import io.micronaut.starter.build.dependencies.Dependency; import io.micronaut.starter.feature.k8s.Kubernetes; -import io.micronaut.starter.feature.k8s.KubernetesClient; import io.micronaut.starter.feature.other.Management; import static cloud.graal.gdk.model.GdkService.K8S; -import static io.micronaut.starter.feature.k8s.KubernetesClient.MICRONAUT_KUBERNETES_GROUP_ID; +import static cloud.graal.gdk.feature.service.k8s.KubernetesClientOpenApi.MICRONAUT_KUBERNETES_GROUP_ID; /** * Base class for Kubernetes service features. @@ -37,18 +36,18 @@ public abstract class AbstractK8sFeature extends AbstractGdkServiceFeature { private static final Dependency DISCOVERY_CLIENT = Dependency.builder() .groupId(MICRONAUT_KUBERNETES_GROUP_ID) - .artifactId("micronaut-kubernetes-discovery-client") + .artifactId("micronaut-kubernetes-client-openapi-discovery") .compile() .build(); - private final KubernetesClient kubernetesClient; + private final KubernetesClientOpenApi kubernetesClient; private final Management management; private final Kubernetes kubernetes; /** * @param kubernetesClient KubernetesClient feature */ - protected AbstractK8sFeature(KubernetesClient kubernetesClient, + protected AbstractK8sFeature(KubernetesClientOpenApi kubernetesClient, Management management, Kubernetes kubernetes) { this.kubernetesClient = kubernetesClient; @@ -58,7 +57,7 @@ protected AbstractK8sFeature(KubernetesClient kubernetesClient, @Override public final void processSelectedFeatures(GdkFeatureContext featureContext) { - featureContext.addFeature(kubernetesClient, KubernetesClient.class); + featureContext.addFeature(kubernetesClient, KubernetesClientOpenApi.class); featureContext.addFeature(management, Management.class); featureContext.addFeature(kubernetes, Kubernetes.class); } diff --git a/gdk-core/src/main/java/cloud/graal/gdk/feature/service/k8s/AwsK8s.java b/gdk-core/src/main/java/cloud/graal/gdk/feature/service/k8s/AwsK8s.java index 9b5e7fe..42e7d96 100644 --- a/gdk-core/src/main/java/cloud/graal/gdk/feature/service/k8s/AwsK8s.java +++ b/gdk-core/src/main/java/cloud/graal/gdk/feature/service/k8s/AwsK8s.java @@ -18,7 +18,6 @@ import cloud.graal.gdk.model.GdkCloud; import io.micronaut.core.annotation.NonNull; import io.micronaut.starter.feature.k8s.Kubernetes; -import io.micronaut.starter.feature.k8s.KubernetesClient; import io.micronaut.starter.feature.other.Management; import jakarta.inject.Singleton; @@ -35,7 +34,7 @@ public class AwsK8s extends AbstractK8sFeature { /** * @param kubernetesClient KubernetesClient feature */ - public AwsK8s(KubernetesClient kubernetesClient, + public AwsK8s(KubernetesClientOpenApi kubernetesClient, Management management, Kubernetes kubernetes) { super(kubernetesClient, management, kubernetes); diff --git a/gdk-core/src/main/java/cloud/graal/gdk/feature/service/k8s/AzureK8s.java b/gdk-core/src/main/java/cloud/graal/gdk/feature/service/k8s/AzureK8s.java index 2bfed8e..e0d7da7 100644 --- a/gdk-core/src/main/java/cloud/graal/gdk/feature/service/k8s/AzureK8s.java +++ b/gdk-core/src/main/java/cloud/graal/gdk/feature/service/k8s/AzureK8s.java @@ -18,7 +18,6 @@ import cloud.graal.gdk.model.GdkCloud; import io.micronaut.core.annotation.NonNull; import io.micronaut.starter.feature.k8s.Kubernetes; -import io.micronaut.starter.feature.k8s.KubernetesClient; import io.micronaut.starter.feature.other.Management; import jakarta.inject.Singleton; @@ -35,7 +34,7 @@ public class AzureK8s extends AbstractK8sFeature { /** * @param kubernetesClient KubernetesClient feature */ - public AzureK8s(KubernetesClient kubernetesClient, + public AzureK8s(KubernetesClientOpenApi kubernetesClient, Management management, Kubernetes kubernetes) { super(kubernetesClient, management, kubernetes); diff --git a/gdk-core/src/main/java/cloud/graal/gdk/feature/service/k8s/DiscoveryKubernetesOpenApi.java b/gdk-core/src/main/java/cloud/graal/gdk/feature/service/k8s/DiscoveryKubernetesOpenApi.java new file mode 100644 index 0000000..90b351e --- /dev/null +++ b/gdk-core/src/main/java/cloud/graal/gdk/feature/service/k8s/DiscoveryKubernetesOpenApi.java @@ -0,0 +1,58 @@ +/* + * Copyright 2025 Oracle and/or its affiliates + * + * 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 cloud.graal.gdk.feature.service.k8s; + + +import io.micronaut.context.annotation.Replaces; +import io.micronaut.context.annotation.Requires; +import io.micronaut.core.annotation.NonNull; +import io.micronaut.starter.application.generator.GeneratorContext; +import io.micronaut.starter.build.dependencies.Dependency; +import io.micronaut.starter.feature.discovery.DiscoveryKubernetes; +import jakarta.inject.Singleton; + +@Requires( + property = "micronaut.starter.feature.discovery.kubernetes.enabled", + value = "true", + defaultValue = "true" +) +@Replaces(DiscoveryKubernetes.class) +@Singleton +public class DiscoveryKubernetesOpenApi extends DiscoveryKubernetes { + private static final Dependency DEPENDENCY_MICRONAUT_DISCOVERY_K8S = Dependency.builder().groupId("io.micronaut.kubernetes").artifactId("micronaut-kubernetes-client-openapi-discovery").compile().build(); + + public @NonNull String getName() { + return "discovery-kubernetes"; + } + + public String getTitle() { + return "Kubernetes Service Discovery"; + } + + public String getDescription() { + return "Adds support for Service Discovery with Kubernetes"; + } + + public void apply(GeneratorContext generatorContext) { + generatorContext.getBootstrapConfiguration().put("kubernetes.client.discovery.mode", "endpoint"); + generatorContext.getBootstrapConfiguration().put("kubernetes.client.discovery.mode-configuration.endpoint.watch.enabled", true); + generatorContext.addDependency(DEPENDENCY_MICRONAUT_DISCOVERY_K8S); + } + + public String getMicronautDocumentation() { + return "https://micronaut-projects.github.io/micronaut-kubernetes/latest/guide/#service-discovery"; + } +} diff --git a/gdk-core/src/main/java/cloud/graal/gdk/feature/service/k8s/GcpK8s.java b/gdk-core/src/main/java/cloud/graal/gdk/feature/service/k8s/GcpK8s.java index 3ec7827..0c4afb2 100644 --- a/gdk-core/src/main/java/cloud/graal/gdk/feature/service/k8s/GcpK8s.java +++ b/gdk-core/src/main/java/cloud/graal/gdk/feature/service/k8s/GcpK8s.java @@ -18,7 +18,6 @@ import cloud.graal.gdk.model.GdkCloud; import io.micronaut.core.annotation.NonNull; import io.micronaut.starter.feature.k8s.Kubernetes; -import io.micronaut.starter.feature.k8s.KubernetesClient; import io.micronaut.starter.feature.other.Management; import jakarta.inject.Singleton; @@ -35,7 +34,7 @@ public class GcpK8s extends AbstractK8sFeature { /** * @param kubernetesClient KubernetesClient feature */ - public GcpK8s(KubernetesClient kubernetesClient, + public GcpK8s(KubernetesClientOpenApi kubernetesClient, Management management, Kubernetes kubernetes) { super(kubernetesClient, management, kubernetes); diff --git a/gdk-core/src/main/java/cloud/graal/gdk/feature/service/k8s/KubernetesClientOpenApi.java b/gdk-core/src/main/java/cloud/graal/gdk/feature/service/k8s/KubernetesClientOpenApi.java new file mode 100644 index 0000000..39588a5 --- /dev/null +++ b/gdk-core/src/main/java/cloud/graal/gdk/feature/service/k8s/KubernetesClientOpenApi.java @@ -0,0 +1,74 @@ +/* + * Copyright 2025 Oracle and/or its affiliates + * + * 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 cloud.graal.gdk.feature.service.k8s; + +import io.micronaut.context.annotation.Replaces; +import io.micronaut.core.annotation.NonNull; +import io.micronaut.starter.application.ApplicationType; +import io.micronaut.starter.application.generator.GeneratorContext; +import io.micronaut.starter.build.dependencies.Dependency; +import io.micronaut.starter.build.dependencies.MicronautDependencyUtils; +import io.micronaut.starter.feature.discovery.DiscoveryCore; +import io.micronaut.starter.feature.k8s.KubernetesClient; +import io.micronaut.starter.options.BuildTool; +import io.micronaut.starter.options.Language; +import jakarta.inject.Singleton; + +@Replaces(KubernetesClient.class) +@Singleton +public class KubernetesClientOpenApi extends KubernetesClient { + public static final String MICRONAUT_KUBERNETES_GROUP_ID = "io.micronaut.kubernetes"; + + public boolean supports(ApplicationType applicationType) { + return true; + } + + public @NonNull String getName() { + return "kubernetes-client-openapi"; + } + + public String getTitle() { + return "The Micronaut Kubernetes Client OpenApi"; + } + + public String getDescription() { + return "The Micronaut Kubernetes Client OpenApi is a kubernetes client which uses Micronaut Netty HTTP Client and generated apis and modules from the OpenApi"; + } + + public String getCategory() { + return "Client"; + } + + public String getMicronautDocumentation() { + return "https://micronaut-projects.github.io/micronaut-kubernetes/latest/guide/#kubernetes-client-openapi"; + } + + public String getThirdPartyDocumentation() { + return null; + } + + public void apply(GeneratorContext generatorContext) { + generatorContext.addDependency(Dependency.builder().groupId("io.micronaut.kubernetes").artifactId("micronaut-kubernetes-client-openapi").compile()); + fixupDependencies(generatorContext); + } + + static void fixupDependencies(GeneratorContext generatorContext) { + if (!generatorContext.hasFeature(DiscoveryCore.class) && generatorContext.getBuildTool() == BuildTool.MAVEN && generatorContext.getLanguage() == Language.GROOVY) { + generatorContext.addDependency(MicronautDependencyUtils.coreDependency().artifactId("micronaut-discovery-core").compileOnly()); + } + + } +} diff --git a/gdk-core/src/main/java/cloud/graal/gdk/feature/service/k8s/NonCloudK8s.java b/gdk-core/src/main/java/cloud/graal/gdk/feature/service/k8s/NonCloudK8s.java index c623a2a..f9f097f 100644 --- a/gdk-core/src/main/java/cloud/graal/gdk/feature/service/k8s/NonCloudK8s.java +++ b/gdk-core/src/main/java/cloud/graal/gdk/feature/service/k8s/NonCloudK8s.java @@ -18,7 +18,6 @@ import cloud.graal.gdk.model.GdkCloud; import io.micronaut.core.annotation.NonNull; import io.micronaut.starter.feature.k8s.Kubernetes; -import io.micronaut.starter.feature.k8s.KubernetesClient; import io.micronaut.starter.feature.other.Management; import jakarta.inject.Singleton; @@ -35,7 +34,7 @@ public class NonCloudK8s extends AbstractK8sFeature { /** * @param kubernetesClient KubernetesClient feature */ - public NonCloudK8s(KubernetesClient kubernetesClient, + public NonCloudK8s(KubernetesClientOpenApi kubernetesClient, Management management, Kubernetes kubernetes) { super(kubernetesClient, management, kubernetes); diff --git a/gdk-core/src/main/java/cloud/graal/gdk/feature/service/k8s/OciK8s.java b/gdk-core/src/main/java/cloud/graal/gdk/feature/service/k8s/OciK8s.java index 7e035a6..41c1759 100644 --- a/gdk-core/src/main/java/cloud/graal/gdk/feature/service/k8s/OciK8s.java +++ b/gdk-core/src/main/java/cloud/graal/gdk/feature/service/k8s/OciK8s.java @@ -18,7 +18,6 @@ import cloud.graal.gdk.model.GdkCloud; import io.micronaut.core.annotation.NonNull; import io.micronaut.starter.feature.k8s.Kubernetes; -import io.micronaut.starter.feature.k8s.KubernetesClient; import io.micronaut.starter.feature.other.Management; import jakarta.inject.Singleton; @@ -35,7 +34,7 @@ public class OciK8s extends AbstractK8sFeature { /** * @param kubernetesClient KubernetesClient feature */ - public OciK8s(KubernetesClient kubernetesClient, + public OciK8s(KubernetesClientOpenApi kubernetesClient, Management management, Kubernetes kubernetes) { super(kubernetesClient, management, kubernetes); diff --git a/gdk-core/src/main/java/cloud/graal/gdk/feature/service/tracing/AzureTracing.java b/gdk-core/src/main/java/cloud/graal/gdk/feature/service/tracing/AzureTracing.java index cf51830..5919679 100644 --- a/gdk-core/src/main/java/cloud/graal/gdk/feature/service/tracing/AzureTracing.java +++ b/gdk-core/src/main/java/cloud/graal/gdk/feature/service/tracing/AzureTracing.java @@ -16,38 +16,56 @@ package cloud.graal.gdk.feature.service.tracing; import cloud.graal.gdk.GdkGeneratorContext; -import cloud.graal.gdk.feature.service.AbstractGdkServiceFeature; +import cloud.graal.gdk.feature.GdkFeatureContext; import cloud.graal.gdk.model.GdkCloud; -import cloud.graal.gdk.model.GdkService; import io.micronaut.core.annotation.NonNull; +import io.micronaut.starter.feature.opentelemetry.OpenTelemetry; +import io.micronaut.starter.feature.opentelemetry.OpenTelemetryAnnotations; +import io.micronaut.starter.feature.opentelemetry.OpenTelemetryHttp; +import io.micronaut.starter.feature.other.HttpClient; import jakarta.inject.Singleton; import static cloud.graal.gdk.model.GdkCloud.AZURE; -import static cloud.graal.gdk.model.GdkService.TRACING; /** * Azure tracing service feature. * - * @since 1.0.0 + * @since 4.9 */ @Singleton -public class AzureTracing extends AbstractGdkServiceFeature { +public class AzureTracing extends AbstractTracingFeature { + + private final io.micronaut.starter.feature.azure.AzureTracing azureTracing; + + /** + * @param openTelemetry OpenTelemetry feature + * @param openTelemetryHttp OpenTelemetryHttp feature + * @param openTelemetryAnnotations OpenTelemetryAnnotations feature + */ + public AzureTracing(OpenTelemetry openTelemetry, + OpenTelemetryHttp openTelemetryHttp, + OpenTelemetryAnnotations openTelemetryAnnotations, + HttpClient httpClient, + io.micronaut.starter.feature.azure.AzureTracing azureTracing) { + super(openTelemetry, openTelemetryHttp, openTelemetryAnnotations, httpClient); + this.azureTracing = azureTracing; + } @Override - public void apply(GdkGeneratorContext generatorContext) { - // TODO + public void processSelectedFeatures(GdkFeatureContext featureContext) { + super.processSelectedFeatures(featureContext); + featureContext.addFeature(azureTracing, io.micronaut.starter.feature.azure.AzureTracing.class); } - @NonNull @Override - public GdkCloud getCloud() { - return AZURE; + protected void doApply(GdkGeneratorContext generatorContext) { + addAzureNativeImageProperties(generatorContext); } @NonNull @Override - public GdkService getService() { - return TRACING; + public GdkCloud getCloud() { + return AZURE; } @NonNull diff --git a/gdk-core/src/main/java/cloud/graal/gdk/feature/service/tracing/GcpTracing.java b/gdk-core/src/main/java/cloud/graal/gdk/feature/service/tracing/GcpTracing.java index ee9555f..e35020f 100644 --- a/gdk-core/src/main/java/cloud/graal/gdk/feature/service/tracing/GcpTracing.java +++ b/gdk-core/src/main/java/cloud/graal/gdk/feature/service/tracing/GcpTracing.java @@ -38,7 +38,7 @@ public class GcpTracing extends AbstractTracingFeature { private static final Dependency OPENTELEMETRY_SEMCONV = Dependency.builder() - .groupId("io.opentelemetry") + .groupId("io.opentelemetry.semconv") .artifactId("opentelemetry-semconv") .compile() .build(); diff --git a/gradle.properties b/gradle.properties index 167ae0f..41f86d9 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,5 @@ org.gradle.parallel=true org.gradle.caching=true -version=4.7.3.5 +projectGroup=cloud.graal.gdk +version=4.9.1.1 +org.gradle.daemon=false \ No newline at end of file diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 51b164e..6d21e74 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -15,64 +15,37 @@ # [versions] -bouncycastle = '1.79' -docker = '3.4.1' -groovy = '4.0.24' # TODO keep in sync when changing Micronaut version -jansi = '2.4.1' -jline = '3.28.0' -logback = '1.5.15' -micronaut-plugins = '4.4.4' -micronaut-starter = '4.7.4' -netty = "4.1.118.Final" +bouncycastle = '1.81' +gcp = '26.10.0' +jansi = '2.4.2' +jline = '3.30.4' +jsch = '0.2.26' +micronaut-plugins = '4.5.4' +micronaut-starter = '4.9.1' reflections = '0.10.2' rocker = '1.4.0' -shadow = '8.1.1' -slf4j = '2.0.16' +shadow = '8.3.7' spotless = '6.25.0' test-logger = '4.0.0' tomlj = '1.1.1' -micronaut-internal-build = '7.3.0' -micronaut-guides = '0.0.11' -micronaut-serde = '2.13.1' -micronaut-json = '1.4.0' +micronaut-internal-build = '7.5.0' +micronaut-guides = '0.1.0' [libraries] bouncycastle-bcpkix = { module = 'org.bouncycastle:bcpkix-jdk18on', version.ref = 'bouncycastle' } bouncycastle-bcprov = { module = 'org.bouncycastle:bcprov-jdk18on', version.ref = 'bouncycastle' } -docker = { module = 'com.github.docker-java:docker-java-core', version.ref = 'docker' } -docker-transport = { module = 'com.github.docker-java:docker-java-transport-zerodep', version.ref = 'docker' } -groovy-ant = { module = 'org.apache.groovy:groovy-ant', version.ref = 'groovy' } -groovy-json = { module = 'org.apache.groovy:groovy-json', version.ref = 'groovy' } -groovy-xml = { module = 'org.apache.groovy:groovy-xml', version.ref = 'groovy' } jansi = { module = 'org.fusesource.jansi:jansi', version.ref = 'jansi' } jline = { module = 'org.jline:jline', version.ref = 'jline' } -jul-slf4j = { module = 'org.slf4j:jul-to-slf4j', version.ref = 'slf4j' } -logback-classic = { module = 'ch.qos.logback:logback-classic', version.ref = 'logback' } +jsch = { module = 'com.github.mwiede:jsch', version.ref = 'jsch' } micronaut-application = { module = 'io.micronaut.gradle:micronaut-gradle-plugin', version.ref = 'micronaut-plugins' } micronaut-library = { module = 'io.micronaut.gradle:micronaut-gradle-plugin', version.ref = 'micronaut-plugins' } micronaut-starter-api = { module = 'io.micronaut.starter:micronaut-starter-api', version.ref = 'micronaut-starter' } micronaut-starter-cli = { module = 'io.micronaut.starter:micronaut-cli', version.ref = 'micronaut-starter' } -netty-buffer = { module = "io.netty:netty-buffer", version.ref = "netty" } -netty-codec = { module = "io.netty:netty-codec", version.ref = "netty" } -netty-codec-http = { module = "io.netty:netty-codec-http", version.ref = "netty" } -netty-codec-http2 = { module = "io.netty:netty-codec-http2", version.ref = "netty" } -netty-codec-socks = { module = "io.netty:netty-codec-socks", version.ref = "netty" } -netty-common = { module = "io.netty:netty-common", version.ref = "netty" } -netty-handler = { module = "io.netty:netty-handler", version.ref = "netty" } -netty-handler-proxy = { module = "io.netty:netty-handler-proxy", version.ref = "netty" } -netty-resolver = { module = "io.netty:netty-resolver", version.ref = "netty" } -netty-transport = { module = "io.netty:netty-transport", version.ref = "netty" } -netty-transport-native-unix-common = { module = "io.netty:netty-transport-native-unix-common", version.ref = "netty" } reflections = { module = 'org.reflections:reflections', version.ref = 'reflections' } rocker = { module = 'com.fizzed:rocker-compiler', version.ref = 'rocker' } -shadow = { module = 'com.github.johnrengelman:shadow', version.ref = 'shadow' } -slf4j-nop = { module = 'org.slf4j:slf4j-nop', version.ref = 'slf4j' } +shadow = { module = 'com.gradleup.shadow:com.gradleup.shadow.gradle.plugin', version.ref = 'shadow' } spotless = { module = 'com.diffplug.spotless:spotless-plugin-gradle', version.ref = 'spotless' } test-logger = { module = 'com.adarshr:gradle-test-logger-plugin', version.ref = 'test-logger' } tomlj = { module = 'org.tomlj:tomlj', version.ref = 'tomlj' } micronaut-guides = { module = 'io.micronaut.guides:micronaut-guides', version.ref = 'micronaut-guides' } -micronaut-serde-processor = { module = 'io.micronaut.serde:micronaut-serde-processor', version.ref = 'micronaut-serde' } -micronaut-serde-jackson = { module = 'io.micronaut.serde:micronaut-serde-jackson', version.ref = 'micronaut-serde' } -micronaut-json-processor = { module = 'io.micronaut.jsonschema:micronaut-json-schema-processor', version.ref = 'micronaut-json' } -micronaut-json-annotations = { module = 'io.micronaut.jsonschema:micronaut-json-schema-annotations', version.ref = 'micronaut-json' } micronaut-internal-build-bom = { module = 'io.micronaut.build.internal.bom:io.micronaut.build.internal.bom.gradle.plugin', version.ref = 'micronaut-internal-build' } diff --git a/gradle/templates.versions.toml b/gradle/templates.versions.toml index 564bc32..1209485 100644 --- a/gradle/templates.versions.toml +++ b/gradle/templates.versions.toml @@ -15,122 +15,106 @@ # [versions] -apache-commons-commons-collections4 = '4.4-oracle-00001' -apache-commons-commons-lang3 = '3.13.0-oracle-00001' -apache-commons-compress = "1.27.1-oracle-00001" -apache-kafka-kafka-clients = '3.8.0-oracle-00001' -asm = '9.7.1-oracle-00001' -aws-msk-iam-auth = "2.2.0" -ben-manes-caffeine-caffeine = '3.1.8-oracle-00001' -bitbucket-b_c-jose4j = '0.9.6-oracle-00001' -bouncycastle = "1.79" -ch-randelshofer-fastdoubleparser = '1.0.0-oracle-00001' -code-findbugs-jsr305 = '3.0.2-oracle-00001' -code-gson-gson = '2.10.1-oracle-00001' -com-nimbusds-nimbus-jose-jwt = '9.41.2-oracle-00001' -com-zaxxer-HikariCP = '5.1.0-oracle-00001' -commons-codec-commons-codec = '1.16.0-oracle-00001' +apache-kafka-kafka-clients = '3.9.1-oracle-00001' +asm = '9.8-oracle-00001' +aws-msk-iam-auth = "2.3.2" +tracing-exporter-auto = '0.36.0-alpha' +com-nimbusds-nimbus-jose-jwt = '10.3-oracle-00001' +com-zaxxer-HikariCP = '6.3.0-oracle-00001' commons-io-commons-io = '2.14.0-oracle-00002' -context-propagation = '1.1.2-oracle-00001' -dev-jna-jna = '5.14.0-oracle-00001' -eclipse-angus-angus-activation = '2.0.2-oracle-00001' +context-propagation = '1.1.3-oracle-00001' +dev-jna-jna = '5.17.0' +eclipse-angus-angus-activation = '2.0.0-oracle-00001' eclipse-angus-angus-mail = '2.0.3-oracle-00001' -flipkart-zjsonpatch-zjsonpatch = '0.4.14-oracle-00002' -gax = "2.59.0" -gax-grpc = "2.59.0" -gg-jte = '3.1.16-oracle-00001' -github-javaparser = '3.26.3-oracle-00001' +fn = "1.0.209-oracle-00001" +gax = "2.67.1" +gax-grpc = "2.67.1" +gg-jte = '3.2.1-oracle-00001' +github-javaparser = '3.26.4-oracle-00001' github-resilience4j = '1.7.1-oracle-00002' -github-vladimir-bukhtoyarov-bucket4j-core = '7.6.0-oracle-00001' -google-auth-library = "1.30.1" -google-cloud-logging = "0.132.0-alpha" -google-errorprone-error_prone_annotations = '2.21.0-oracle-00001' -graalvm-metadata-version = "0.3.15" -guava = "33.4.0-jre" -intellij-deps-trove4j = '1.0.20200330-oracle-00001' -io-gsonfire-gson-fire = '1.8.5-oracle-00001' -io-kubernetes = '19.0.1-oracle-00003' -io-micrometer = '1.13.6-oracle-00001' -io-opentelemetry = '1.43.0-oracle-00001' -io-opentelemetry-opentelemetry-api-events = '1.36.0-alpha-oracle-00001' -io-opentelemetry-opentelemetry-api-incubator = '1.40.0-alpha-oracle-00001' -io-projectreactor = '3.6.6-oracle-00002' -io-projectreactor-reactor-core = '3.6.10-oracle-00001' -io-projectreactor-reactor-core-micrometer = '1.1.6-oracle-00002' -io-prometheus = '0.16.0-oracle-00001' +google-auth-library = "1.37.0" +google-cloud-logging = "0.132.4-alpha" +graalvm-metadata-version = "0.3.22" +guava = "33.4.8-jre" +httpcore = "4.4.14-oracle-00001" +io-micrometer = '1.15.0-oracle-00001' +io-opentelemetry = '1.51.0-oracle-00001' +io-opentelemetry-opentelemetry-api-incubator = '1.51.0-alpha-oracle-00001' +io-projectreactor = '3.7.7-oracle-00001' +io-projectreactor-reactor-core = '3.7.7-oracle-00001' +io-projectreactor-reactor-core-micrometer = '1.2.7-oracle-00001' io-spring-gradle-dependency-management-plugin = "1.1.7" -io-swagger-swagger-annotations = '1.6.11-oracle-00001' -io-vavr = '0.10.2-oracle-00001' -jackson-core = '2.17.2-oracle-00001' -jackson-dataformat-jackson-dataformat-toml = '2.17.2-oracle-00001' -jackson-datatype = '2.17.2-oracle-00001' +io-vavr = '0.10.4-oracle-00001' +jackson-core = '2.19.1-oracle-00001' +jackson-dataformat-jackson-dataformat-toml = '2.19.1-oracle-00001' +jackson-datatype = '2.19.1-oracle-00001' jakarta-activation-jakarta-activation-api = '2.1.3-oracle-00001' jakarta-annotation-jakarta-annotation-api = '2.1.1-oracle-00001' jakarta-inject-jakarta-inject-api = '2.0.1-oracle-00001' jakarta-mail-jakarta-mail-api = '2.1.3-oracle-00001' -jakarta-persistence-jakarta-persistence-api = '3.1.0-oracle-00001' +jakarta-persistence-jakarta-persistence-api = '3.2.0-oracle-00001' jakarta-transaction-jakarta-transaction-api = '2.0.1-oracle-00001' -jakarta-validation-jakarta-validation-api = '3.1.0-oracle-00001' -javax-annotation-javax-annotation-api = '1.3.2-oracle-00001' +jakarta-validation-jakarta-validation-api = '3.1.1-oracle-00001' json-smart = "2.5.2" kotlin = "1.8.22-oracle-00001" -logback = "1.5.15-oracle-00001" +logback = "1.5.18-oracle-00001" logback-contrib = '0.1.5-oracle-00001' -micronaut-cache = "5.1.0-oracle-00001" -micronaut-core = "4.7.10-oracle-00002" -micronaut-data = "4.10.5-oracle-00001" -micronaut-discovery = "4.5.0-oracle-00001" -micronaut-email = "2.7.0-oracle-00001" -micronaut-flyway = "7.6.1-oracle-00001" -micronaut-gradle-plugin = "4.4.4" -micronaut-jaxrs = "4.7.2-oracle-00001" -micronaut-kafka = "5.7.0-oracle-00001" -micronaut-kubernetes = "6.2.1-oracle-00001" -micronaut-liquibase = "6.6.1-oracle-00001" -micronaut-maven-plugin = "4.7.1" -micronaut-maven-test-resources-plugin = "2.7.0" -micronaut-micrometer = "5.9.3-oracle-00001" -micronaut-mongo = "5.5.0-oracle-00001" -micronaut-object-storage = "2.7.0-oracle-00001" -micronaut-openapi = "6.13.2-oracle-00001" -micronaut-oracle-cloud = "4.3.8-oracle-00002" -micronaut-picocli = "5.6.0-oracle-00001" -micronaut-platform = "4.7.3-oracle-00001" -micronaut-reactor = "3.6.0-oracle-00001" -micronaut-security = "4.11.2-oracle-00001" -micronaut-serde = "2.13.0-oracle-00001" -micronaut-servlet = "4.12.0-oracle-00001" -micronaut-session = "4.5.0-oracle-00001" -micronaut-sql = "5.8.2-oracle-00001" -micronaut-tracing = "6.9.0-oracle-00001" -micronaut-validation = "4.8.0-oracle-00001" -micronaut-views = "5.6.0-oracle-00001" -micronaut-coherence = "5.0.5-oracle-00001" -netty = "4.1.118.Final-oracle-00001" +micronaut-cache = "5.3.0-oracle-00001" +micronaut-core = "4.9.7-oracle-00001" +micronaut-data = "4.13.3-oracle-00001" +micronaut-discovery = "4.7.1-oracle-00001" +micronaut-email = "2.9.0-oracle-00001" +micronaut-flyway = "7.8.0-oracle-00001" +micronaut-gradle-plugin = "4.5.4" +micronaut-jaxrs = "4.9.1-oracle-00001" +micronaut-kafka = "5.9.0-oracle-00001" +micronaut-kubernetes = "7.1.0-oracle-00001" +micronaut-liquibase = "6.8.0-oracle-00001" +micronaut-maven-plugin = "4.9.0" +micronaut-maven-test-resources-plugin = "2.9.0" +micronaut-micrometer = "5.12.0-oracle-00001" +micronaut-mongo = "5.7.0-oracle-00001" +micronaut-object-storage = "2.9.0-oracle-00001" +micronaut-openapi = "6.17.3-oracle-00001" +micronaut-oracle-cloud = "5.2.1-oracle-00001" +micronaut-picocli = "5.8.0-oracle-00001" +micronaut-platform = "4.9.1-oracle-00001" +micronaut-reactor = "3.8.0-oracle-00001" +micronaut-security = "4.13.0-oracle-00001" +micronaut-serde = "2.15.0-oracle-00001" +micronaut-servlet = "5.4.0-oracle-00001" +micronaut-session = "4.7.0-oracle-00001" +micronaut-sourcegen = "1.8.2-oracle-00001" +micronaut-sql = "6.2.1-oracle-00001" +micronaut-tracing = "7.1.2-oracle-00001" +micronaut-validation = "4.10.0-oracle-00001" +micronaut-views = "5.8.0-oracle-00001" +micronaut-coherence = "5.0.6-oracle-00001" +netty = "4.2.2.Final-oracle-00001" okhttp = "4.12.0-oracle-00001" -opentelemetry-instrumentation = '1.33.6-oracle-00001' -opentelemetry-instrumentation-opentelemetry-instrumentation-api-semconv = '1.33.5-alpha-oracle-00001' -opentelemetry-semconv = "1.30.1-alpha" -opentelemetry-semconv-opentelemetry-semconv = '1.23.1-alpha-oracle-00001' -org-checkerframework-checker-qual = '3.37.0-oracle-00002' +opentelemetry-api-incubator = "2.16.0-alpha-oracle-00001" +opentelemetry-instrumentation = '2.16.0-oracle-00001' +opentelemetry-semconv = "1.34.0-oracle-00001" +opentelemetry-semconv-opentelemetry-semconv = '1.34.0-oracle-00001' org-flywaydb = '10.22.0-oracle-00001' -org-hdrhistogram-HdrHistogram = '2.2.2-oracle-00001' -org-jetbrains-annotations = '13.0-oracle-00001' +org-hdrhistogram-HdrHistogram = '2.1.12-oracle-00001' +org-jetbrains-annotations = '23.1.0-oracle-00001' org-latencyutils-LatencyUtils = '2.0.3-oracle-00001' org-lz4-lz4-java = '1.8.0-oracle-00001' org-reactivestreams-reactive-streams = '1.0.4-oracle-00001' -org-slf4j-jcl-over-slf4j = '2.0.16-oracle-00001' -org-slf4j-slf4j-api = '2.0.16-oracle-00001' -org-springframework-boot-spring-boot-starter-parent = "3.4.0" -protobuf = "3.25.5-oracle-00001" -snakeyaml = '2.2-oracle-00002' -spring-boot-gradle-plugin = "3.4.0" -squareup-okio = '3.6.0-oracle-00001' -test-containers-oracle-xe = "1.20.4" -xerial-snappy-snappy-java = '1.1.10.5-oracle-00001' -zipkin-reporter2 = '3.4.2-oracle-00001' +org-springframework-boot-spring-boot-starter-parent = "3.5.3" +protobuf = "4.29.0-oracle-00001" +reactor-netty-http = "1.2.8" +slf4j = '2.0.17-oracle-00001' +snakeyaml = '2.4-oracle-00001' +spring-boot-gradle-plugin = "3.5.3" +squareup-okio = '3.9.1-oracle-00001' +test-containers-oracle-xe = "1.21.3" +typetools = "0.6.3-oracle-00001" +xerial-snappy-snappy-java = "1.1.10.5" #'1.1.10.7' +zipkin-reporter2 = '3.5.1-oracle-00001' zipkin-zipkin2-zipkin = '2.27.1-oracle-00001' -zstd-jni = '1.5.6-3-reduced-oracle-00001' +zstd-jni = "1.5.6-4-reduced-oracle-00001" #'1.5.7-3' [libraries] ch-qos-logback-logback-classic = { module = 'ch.qos.logback:logback-classic', version.ref = 'logback'} @@ -143,6 +127,7 @@ com-google-cloud-google-cloud-logging-logback = { module = 'com.google.cloud:goo com-google-guava-guava = { module = 'com.google.guava:guava', version.ref = 'guava'} com-google-protobuf-protobuf-java = { module = 'com.google.protobuf:protobuf-java', version.ref = 'protobuf'} com-google-protobuf-protobuf-java-util = { module = 'com.google.protobuf:protobuf-java-util', version.ref = 'protobuf'} +com-google-cloud-opentelemetry-exporter-auto = { module = 'com.google.cloud.opentelemetry:exporter-auto', version.ref = 'tracing-exporter-auto'} com-squareup-okhttp3-logging-interceptor = { module = 'com.squareup.okhttp3:logging-interceptor', version.ref = 'okhttp'} com-squareup-okhttp3-okhttp = { module = 'com.squareup.okhttp3:okhttp', version.ref = 'okhttp'} io-micronaut-cache-micronaut-cache-core = { module = 'io.micronaut.cache:micronaut-cache-core', version.ref = 'micronaut-cache'} @@ -206,6 +191,8 @@ io-micronaut-reactor-micronaut-reactor-bom = { module = 'io.micronaut.reactor:mi io-micronaut-security-micronaut-security-bom = { module = 'io.micronaut.security:micronaut-security-bom', version.ref = 'micronaut-security'} io-micronaut-serde-micronaut-serde-bom = { module = 'io.micronaut.serde:micronaut-serde-bom', version.ref = 'micronaut-serde'} io-micronaut-servlet-bom = { module = 'io.micronaut.servlet:micronaut-servlet-bom', version.ref = 'micronaut-servlet'} +io-micronaut-sourcegen-micronaut-sourcegen-bytecode-writer = { module = 'io.micronaut.sourcegen:micronaut-sourcegen-bytecode-writer', version.ref = 'micronaut-sourcegen'} +io-micronaut-sourcegen-micronaut-sourcegen-model = { module = 'io.micronaut.sourcegen:micronaut-sourcegen-model', version.ref = 'micronaut-sourcegen'} io-micronaut-sql-micronaut-jdbc = { module = 'io.micronaut.sql:micronaut-jdbc', version.ref = 'micronaut-sql'} io-micronaut-sql-micronaut-jdbc-tomcat = { module = 'io.micronaut.sql:micronaut-jdbc-tomcat', version.ref = 'micronaut-sql'} io-micronaut-sql-micronaut-sql-bom = { module = 'io.micronaut.sql:micronaut-sql-bom', version.ref = 'micronaut-sql'} @@ -214,15 +201,10 @@ io-micronaut-validation-micronaut-validation-bom = { module = 'io.micronaut.vali io-micronaut-views-micronaut-views-core = { module = 'io.micronaut.views:micronaut-views-core', version.ref = 'micronaut-views'} io-micronaut-views-micronaut-views-jte = { module = 'io.micronaut.views:micronaut-views-jte', version.ref = 'micronaut-views'} io-micronaut-coherence-micronaut-coherence-bom = { module = 'io.micronaut.coherence:micronaut-coherence-bom', version.ref = 'micronaut-coherence'} -io-opentelemetry-opentelemetry-semconv = { module = 'io.opentelemetry:opentelemetry-semconv', version.ref = 'opentelemetry-semconv'} +io-opentelemetry-semconv-opentelemetry-semconv = { module = 'io.opentelemetry.semconv:opentelemetry-semconv', version.ref = 'opentelemetry-semconv'} +io-projectreactor-netty-reactor-netty-http = { module = 'io.projectreactor.netty:reactor-netty-http', version.ref = 'reactor-netty-http'} +net-jodah-typetools = { module = 'net.jodah:typetools', version.ref = 'typetools'} net-minidev-json-smart = { module = 'net.minidev:json-smart', version.ref = 'json-smart'} -org-apache-commons-commons-compress = { module = 'org.apache.commons:commons-compress', version.ref = 'apache-commons-compress'} -org-bouncycastle-bcpkix-jdk15to18 = { module = 'org.bouncycastle:bcpkix-jdk15to18', version.ref = 'bouncycastle'} -org-bouncycastle-bcpkix-jdk18on = { module = 'org.bouncycastle:bcpkix-jdk18on', version.ref = 'bouncycastle'} -org-bouncycastle-bcprov-jdk15to18 = { module = 'org.bouncycastle:bcprov-jdk15to18', version.ref = 'bouncycastle'} -org-bouncycastle-bcprov-jdk18on = { module = 'org.bouncycastle:bcprov-jdk18on', version.ref = 'bouncycastle'} -org-bouncycastle-bcutil-jdk15to18 = { module = 'org.bouncycastle:bcutil-jdk15to18', version.ref = 'bouncycastle'} -org-bouncycastle-bcutil-jdk18on = { module = 'org.bouncycastle:bcutil-jdk18on', version.ref = 'bouncycastle'} org-jetbrains-kotlin-kotlin-annotation-processing-embeddable = { module = 'org.jetbrains.kotlin:kotlin-annotation-processing-embeddable', version.ref = 'kotlin'} org-jetbrains-kotlin-kotlin-compiler-embeddable = { module = 'org.jetbrains.kotlin:kotlin-compiler-embeddable', version.ref = 'kotlin'} org-jetbrains-kotlin-kotlin-reflect = { module = 'org.jetbrains.kotlin:kotlin-reflect', version.ref = 'kotlin'} @@ -247,27 +229,21 @@ exclude-org-testcontainers-oracle-xe = { module = 'org.testcontainers:oracle-xe' # New Added libs ch-qos-logback-contrib-logback-json-classic = { module = 'ch.qos.logback.contrib:logback-json-classic', version.ref = 'logback-contrib' } ch-qos-logback-contrib-logback-json-core = { module = 'ch.qos.logback.contrib:logback-json-core', version.ref = 'logback-contrib' } -ch-randelshofer-fastdoubleparser = { module = 'ch.randelshofer:fastdoubleparser', version.ref = 'ch-randelshofer-fastdoubleparser' } com-fasterxml-jackson-core-jackson-annotations = { module = 'com.fasterxml.jackson.core:jackson-annotations', version.ref = 'jackson-core' } com-fasterxml-jackson-core-jackson-core = { module = 'com.fasterxml.jackson.core:jackson-core', version.ref = 'jackson-core' } com-fasterxml-jackson-core-jackson-databind = { module = 'com.fasterxml.jackson.core:jackson-databind', version.ref = 'jackson-core' } com-fasterxml-jackson-dataformat-jackson-dataformat-toml = { module = 'com.fasterxml.jackson.dataformat:jackson-dataformat-toml', version.ref = 'jackson-dataformat-jackson-dataformat-toml' } com-fasterxml-jackson-datatype-jackson-datatype-jdk8 = { module = 'com.fasterxml.jackson.datatype:jackson-datatype-jdk8', version.ref = 'jackson-datatype' } com-fasterxml-jackson-datatype-jackson-datatype-jsr310 = { module = 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310', version.ref = 'jackson-datatype' } -com-flipkart-zjsonpatch-zjsonpatch = { module = 'com.flipkart.zjsonpatch:zjsonpatch', version.ref = 'flipkart-zjsonpatch-zjsonpatch' } -com-github-ben-manes-caffeine-caffeine = { module = 'com.github.ben-manes.caffeine:caffeine', version.ref = 'ben-manes-caffeine-caffeine' } +com-fnproject-fn-api = { module = 'com.fnproject.fn:api', version.ref = 'fn' } +com-fnproject-fn-runtime = { module = 'com.fnproject.fn:runtime', version.ref = 'fn' } com-github-javaparser-javaparser-core = { module = 'com.github.javaparser:javaparser-core', version.ref = 'github-javaparser' } com-github-javaparser-javaparser-symbol-solver-core = { module = 'com.github.javaparser:javaparser-symbol-solver-core', version.ref = 'github-javaparser' } com-github-luben-zstd-jni={module = 'com.github.luben:zstd-jni', version.ref = 'zstd-jni' } -com-github-vladimir-bukhtoyarov-bucket4j-core = { module = 'com.github.vladimir-bukhtoyarov:bucket4j-core', version.ref = 'github-vladimir-bukhtoyarov-bucket4j-core' } -com-google-code-findbugs-jsr305 = { module = 'com.google.code.findbugs:jsr305', version.ref = 'code-findbugs-jsr305' } -com-google-code-gson-gson = { module = 'com.google.code.gson:gson', version.ref = 'code-gson-gson' } -com-google-errorprone-error_prone_annotations = { module = 'com.google.errorprone:error_prone_annotations', version.ref = 'google-errorprone-error_prone_annotations' } com-nimbusds-nimbus-jose-jwt = { module = 'com.nimbusds:nimbus-jose-jwt', version.ref = 'com-nimbusds-nimbus-jose-jwt' } com-squareup-okio-okio = { module = 'com.squareup.okio:okio', version.ref = 'squareup-okio' } com-squareup-okio-okio-jvm = { module = 'com.squareup.okio:okio-jvm', version.ref = 'squareup-okio' } com-zaxxer-HikariCP = { module = 'com.zaxxer:HikariCP', version.ref = 'com-zaxxer-HikariCP' } -commons-codec-commons-codec = { module = 'commons-codec:commons-codec', version.ref = 'commons-codec-commons-codec' } commons-io-commons-io = { module = 'commons-io:commons-io', version.ref = 'commons-io-commons-io' } gg-jte-jte = { module = 'gg.jte:jte', version.ref = 'gg-jte' } gg-jte-jte-extension-api = { module = 'gg.jte:jte-extension-api', version.ref = 'gg-jte' } @@ -275,12 +251,6 @@ gg-jte-jte-kotlin = { module = 'gg.jte:jte-kotlin', version.ref = 'gg-jte' } gg-jte-jte-runtime = { module = 'gg.jte:jte-runtime', version.ref = 'gg-jte' } io-github-resilience4j-resilience4j-circuitbreaker = { module = 'io.github.resilience4j:resilience4j-circuitbreaker', version.ref = 'github-resilience4j' } io-github-resilience4j-resilience4j-core = { module = 'io.github.resilience4j:resilience4j-core', version.ref = 'github-resilience4j' } -io-gsonfire-gson-fire = { module = 'io.gsonfire:gson-fire', version.ref = 'io-gsonfire-gson-fire' } -io-kubernetes-client-java = { module = 'io.kubernetes:client-java', version.ref = 'io-kubernetes' } -io-kubernetes-client-java-api = { module = 'io.kubernetes:client-java-api', version.ref = 'io-kubernetes' } -io-kubernetes-client-java-api-fluent = { module = 'io.kubernetes:client-java-api-fluent', version.ref = 'io-kubernetes' } -io-kubernetes-client-java-extended = { module = 'io.kubernetes:client-java-extended', version.ref = 'io-kubernetes' } -io-kubernetes-client-java-proto = { module = 'io.kubernetes:client-java-proto', version.ref = 'io-kubernetes' } io-micrometer-context-propagation = { module = 'io.micrometer:context-propagation', version.ref = 'context-propagation' } io-micrometer-micrometer-commons = { module = 'io.micrometer:micrometer-commons', version.ref = 'io-micrometer' } io-micrometer-micrometer-core = { module = 'io.micrometer:micrometer-core', version.ref = 'io-micrometer' } @@ -288,6 +258,8 @@ io-micrometer-micrometer-observation = { module = 'io.micrometer:micrometer-obse io-netty-netty-bom = { module = "io.netty:netty-bom", version.ref = "netty" } io-netty-netty-buffer = { module = "io.netty:netty-buffer", version.ref = "netty" } io-netty-netty-codec = { module = "io.netty:netty-codec", version.ref = "netty" } +io-netty-netty-codec-base = { module = "io.netty:netty-codec-base", version.ref = "netty" } +io-netty-netty-codec-compression = { module = "io.netty:netty-codec-compression", version.ref = "netty" } io-netty-netty-codec-http = { module = "io.netty:netty-codec-http", version.ref = "netty" } io-netty-netty-codec-http2 = { module = "io.netty:netty-codec-http2", version.ref = "netty" } io-netty-netty-codec-socks = { module = "io.netty:netty-codec-socks", version.ref = "netty" } @@ -298,10 +270,10 @@ io-netty-netty-resolver = { module = "io.netty:netty-resolver", version.ref = "n io-netty-netty-transport= { module = "io.netty:netty-transport", version.ref = "netty" } io-netty-netty-transport-native-unix-common = { module = "io.netty:netty-transport-native-unix-common", version.ref = "netty" } io-opentelemetry-instrumentation-opentelemetry-instrumentation-annotations = { module = 'io.opentelemetry.instrumentation:opentelemetry-instrumentation-annotations', version.ref = 'opentelemetry-instrumentation' } +io-opentelemetry-instrumentation-opentelemetry-instrumentation-api-incubator = { module = 'io.opentelemetry.instrumentation:opentelemetry-instrumentation-api-incubator', version.ref = 'opentelemetry-api-incubator' } io-opentelemetry-instrumentation-opentelemetry-instrumentation-api = { module = 'io.opentelemetry.instrumentation:opentelemetry-instrumentation-api', version.ref = 'opentelemetry-instrumentation' } -io-opentelemetry-instrumentation-opentelemetry-instrumentation-api-semconv = { module = 'io.opentelemetry.instrumentation:opentelemetry-instrumentation-api-semconv', version.ref = 'opentelemetry-instrumentation-opentelemetry-instrumentation-api-semconv' } +# io-opentelemetry-instrumentation-opentelemetry-instrumentation-api-semconv = { module = 'io.opentelemetry.instrumentation:opentelemetry-instrumentation-api-semconv', version.ref = 'opentelemetry-instrumentation-opentelemetry-instrumentation-api-semconv' } io-opentelemetry-opentelemetry-api = { module = 'io.opentelemetry:opentelemetry-api', version.ref = 'io-opentelemetry' } -io-opentelemetry-opentelemetry-api-events = { module = 'io.opentelemetry:opentelemetry-api-events', version.ref = 'io-opentelemetry-opentelemetry-api-events' } io-opentelemetry-opentelemetry-api-incubator = { module = 'io.opentelemetry:opentelemetry-api-incubator', version.ref = 'io-opentelemetry-opentelemetry-api-incubator' } io-opentelemetry-opentelemetry-context = { module = 'io.opentelemetry:opentelemetry-context', version.ref = 'io-opentelemetry' } io-opentelemetry-opentelemetry-exporter-common = { module = 'io.opentelemetry:opentelemetry-exporter-common', version.ref = 'io-opentelemetry' } @@ -313,18 +285,11 @@ io-opentelemetry-opentelemetry-sdk-extension-autoconfigure-spi = { module = 'io. io-opentelemetry-opentelemetry-sdk-logs = { module = 'io.opentelemetry:opentelemetry-sdk-logs', version.ref = 'io-opentelemetry' } io-opentelemetry-opentelemetry-sdk-metrics = { module = 'io.opentelemetry:opentelemetry-sdk-metrics', version.ref = 'io-opentelemetry' } io-opentelemetry-opentelemetry-sdk-trace = { module = 'io.opentelemetry:opentelemetry-sdk-trace', version.ref = 'io-opentelemetry' } -io-opentelemetry-semconv-opentelemetry-semconv = { module = 'io.opentelemetry.semconv:opentelemetry-semconv', version.ref = 'opentelemetry-semconv-opentelemetry-semconv' } +# io-opentelemetry-semconv-opentelemetry-semconv = { module = 'io.opentelemetry.semconv:opentelemetry-semconv', version.ref = 'opentelemetry-semconv-opentelemetry-semconv' } io-projectreactor-reactor-core = { module = 'io.projectreactor:reactor-core', version.ref = 'io-projectreactor-reactor-core' } io-projectreactor-reactor-core-micrometer = { module = 'io.projectreactor:reactor-core-micrometer', version.ref = 'io-projectreactor-reactor-core-micrometer' } io-projectreactor-reactor-test = { module = 'io.projectreactor:reactor-test', version.ref = 'io-projectreactor' } io-projectreactor-reactor-tools = { module = 'io.projectreactor:reactor-tools', version.ref = 'io-projectreactor' } -io-prometheus-simpleclient = { module = 'io.prometheus:simpleclient', version.ref = 'io-prometheus' } -io-prometheus-simpleclient_common = { module = 'io.prometheus:simpleclient_common', version.ref = 'io-prometheus' } -io-prometheus-simpleclient_httpserver = { module = 'io.prometheus:simpleclient_httpserver', version.ref = 'io-prometheus' } -io-prometheus-simpleclient_tracer_common = { module = 'io.prometheus:simpleclient_tracer_common', version.ref = 'io-prometheus' } -io-prometheus-simpleclient_tracer_otel = { module = 'io.prometheus:simpleclient_tracer_otel', version.ref = 'io-prometheus' } -io-prometheus-simpleclient_tracer_otel_agent = { module = 'io.prometheus:simpleclient_tracer_otel_agent', version.ref = 'io-prometheus' } -io-swagger-swagger-annotations = { module = 'io.swagger:swagger-annotations', version.ref = 'io-swagger-swagger-annotations' } io-vavr-vavr = { module = 'io.vavr:vavr', version.ref = 'io-vavr' } io-vavr-vavr-match = { module = 'io.vavr:vavr-match', version.ref = 'io-vavr' } io-zipkin-reporter2-zipkin-reporter = { module = 'io.zipkin.reporter2:zipkin-reporter', version.ref = 'zipkin-reporter2' } @@ -337,30 +302,26 @@ jakarta-mail-jakarta-mail-api = { module = 'jakarta.mail:jakarta.mail-api', vers jakarta-persistence-jakarta-persistence-api = { module = 'jakarta.persistence:jakarta.persistence-api', version.ref = 'jakarta-persistence-jakarta-persistence-api' } jakarta-transaction-jakarta-transaction-api = { module = 'jakarta.transaction:jakarta.transaction-api', version.ref = 'jakarta-transaction-jakarta-transaction-api' } jakarta-validation-jakarta-validation-api = { module = 'jakarta.validation:jakarta.validation-api', version.ref = 'jakarta-validation-jakarta-validation-api' } -javax-annotation-javax-annotation-api = { module = 'javax.annotation:javax.annotation-api', version.ref = 'javax-annotation-javax-annotation-api' } - net-java-dev-jna-jna = { module = 'net.java.dev.jna:jna', version.ref = 'dev-jna-jna' } -org-apache-commons-commons-collections4 = { module = 'org.apache.commons:commons-collections4', version.ref = 'apache-commons-commons-collections4' } -org-apache-commons-commons-lang3 = { module = 'org.apache.commons:commons-lang3', version.ref = 'apache-commons-commons-lang3' } org-apache-kafka-kafka-clients = { module = 'org.apache.kafka:kafka-clients', version.ref = 'apache-kafka-kafka-clients' } -org-bitbucket-b_c-jose4j = { module = 'org.bitbucket.b_c:jose4j', version.ref = 'bitbucket-b_c-jose4j' } -org-checkerframework-checker-qual = { module = 'org.checkerframework:checker-qual', version.ref = 'org-checkerframework-checker-qual' } +org-apache-httpcomponents-httpcomponents-core = { module = 'org.apache.httpcomponents:httpcore', version.ref = 'httpcore' } org-eclipse-angus-angus-activation = { module = 'org.eclipse.angus:angus-activation', version.ref = 'eclipse-angus-angus-activation' } org-eclipse-angus-angus-mail = { module = 'org.eclipse.angus:angus-mail', version.ref = 'eclipse-angus-angus-mail' } - org-flywaydb-flyway-core = { module = 'org.flywaydb:flyway-core', version.ref = 'org-flywaydb' } org-flywaydb-flyway-database-oracle = { module = 'org.flywaydb:flyway-database-oracle', version.ref = 'org-flywaydb' } org-flywaydb-flyway-mysql = { module = 'org.flywaydb:flyway-mysql', version.ref = 'org-flywaydb' } org-hdrhistogram-HdrHistogram = { module = 'org.hdrhistogram:HdrHistogram', version.ref = 'org-hdrhistogram-HdrHistogram' } org-jetbrains-annotations = { module = 'org.jetbrains:annotations', version.ref = 'org-jetbrains-annotations' } -org-jetbrains-intellij-deps-trove4j = { module = 'org.jetbrains.intellij.deps:trove4j', version.ref = 'intellij-deps-trove4j' } org-latencyutils-LatencyUtils = { module = 'org.latencyutils:LatencyUtils', version.ref = 'org-latencyutils-LatencyUtils' } org-lz4-lz4-java = { module = 'org.lz4:lz4-java', version.ref = 'org-lz4-lz4-java' } org-ow2-asm-asm = { module = 'org.ow2.asm:asm', version.ref = 'asm' } +org-ow2-asm-asm-analysis = { module = 'org.ow2.asm:asm-analysis', version.ref = 'asm' } org-ow2-asm-asm-commons = { module = 'org.ow2.asm:asm-commons', version.ref = 'asm' } org-ow2-asm-asm-tree = { module = 'org.ow2.asm:asm-tree', version.ref = 'asm' } +org-ow2-asm-asm-util = { module = 'org.ow2.asm:asm-util', version.ref = 'asm' } org-reactivestreams-reactive-streams = { module = 'org.reactivestreams:reactive-streams', version.ref = 'org-reactivestreams-reactive-streams' } -org-slf4j-jcl-over-slf4j = { module = 'org.slf4j:jcl-over-slf4j', version.ref = 'org-slf4j-jcl-over-slf4j' } -org-slf4j-slf4j-api = { module = 'org.slf4j:slf4j-api', version.ref = 'org-slf4j-slf4j-api' } +org-slf4j-jcl-over-slf4j = { module = 'org.slf4j:jcl-over-slf4j', version.ref = 'slf4j' } +org-slf4j-slf4j-api = { module = 'org.slf4j:slf4j-api', version.ref = 'slf4j' } +org-slf4j-slf4j-simple = { module = 'org.slf4j:slf4j-simple', version.ref = 'slf4j' } org-xerial-snappy-snappy-java = { module = 'org.xerial.snappy:snappy-java', version.ref = 'xerial-snappy-snappy-java' } org-yaml-snakeyaml = { module = 'org.yaml:snakeyaml', version.ref = 'snakeyaml' } \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index e644113..a4b76b9 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index a441313..e18bc25 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.8-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.12.1-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew b/gradlew index 1aa94a4..f3b75f3 100755 --- a/gradlew +++ b/gradlew @@ -15,6 +15,8 @@ # See the License for the specific language governing permissions and # limitations under the License. # +# SPDX-License-Identifier: Apache-2.0 +# ############################################################################## # @@ -55,7 +57,7 @@ # Darwin, MinGW, and NonStop. # # (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt # within the Gradle project. # # You can find Gradle at https://github.com/gradle/gradle/. @@ -84,7 +86,7 @@ done # shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} # Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) -APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit +APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum diff --git a/gradlew.bat b/gradlew.bat index 7101f8e..9b42019 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -13,6 +13,8 @@ @rem See the License for the specific language governing permissions and @rem limitations under the License. @rem +@rem SPDX-License-Identifier: Apache-2.0 +@rem @if "%DEBUG%"=="" @echo off @rem ##########################################################################