From 5349cdc3cc4f71b6409c415a6bd67e24cb6728bc Mon Sep 17 00:00:00 2001 From: Todd Anderson Date: Tue, 23 Apr 2024 15:31:08 -0500 Subject: [PATCH 1/2] ci: updating gradle publishing --- lib/java-server-sdk-otel/build.gradle | 55 ++++++++++++++++++++++ lib/java-server-sdk-otel/gradle.properties | 4 ++ lib/java-server-sdk-otel/settings.gradle | 2 +- 3 files changed, 60 insertions(+), 1 deletion(-) diff --git a/lib/java-server-sdk-otel/build.gradle b/lib/java-server-sdk-otel/build.gradle index 3d46162..65d8a42 100644 --- a/lib/java-server-sdk-otel/build.gradle +++ b/lib/java-server-sdk-otel/build.gradle @@ -9,6 +9,9 @@ plugins { // Apply the java-library plugin for API and implementation separation. id 'java-library' + id "maven-publish" + id "signing" + id "io.github.gradle-nexus.publish-plugin" version "1.3.0" } repositories { @@ -19,6 +22,14 @@ repositories { } } +allprojects { + group = 'com.launchdarkly' + version = "${version}" + archivesBaseName = 'launchdarkly-java-server-sdk-otel' + sourceCompatibility = 1.8 + targetCompatibility = 1.8 +} + dependencies { // Use JUnit test framework. testImplementation 'junit:junit:4.13.2' @@ -28,3 +39,47 @@ dependencies { implementation "com.launchdarkly:launchdarkly-java-server-sdk:7.4.0-SNAPSHOT" implementation "io.opentelemetry:opentelemetry-api:1.2.0" } + +publishing { + publications { + mavenJava(MavenPublication) { + from(components["java"]) + + pom { + name.set("LaunchDarkly Java Server Otel Integration") + url.set("https://github.com/launchdarkly/java-core") + licenses { + license { + name.set("The Apache License, Version 2.0") + url.set("http://www.apache.org/licenses/LICENSE-2.0.txt") + } + } + developers { + developer { + name.set("LaunchDarkly SDK Team") + email.set("sdks@launchdarkly.com") + } + } + scm { + connection.set("scm:git:git://github.com/launchdarkly/java-core.git") + developerConnection.set("scm:git:ssh:git@github.com:launchdarkly/java-core.git") + url.set("https://github.com/launchdarkly/java-core") + } + } + } + } +} + +nexusPublishing { + clientTimeout = java.time.Duration.ofMinutes(2) // we've seen extremely long delays in creating repositories + repositories { + sonatype { + username = ossrhUsername + password = ossrhPassword + } + } +} + +signing { + sign(publishing.publications["mavenJava"]) +} \ No newline at end of file diff --git a/lib/java-server-sdk-otel/gradle.properties b/lib/java-server-sdk-otel/gradle.properties index de55ab6..b04de70 100644 --- a/lib/java-server-sdk-otel/gradle.properties +++ b/lib/java-server-sdk-otel/gradle.properties @@ -1 +1,5 @@ version=0.1.0 +# The following empty ossrh properties are used by LaunchDarkly's internal integration testing framework +# and should not be needed for typical development purposes (including by third-party developers). +ossrhUsername= +ossrhPassword= \ No newline at end of file diff --git a/lib/java-server-sdk-otel/settings.gradle b/lib/java-server-sdk-otel/settings.gradle index 95f9ba0..bb2dfd8 100644 --- a/lib/java-server-sdk-otel/settings.gradle +++ b/lib/java-server-sdk-otel/settings.gradle @@ -7,5 +7,5 @@ * in the user manual at https://docs.gradle.org/8.0.2/userguide/multi_project_builds.html */ -rootProject.name = 'java-server-sdk-otel' +rootProject.name = 'launchdarkly-java-server-sdk-otel' include('lib') From 45a5cb570b5f714234b4dd1e352760f0cd5fe415 Mon Sep 17 00:00:00 2001 From: Todd Anderson Date: Tue, 23 Apr 2024 15:32:11 -0500 Subject: [PATCH 2/2] adding missing file newlines --- lib/java-server-sdk-otel/build.gradle | 2 +- lib/java-server-sdk-otel/gradle.properties | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/java-server-sdk-otel/build.gradle b/lib/java-server-sdk-otel/build.gradle index 65d8a42..f329baa 100644 --- a/lib/java-server-sdk-otel/build.gradle +++ b/lib/java-server-sdk-otel/build.gradle @@ -82,4 +82,4 @@ nexusPublishing { signing { sign(publishing.publications["mavenJava"]) -} \ No newline at end of file +} diff --git a/lib/java-server-sdk-otel/gradle.properties b/lib/java-server-sdk-otel/gradle.properties index b04de70..2068675 100644 --- a/lib/java-server-sdk-otel/gradle.properties +++ b/lib/java-server-sdk-otel/gradle.properties @@ -2,4 +2,4 @@ version=0.1.0 # The following empty ossrh properties are used by LaunchDarkly's internal integration testing framework # and should not be needed for typical development purposes (including by third-party developers). ossrhUsername= -ossrhPassword= \ No newline at end of file +ossrhPassword=