From d88c909b309b96bb32588d544705eade1cb69c3d Mon Sep 17 00:00:00 2001 From: OHMAE Ryosuke Date: Sun, 7 Feb 2021 13:09:07 +0900 Subject: [PATCH] =?UTF-8?q?=F0=9F=92=9AMigrate=20from=20bintray=20to=20mav?= =?UTF-8?q?en=20central?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 24 ++++++++--- build.gradle.kts | 1 - buildSrc/build.gradle.kts | 1 - buildSrc/src/main/java/build/Bintray.kt | 42 ------------------- .../src/main/java/build/ProjectProperties.kt | 8 +++- buildSrc/src/main/java/build/Publishing.kt | 33 ++++++++++++++- lib/build.gradle.kts | 18 +++++++- 7 files changed, 72 insertions(+), 55 deletions(-) delete mode 100644 buildSrc/src/main/java/build/Bintray.kt diff --git a/README.md b/README.md index ad54a3b..2f18c00 100644 --- a/README.md +++ b/README.md @@ -4,8 +4,7 @@ [![GitHub release](https://img.shields.io/github/release/ohmae/color-chooser.svg)](https://github.com/ohmae/color-chooser/releases) [![GitHub issues](https://img.shields.io/github/issues/ohmae/color-chooser.svg)](https://github.com/ohmae/color-chooser/issues) [![GitHub closed issues](https://img.shields.io/github/issues-closed/ohmae/color-chooser.svg)](https://github.com/ohmae/color-chooser/issues?q=is%3Aissue+is%3Aclosed) -[![Maven Repository](https://img.shields.io/badge/maven-jcenter-brightgreen.svg)](https://bintray.com/ohmae/maven/net.mm2d.color-chooser) -[![Maven metadata URI](https://img.shields.io/maven-metadata/v/https/jcenter.bintray.com/net/mm2d/color-chooser/maven-metadata.xml.svg)](https://bintray.com/ohmae/maven/net.mm2d.color-chooser) +![Maven Central](https://img.shields.io/maven-central/v/net.mm2d.preference/color-chooser) ## ScreenShots @@ -16,11 +15,11 @@ ## How to use -*jCenter will close in May. I am currently considering migrating to another hosting service. Please wait.* +jCenter will close in May. In 0.2.4 moved to mavenCentral from jcenter. +Please note that the **groupID has changed** -Download from jCenter. Add dependencies, such as the following. - -latest version: [![Maven metadata URI](https://img.shields.io/maven-metadata/v/https/jcenter.bintray.com/net/mm2d/color-chooser/maven-metadata.xml.svg)](https://bintray.com/ohmae/maven/net.mm2d.color-chooser) +Download from mavenCentral. +latest version: ![Maven Central](https://img.shields.io/maven-central/v/net.mm2d.preference/color-chooser) ```gradle repositories { @@ -31,6 +30,19 @@ dependencies { } ``` +Versions below 0.2.4 were distributed with jCenter. +However, jCenter will close and old versions are not migrated to mavenCentral. +If you need an older version, please use the Github Pages repository. + +```gradle +repositories { + maven { url = URI("https://ohmae.github.com/maven") } +} +dependencies { + implementation 'net.mm2d:color-chooser:' +} +``` + To show dialog. On `FragmentActivity` or `Fragment` ```kotlin diff --git a/build.gradle.kts b/build.gradle.kts index fde1cb9..48a6fd7 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -9,7 +9,6 @@ buildscript { classpath("org.jetbrains.dokka:dokka-gradle-plugin:1.4.20") classpath("androidx.navigation:navigation-safe-args-gradle-plugin:2.3.3") - classpath("com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.5") classpath("com.github.ben-manes:gradle-versions-plugin:0.36.0") } } diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index 885d7de..744dee5 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -11,6 +11,5 @@ repositories { dependencies { implementation(kotlin("stdlib")) implementation("com.android.tools.build:gradle:4.1.2") - implementation("com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.5") implementation("com.github.ben-manes:gradle-versions-plugin:0.36.0") } diff --git a/buildSrc/src/main/java/build/Bintray.kt b/buildSrc/src/main/java/build/Bintray.kt deleted file mode 100644 index 095d63b..0000000 --- a/buildSrc/src/main/java/build/Bintray.kt +++ /dev/null @@ -1,42 +0,0 @@ -package build - -import com.jfrog.bintray.gradle.BintrayExtension -import org.gradle.api.Project -import org.gradle.api.internal.HasConvention -import org.gradle.api.plugins.BasePluginConvention -import org.gradle.api.plugins.ExtensionAware -import org.gradle.kotlin.dsl.closureOf -import org.gradle.kotlin.dsl.getPluginByName - -private fun Project.bintray(configure: BintrayExtension.() -> Unit): Unit = - (this as ExtensionAware).extensions.configure("bintray", configure) - -private val Project.base: BasePluginConvention - get() = ((this as? Project)?.convention ?: (this as HasConvention).convention).getPluginByName("base") - -fun Project.bintraySettings() { - bintray { - user = project.findProperty("bintray_user") as? String ?: "" - key = project.findProperty("bintray_key") as? String ?: "" - setPublications("bintray") - - dryRun = true - - pkg(closureOf { - repo = "maven" - name = ProjectProperties.groupId + "." + base.archivesBaseName - setLicenses("MIT") - websiteUrl = ProjectProperties.Url.site - vcsUrl = ProjectProperties.Url.github + ".git" - issueTrackerUrl = ProjectProperties.Url.github + "/issues" - publicDownloadNumbers = true - version = VersionConfig().apply { - name = ProjectProperties.versionName - } - }) - } - - tasks.named("bintrayUpload") { - dependsOn("assemble") - } -} diff --git a/buildSrc/src/main/java/build/ProjectProperties.kt b/buildSrc/src/main/java/build/ProjectProperties.kt index 8a79629..a8e03ce 100644 --- a/buildSrc/src/main/java/build/ProjectProperties.kt +++ b/buildSrc/src/main/java/build/ProjectProperties.kt @@ -1,11 +1,15 @@ package build object ProjectProperties { - const val groupId: String = "net.mm2d" + const val groupId: String = "net.mm2d.color-chooser" + const val name: String = "color chooser" + const val description: String = "Color chooser dialog library for android" + const val developerId: String = "ryo" + const val developerName: String = "ryosuke" private const val versionMajor: Int = 0 private const val versionMinor: Int = 2 - private const val versionPatch: Int = 3 + private const val versionPatch: Int = 4 const val versionName: String = "$versionMajor.$versionMinor.$versionPatch" const val versionCode: Int = versionMajor * 10000 + versionMinor * 100 + versionPatch diff --git a/buildSrc/src/main/java/build/Publishing.kt b/buildSrc/src/main/java/build/Publishing.kt index d1fc8d0..a8f68ff 100644 --- a/buildSrc/src/main/java/build/Publishing.kt +++ b/buildSrc/src/main/java/build/Publishing.kt @@ -14,6 +14,8 @@ import org.gradle.kotlin.dsl.create import org.gradle.kotlin.dsl.get import org.gradle.kotlin.dsl.getPluginByName import org.gradle.kotlin.dsl.named +import org.gradle.plugins.signing.SigningExtension +import java.net.URI private fun Project.publishing(configure: PublishingExtension.() -> Unit): Unit = (this as ExtensionAware).extensions.configure("publishing", configure) @@ -28,22 +30,36 @@ private val NamedDomainObjectContainer.api: NamedDomainObjectProv private val NamedDomainObjectContainer.implementation: NamedDomainObjectProvider get() = named("implementation") +fun Project.signing(configure: SigningExtension.() -> Unit): Unit = + (this as ExtensionAware).extensions.configure("signing", configure) + +val Project.publishing: PublishingExtension + get() = (this as ExtensionAware).extensions.getByName("publishing") as PublishingExtension + fun Project.publishingSettings() { publishing { publications { - create("bintray") { + create("mavenJava") { artifact("$buildDir/outputs/aar/${base.archivesBaseName}-release.aar") artifact(tasks["sourcesJar"]) + artifact(tasks["javadocJar"]) groupId = ProjectProperties.groupId artifactId = base.archivesBaseName version = ProjectProperties.versionName pom.withXml { val node = asNode() + node.appendNode("name", ProjectProperties.name) + node.appendNode("description", ProjectProperties.description) + node.appendNode("url", ProjectProperties.Url.site) node.appendNode("licenses").appendNode("license").apply { appendNode("name", "The MIT License") appendNode("url", "https://opensource.org/licenses/MIT") appendNode("distribution", "repo") } + node.appendNode("developers").appendNode("developer").apply { + appendNode("id", ProjectProperties.developerId) + appendNode("name", ProjectProperties.developerName) + } node.appendNode("scm").apply { appendNode("connection", ProjectProperties.Url.scm) appendNode("developerConnection", ProjectProperties.Url.scm) @@ -71,6 +87,21 @@ fun Project.publishingSettings() { } } } + repositories { + maven { + url = URI("https://oss.sonatype.org/service/local/staging/deploy/maven2") + credentials { + username = project.findProperty("sonatype_username") as? String ?: "" + password = project.findProperty("sonatype_password") as? String ?: "" + } + } + } + signing { + sign(publishing.publications["mavenJava"]) + } + } + tasks.named("publish") { + dependsOn("assemble") } } diff --git a/lib/build.gradle.kts b/lib/build.gradle.kts index f2e51d9..d810bc7 100644 --- a/lib/build.gradle.kts +++ b/lib/build.gradle.kts @@ -6,8 +6,8 @@ plugins { id("kotlin-android") maven `maven-publish` + signing id("org.jetbrains.dokka") - id("com.jfrog.bintray") id("com.github.ben-manes.versions") } @@ -60,6 +60,21 @@ tasks.named("dokkaHtml") { } } +tasks.named("dokkaJavadoc") { + outputDirectory.set(File(buildDir, "docs/javadoc")) + dokkaSourceSets { + configureEach { + moduleName.set("color-chooser") + } + } +} + +tasks.create("javadocJar", Jar::class) { + dependsOn("dokkaJavadoc") + archiveClassifier.set("javadoc") + from(File(buildDir, "docs/javadoc")) +} + tasks.create("sourcesJar", Jar::class) { archiveClassifier.set("sources") from(android.sourceSets["main"].java.srcDirs) @@ -71,5 +86,4 @@ artifacts { uploadArchivesSettings() publishingSettings() -bintraySettings() dependencyUpdatesSettings()