From fb36435a88b49d2e6ef0b3b62a2573eeb1c4a57b Mon Sep 17 00:00:00 2001 From: Jonathan Cornaz Date: Mon, 8 Feb 2021 22:06:15 +0100 Subject: [PATCH 1/3] Remove Bintray --- build.gradle.kts | 38 --------------------------------- generator/test/build.gradle.kts | 6 ------ settings.gradle.kts | 1 + 3 files changed, 1 insertion(+), 44 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 6c9715b8..f168e50f 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,10 +1,7 @@ @file:Suppress("UNUSED_VARIABLE") -import com.jfrog.bintray.gradle.BintrayExtension -import com.jfrog.bintray.gradle.BintrayPlugin import kr.motd.gradle.sphinx.gradle.SphinxTask import org.codehaus.plexus.util.Os -import java.util.Date plugins { `maven-publish` @@ -44,7 +41,6 @@ kotlin { jvm() } subprojects { apply(plugin = "org.jetbrains.kotlin.multiplatform") - apply() apply() apply() apply() @@ -116,40 +112,6 @@ subprojects { } } - configure { - user = System.getenv("BINTRAY_USER") - key = System.getenv("BINTRAY_KEY") - publish = true - - with(pkg) { - userOrg = "kwik" - name = "kwik" - repo = when { - '-' in project.version.toString() -> "preview" - else -> "stable" - } - - setLicenses("Apache-2.0") - - vcsUrl = "https://github.com/jcornaz/kwik" - githubRepo = "jcornaz/kwik" - - with(version) { - name = project.version.toString() - released = Date().toString() - if ('+' !in project.version.toString()) { - vcsTag = project.version.toString() - } - } - } - - if (Os.isFamily(Os.FAMILY_WINDOWS)) { - setPublications("windows") - } else { - setPublications("metadata", "jvm", "linux") - } - } - tasks { val jvmTest by existing { finalizedBy("jacocoTestReport") diff --git a/generator/test/build.gradle.kts b/generator/test/build.gradle.kts index 4ad7a1d1..13120e57 100644 --- a/generator/test/build.gradle.kts +++ b/generator/test/build.gradle.kts @@ -16,9 +16,3 @@ kotlin { } } } - -tasks { - val bintrayUpload by existing { - enabled = false - } -} diff --git a/settings.gradle.kts b/settings.gradle.kts index 99b63885..31be1c42 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -3,6 +3,7 @@ rootProject.name = "kwik" pluginManagement { repositories { gradlePluginPortal() + mavenCentral() jcenter() } } From 0e5036f11a89b6a528b8342039d1ba1f3542302b Mon Sep 17 00:00:00 2001 From: Jonathan Cornaz Date: Mon, 8 Feb 2021 22:13:31 +0100 Subject: [PATCH 2/3] Write pom metadata --- build.gradle.kts | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/build.gradle.kts b/build.gradle.kts index f168e50f..957d0a5f 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -2,6 +2,7 @@ import kr.motd.gradle.sphinx.gradle.SphinxTask import org.codehaus.plexus.util.Os +import org.gradle.api.publish.maven.MavenPublication plugins { `maven-publish` @@ -90,22 +91,51 @@ subprojects { publishing { publications.withType().apply { + fun MavenPublication.config() { + pom { + name.set("Kwik") + description.set("Property-based testing library for Kotlin") + url.set("https://github.com/jcornaz/kwik") + licenses { + license { + name.set("The Apache License, Version 2.0") + url.set("http://www.apache.org/licenses/LICENSE-2.0.txt") + } + } + developers { + developer { + id.set("jcornaz") + name.set("Jonathan Cornaz") + email.set("jonathan.cornaz@gmail.com") + } + } + scm { + connection.set("scm:git:git@github.com:jcornaz/kwik.git") + url.set("https://github.com/jcornaz/kwik") + } + } + } + val metadata by getting { + config() artifactId = "kwik-${project.name}-common" } val jvm by getting { + config() artifactId = "kwik-${project.name}-jvm" } if (Os.isFamily(Os.FAMILY_UNIX)) { val linux by getting { + config() artifactId = "kwik-${project.name}-linux" } } if (Os.isFamily(Os.FAMILY_WINDOWS)) { val windows by getting { + config() artifactId = "kwik-${project.name}-windows" } } From 98145d4770d59f4c7381ac98f0662118bbb66073 Mon Sep 17 00:00:00 2001 From: Jonathan Cornaz Date: Mon, 8 Feb 2021 23:09:25 +0100 Subject: [PATCH 3/3] Add signing and nexus staging --- build.gradle.kts | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index 957d0a5f..3d75998f 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -6,11 +6,13 @@ import org.gradle.api.publish.maven.MavenPublication plugins { `maven-publish` + signing id("org.jetbrains.kotlin.multiplatform") version "1.4.30" id("com.github.ben-manes.versions") version "0.36.0" id("io.gitlab.arturbosch.detekt") version "1.15.0" id("com.jfrog.bintray") version "1.8.5" apply false id("kr.motd.sphinx") version "2.9.0" + id("io.codearte.nexus-staging") version "0.22.0" } detekt { @@ -29,7 +31,6 @@ detekt { allprojects { group = "com.github.jcornaz.kwik" - // version = currentVersion repositories { mavenCentral() @@ -37,6 +38,15 @@ allprojects { } } +val ossrhUser get() = System.getenv("SONATYPE_USER_NAME") +val ossrhPassword get() = System.getenv("SONATYPE_PASSWORD") + +nexusStaging { + username = ossrhUser + password = ossrhPassword + packageGroup = "com.github.jcornaz" +} + // Hack so that we can configure all subprojects from this file kotlin { jvm() } @@ -45,6 +55,11 @@ subprojects { apply() apply() apply() + apply() + + configure { + sign(configurations.archives.get()) + } kotlin { jvm { @@ -90,6 +105,15 @@ subprojects { } publishing { + repositories { + maven { + url = uri("https://oss.sonatype.org/service/local/staging/deploy/maven2/") + credentials { + username = ossrhUser + password = ossrhUser + } + } + } publications.withType().apply { fun MavenPublication.config() { pom {