From a533c49532447a0d8414cf0373be14fda8b4c05c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hasan=20Demirta=C5=9F?= Date: Sun, 9 Jun 2024 13:21:13 +0300 Subject: [PATCH] 0.1.1 (#7) * remove buildsrc. * 0.1.1 * Update build.yml --- .github/workflows/build.yml | 2 +- .github/workflows/changelog.yml | 16 ++++++ .github/workflows/release.yml | 40 -------------- .github/workflows/snapshot.yml | 46 ---------------- README.md | 3 +- build.gradle.kts | 49 +++++++++++++++-- buildSrc/build.gradle.kts | 9 ---- buildSrc/settings.gradle.kts | 9 ---- ...infumia.pubsub.build.publishing.gradle.kts | 53 ------------------- common/build.gradle.kts | 4 -- gradle.properties | 2 +- gradle/libs.versions.toml | 2 +- kotlin/extensions/build.gradle.kts | 6 --- kotlin/protobuf/build.gradle.kts | 7 --- redis/build.gradle.kts | 4 -- 15 files changed, 64 insertions(+), 188 deletions(-) create mode 100644 .github/workflows/changelog.yml delete mode 100644 .github/workflows/release.yml delete mode 100644 .github/workflows/snapshot.yml delete mode 100644 buildSrc/build.gradle.kts delete mode 100644 buildSrc/settings.gradle.kts delete mode 100644 buildSrc/src/main/kotlin/net.infumia.pubsub.build.publishing.gradle.kts diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 82f63b4..a3881a9 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -14,7 +14,7 @@ jobs: - uses: actions/setup-java@v4 with: distribution: 'adopt' - java-version: '8' + java-version: '11' - uses: actions/cache@v4 with: diff --git a/.github/workflows/changelog.yml b/.github/workflows/changelog.yml new file mode 100644 index 0000000..fef8afa --- /dev/null +++ b/.github/workflows/changelog.yml @@ -0,0 +1,16 @@ +name: Update Changelog + +on: + push: + branches: [ master ] + +jobs: + changelog: + name: Update Changelog + runs-on: ubuntu-latest + if: ${{ !contains(github.event.head_commit.message, 'skip-snapshot') }} + steps: + - uses: release-drafter/release-drafter@master + id: release + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml deleted file mode 100644 index b8bfe68..0000000 --- a/.github/workflows/release.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: Release -on: - release: - types: - - released -jobs: - build: - name: Release - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - - uses: actions/setup-java@v4 - with: - distribution: 'adopt' - java-version: '8' - - - uses: actions/cache@v4 - with: - path: ~/.gradle/caches - key: ${{ runner.os }}-gradle-cache-${{ hashFiles('**/*.gradle.kts') }} - restore-keys: | - ${{ runner.os }}-gradle- - - - uses: actions/cache@v4 - with: - path: ~/.gradle/wrapper - key: ${{ runner.os }}-gradle-wrapper-${{ hashFiles('**/gradle-wrapper.properties') }} - restore-keys: | - ${{ runner.os }}-gradlew- - - - uses: crazy-max/ghaction-import-gpg@v6.1.0 - with: - gpg_private_key: "${{ secrets.GPG_PRIVATE_KEY }}" - passphrase: "${{ secrets.GPG_PASSPHRASE }}" - - - run: | - [[ "${{ github.event.release.tag_name }}" =~ ^[0-9]+(\.[0-9]+)*$ ]] || exit -1 - chmod +x gradlew - ./gradlew -Psign-required=true publishToSonatype closeAndReleaseSonatypeStagingRepository -Pversion="${{ github.event.release.tag_name }}" -Psigning.gnupg.keyName="${{ secrets.GPG_SECRET_KEY_ID }}" -Psigning.gnupg.passphrase="${{ secrets.GPG_PASSPHRASE }}" -PsonatypeUsername="${{ secrets.SONATYPE_USERNAME }}" -PsonatypePassword="${{ secrets.SONATYPE_PASSWORD }}" diff --git a/.github/workflows/snapshot.yml b/.github/workflows/snapshot.yml deleted file mode 100644 index 885a2f7..0000000 --- a/.github/workflows/snapshot.yml +++ /dev/null @@ -1,46 +0,0 @@ -name: Update Snapshot -on: - push: - branches: - - master -jobs: - snapshot: - name: Update Snapshot - runs-on: ubuntu-latest - if: "${{ !contains(github.event.head_commit.message, 'skip-snapshot') }}" - steps: - - uses: actions/checkout@v4 - - - uses: actions/setup-java@v4 - with: - distribution: 'adopt' - java-version: '8' - - - uses: actions/cache@v4 - with: - path: ~/.gradle/caches - key: ${{ runner.os }}-gradle-cache-${{ hashFiles('**/*.gradle.kts') }} - restore-keys: | - ${{ runner.os }}-gradle- - - - uses: actions/cache@v4 - with: - path: ~/.gradle/wrapper - key: ${{ runner.os }}-gradle-wrapper-${{ hashFiles('**/gradle-wrapper.properties') }} - restore-keys: | - ${{ runner.os }}-gradlew- - - - uses: crazy-max/ghaction-import-gpg@v6.1.0 - with: - gpg_private_key: "${{ secrets.GPG_PRIVATE_KEY }}" - passphrase: "${{ secrets.GPG_PASSPHRASE }}" - - - uses: release-drafter/release-drafter@master - id: release - env: - GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" - - - run: | - [[ "${{ steps.release.outputs.tag_name }}" =~ ^[0-9]+(\.[0-9]+)*$ ]] || exit -1 - chmod +x gradlew - ./gradlew -Psign-required=true publishToSonatype closeAndReleaseSonatypeStagingRepository -Pversion="${{ steps.release.outputs.tag_name }}-SNAPSHOT" -Psigning.gnupg.keyName="${{ secrets.GPG_SECRET_KEY_ID }}" -Psigning.gnupg.passphrase="${{ secrets.GPG_PASSPHRASE }}" -PsonatypeUsername="${{ secrets.SONATYPE_USERNAME }}" -PsonatypePassword="${{ secrets.SONATYPE_PASSWORD }}" diff --git a/README.md b/README.md index e416a60..933dda3 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,5 @@ # pubsub -![Sonatype Nexus (Releases)](https://img.shields.io/nexus/r/net.infumia/pubsub?label=maven-central&server=https%3A%2F%2Foss.sonatype.org%2F) -![Sonatype Nexus (Snapshots)](https://img.shields.io/nexus/s/net.infumia/pubsub?label=maven-central&server=https%3A%2F%2Foss.sonatype.org) +![Maven Central Version](https://img.shields.io/maven-central/v/net.infumia/pubsub) ## How to Use (Developers) ### Gradle ```groovy diff --git a/build.gradle.kts b/build.gradle.kts index bb07343..a62fe2c 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,13 +1,23 @@ +import com.vanniktech.maven.publish.JavadocJar +import com.vanniktech.maven.publish.MavenPublishPlugin +import com.vanniktech.maven.publish.SonatypeHost +import org.jetbrains.dokka.gradle.DokkaPlugin + plugins { java `maven-publish` alias(libs.plugins.nexus) + alias(libs.plugins.dokka) apply false } repositories.mavenCentral() subprojects { apply() + apply() + if (project.name.contains("kotlin")) { + apply() + } repositories.mavenCentral() @@ -43,10 +53,39 @@ subprojects { dependsOn(javadocJar) } } -} -nexusPublishing.repositories.sonatype { - val baseUrl = "https://s01.oss.sonatype.org/" - nexusUrl = uri("${baseUrl}service/local/") - snapshotRepositoryUrl = uri("${baseUrl}content/repositories/snapshots/") + val projectName = project.property("artifact-id") as String + val signRequired = project.hasProperty("sign-required") + + mavenPublishing { + coordinates("net.infumia", projectName, project.version.toString()) + publishToMavenCentral(SonatypeHost.CENTRAL_PORTAL, true) + if (signRequired) { + signAllPublications() + } + + pom { + name.set(projectName) + description.set("Simplified pubsub library for Redis and various databases.") + url.set("https://github.com/Infumia/pubsub") + licenses { + license { + name.set("MIT License") + url.set("https://mit-license.org/license.txt") + } + } + developers { + developer { + id.set("portlek") + name.set("Hasan Demirtaş") + email.set("utsukushihito@outlook.com") + } + } + scm { + connection.set("scm:git:git://github.com/infumia/pubsub.git") + developerConnection.set("scm:git:ssh://github.com/infumia/pubsub.git") + url.set("https://github.com/infumia/pubsub/") + } + } + } } diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts deleted file mode 100644 index 9eb26c7..0000000 --- a/buildSrc/build.gradle.kts +++ /dev/null @@ -1,9 +0,0 @@ -plugins { - java - `kotlin-dsl` -} - -repositories { - mavenCentral() - gradlePluginPortal() -} diff --git a/buildSrc/settings.gradle.kts b/buildSrc/settings.gradle.kts deleted file mode 100644 index 105225c..0000000 --- a/buildSrc/settings.gradle.kts +++ /dev/null @@ -1,9 +0,0 @@ -dependencyResolutionManagement { - versionCatalogs { - create("libs") { - from(files("../gradle/libs.versions.toml")) - } - } -} - -rootProject.name = "buildSrc" diff --git a/buildSrc/src/main/kotlin/net.infumia.pubsub.build.publishing.gradle.kts b/buildSrc/src/main/kotlin/net.infumia.pubsub.build.publishing.gradle.kts deleted file mode 100644 index b243e7e..0000000 --- a/buildSrc/src/main/kotlin/net.infumia.pubsub.build.publishing.gradle.kts +++ /dev/null @@ -1,53 +0,0 @@ -plugins { - signing - `maven-publish` -} - -val projectName = project.property("artifact-id") as String -val signRequired = project.hasProperty("sign-required") - -publishing { - publications { - val publication = create("maven") { - groupId = project.group.toString() - artifactId = projectName - version = project.version.toString() - - from(components["java"]) - artifact(tasks["sourcesJar"]) - artifact(tasks["javadocJar"]) - - pom { - name.set(projectName) - description.set("Simplified pubsub library for Redis and various databases.") - url.set("https://github.com/Infumia/") - licenses { - license { - name.set("MIT License") - url.set("https://mit-license.org/license.txt") - } - } - developers { - developer { - id.set("portlek") - name.set("Hasan Demirtaş") - email.set("utsukushihito@outlook.com") - } - } - scm { - connection.set("scm:git:git://github.com/infumia/pubsub.git") - developerConnection.set("scm:git:ssh://github.com/infumia/pubsub.git") - url.set("https://github.com/infumia/pubsub/") - } - } - } - - signing { - isRequired = signRequired - if (isRequired) { - useGpgCmd() - sign(publication) - } - } - } -} diff --git a/common/build.gradle.kts b/common/build.gradle.kts index 7245f0b..26caeb1 100644 --- a/common/build.gradle.kts +++ b/common/build.gradle.kts @@ -1,7 +1,3 @@ -plugins { - id("net.infumia.pubsub.build.publishing") -} - dependencies { compileOnly(libs.caffeine) } diff --git a/gradle.properties b/gradle.properties index 6483eef..ac47b1f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,5 @@ name=pubsub group=net.infumia -version=1.0.0-SNAPSHOT +version=0.1.1 org.gradle.parallel=true diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 3424dc3..af6ef45 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -14,4 +14,4 @@ kotlinx-serialization-protobuf = { module = "org.jetbrains.kotlinx:kotlinx-seria kotlin = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" } kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" } dokka = { id = "org.jetbrains.dokka", version = "1.9.20" } -nexus = { id = "io.github.gradle-nexus.publish-plugin", version = "2.0.0" } +nexus = { id = "com.vanniktech.maven.publish", version = "0.28.0" } diff --git a/kotlin/extensions/build.gradle.kts b/kotlin/extensions/build.gradle.kts index aa33a32..b1a1e8a 100644 --- a/kotlin/extensions/build.gradle.kts +++ b/kotlin/extensions/build.gradle.kts @@ -1,9 +1,3 @@ -plugins { - alias(libs.plugins.kotlin) - alias(libs.plugins.dokka) - id("net.infumia.pubsub.build.publishing") -} - dependencies { compileOnly(project(":common")) } diff --git a/kotlin/protobuf/build.gradle.kts b/kotlin/protobuf/build.gradle.kts index 189a664..87544db 100644 --- a/kotlin/protobuf/build.gradle.kts +++ b/kotlin/protobuf/build.gradle.kts @@ -1,10 +1,3 @@ -plugins { - alias(libs.plugins.kotlin) - alias(libs.plugins.kotlin.serialization) - alias(libs.plugins.dokka) - id("net.infumia.pubsub.build.publishing") -} - dependencies { compileOnly(project(":common")) diff --git a/redis/build.gradle.kts b/redis/build.gradle.kts index ed81a4d..f07a39f 100644 --- a/redis/build.gradle.kts +++ b/redis/build.gradle.kts @@ -1,7 +1,3 @@ -plugins { - id("net.infumia.pubsub.build.publishing") -} - dependencies { compileOnly(project(":common"))