diff --git a/.ci/configure_signing.sh b/.ci/configure_signing.sh index aaeb3c93a..e67e99af5 100755 --- a/.ci/configure_signing.sh +++ b/.ci/configure_signing.sh @@ -46,7 +46,6 @@ signing.keyId=${signing_key: -8} signing.password=${signing_password} signing.secretKeyRingFile=${keyring_file} -ossrhUsername=${maven_username} -ossrhPassword=${maven_password} +sonatypeUsername=${maven_username} +sonatypePassword=${maven_password} EOF - diff --git a/.ci/make.sh b/.ci/make.sh index 43e5b69cd..8f1cebfe2 100755 --- a/.ci/make.sh +++ b/.ci/make.sh @@ -193,10 +193,10 @@ if [[ "$CMD" == "release" ]]; then if [[ "$DRY_RUN" = "true" ]]; then echo "Dry run: building and publishing to the local repository" - gradle_task="java-client:publishAllPublicationsToBuildRepository" + gradle_task="publishAllPublicationsToDryRunRepository" else echo "Releasing to Maven snapshot repo" - gradle_task="java-client:publishAllPublicationsToMavenCentralRepository" + gradle_task="publishToSonatype closeAndReleaseStagingRepositories" fi docker run --rm --env VERSION=$VERSION -u "$(id -u)" \ $git_mount $src_mount $output_mount \ diff --git a/build.gradle.kts b/build.gradle.kts index 3f9418659..306b8eaed 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -16,6 +16,27 @@ * specific language governing permissions and limitations * under the License. */ +plugins { + id("io.github.gradle-nexus.publish-plugin") version "2.0.0" +} + +nexusPublishing { + repositories { + sonatype() + } +} + +repositories { + mavenCentral() +} + +group = "co.elastic.clients" +description = "Maven central release of the official elasticsearch java client" + +subprojects { + group = rootProject.group + version = rootProject.version +} allprojects { group = "co.elastic.clients" diff --git a/java-client/build.gradle.kts b/java-client/build.gradle.kts index 5ddf32d38..e8163fd5d 100644 --- a/java-client/build.gradle.kts +++ b/java-client/build.gradle.kts @@ -25,8 +25,9 @@ import java.io.FileWriter plugins { java `java-library` - checkstyle `maven-publish` + publishing + checkstyle signing id("com.github.jk1.dependency-license-report") version "2.2" id("de.thetaphi.forbiddenapis") version "3.4" @@ -129,21 +130,6 @@ publishing { name = "Build" url = uri("${rootProject.buildDir}/repository") } - - maven { - name = "MavenCentral" - url = uri("https://oss.sonatype.org/service/local/staging/deploy/maven2/") - credentials { - run { - if (gradle.startParameter.taskNames.find { it.contains("ToMavenCentralRepository") } != null) { - if (!providers.gradleProperty("ossrhUsername").isPresent) logger.error("ossrhUsername not set") - if (!providers.gradleProperty("ossrhPassword").isPresent) logger.error("ossrhPassword not set") - } - } - username = providers.gradleProperty("ossrhUsername").orNull - password = providers.gradleProperty("ossrhPassword").orNull - } - } } publications { diff --git a/settings.gradle.kts b/settings.gradle.kts index 1f0d5a7e7..8e5d8b347 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -21,18 +21,4 @@ import java.nio.file.Paths rootProject.name = "elasticsearch-java" -// Include as subprojects all subdirectories that have a "build.gradle.kts" and no ".gradle-standalone" -fun listFiles(dir: File){ - (dir.listFiles() ?: arrayOf()). - filter { File(it, "build.gradle.kts").exists() }. - filter { !File(it, ".gradle-standalone").exists() }. - filter { it.name != "buildSrc" }. - toTypedArray(). - forEach { dir -> - include(dir.name) - project(":" + dir.name).projectDir = dir - } -} - -listFiles(rootProject.projectDir) -listFiles(Paths.get(rootProject.projectDir.path,"examples").toFile()) +include("java-client")