diff --git a/.github/scripts/create_pr_body.sh b/.github/scripts/create_pr_body.sh deleted file mode 100755 index b21503e..0000000 --- a/.github/scripts/create_pr_body.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/bash - -set -e - -if [ "$#" -lt 4 ]; then - echo "Expected actor,repository,run_id,commit_id arguments" - exit 1 -fi - -ACTOR=$1 -REPOSITORY=$2 -RUN_ID=$3 -COMMIT_ID=$4 - -echo " -你好 @$ACTOR! - -这个PR是发布工作流自动创建的: https://github.com/$REPOSITORY/actions/runs/$RUN_ID。 -我已经修改了版本号在这个commit: $COMMIT_ID。 -" \ No newline at end of file diff --git a/.github/workflows/publish-snapshot-jdk17.yml b/.github/workflows/publish-snapshot-jdk17.yml index 99a6f3e..8381461 100644 --- a/.github/workflows/publish-snapshot-jdk17.yml +++ b/.github/workflows/publish-snapshot-jdk17.yml @@ -27,8 +27,8 @@ jobs: - name: Publish snapshot package if: github.repository == 'bkdevops-projects/devops-framework' env: - SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} - SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} + ORG_GRADLE_PROJECT_repoUsername: ${{ secrets.SONATYPE_USERNAME }} + ORG_GRADLE_PROJECT_repoPassword: ${{ secrets.SONATYPE_PASSWORD }} ORG_GRADLE_PROJECT_signingKey: ${{ secrets.SIGNING_KEY }} ORG_GRADLE_PROJECT_signingKeyId: ${{ secrets.SIGNING_KEY_ID }} ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.SIGNING_PASSWORD }} diff --git a/.github/workflows/publish-snapshot.yml b/.github/workflows/publish-snapshot.yml index 6bae662..4305a95 100644 --- a/.github/workflows/publish-snapshot.yml +++ b/.github/workflows/publish-snapshot.yml @@ -26,8 +26,8 @@ jobs: - name: Publish snapshot package if: github.repository == 'bkdevops-projects/devops-framework' env: - SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} - SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} + ORG_GRADLE_PROJECT_repoUsername: ${{ secrets.SONATYPE_USERNAME }} + ORG_GRADLE_PROJECT_repoPassword: ${{ secrets.SONATYPE_PASSWORD }} ORG_GRADLE_PROJECT_signingKey: ${{ secrets.SIGNING_KEY }} ORG_GRADLE_PROJECT_signingKeyId: ${{ secrets.SIGNING_KEY_ID }} ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.SIGNING_PASSWORD }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a5f11cb..52105d5 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -63,8 +63,8 @@ jobs: run: ./gradlew build - name: Publish release package env: - SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} - SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} + ORG_GRADLE_PROJECT_repoUsername: ${{ secrets.SONATYPE_USERNAME }} + ORG_GRADLE_PROJECT_repoPassword: ${{ secrets.SONATYPE_PASSWORD }} ORG_GRADLE_PROJECT_signingKey: ${{ secrets.SIGNING_KEY }} ORG_GRADLE_PROJECT_signingKeyId: ${{ secrets.SIGNING_KEY_ID }} ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.SIGNING_PASSWORD }} diff --git a/build.gradle.kts b/build.gradle.kts index 8e29fe4..f341eed 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -7,26 +7,57 @@ plugins { kotlin("kapt") version Versions.Kotlin apply false kotlin("plugin.spring") version Versions.Kotlin apply false id("io.spring.dependency-management") version Versions.DependencyManagement apply false - id("io.github.gradle-nexus.publish-plugin") version Versions.GradleNexusPublish id("com.tencent.devops.release") version Versions.DevopsReleasePlugin + id("com.tencent.devops.publish") version Versions.DevopsReleasePlugin } +val projectVersion = rootProject.file("version.txt").readText() + allprojects { - group = Release.Group - version = Release.Version + group = "com.tencent.devops" + version = projectVersion + + apply(plugin = "com.tencent.devops.publish") repositories { mavenCentral() jcenter() gradlePluginPortal() } -} -nexusPublishing { - repositories { - sonatype { - username.set(System.getenv("SONATYPE_USERNAME")) - password.set(System.getenv("SONATYPE_PASSWORD")) + publishing { + publications { + withType { + pom { + name.set(project.name) + description.set(project.description ?: project.name) + url.set("https://github.com/bkdevops-projects/devops-framework") + licenses { + license { + name.set("The MIT License (MIT)") + url.set("https://opensource.org/licenses/MIT") + } + } + organization { + name.set("Tencent BK-CI") + url.set("https://github.com/Tencent/bk-ci") + } + developers { + developer { + name.set("blueking") + email.set("contactus_bk@tencent.com") + url.set("https://github.com/TencentBlueKing") + roles.set(listOf("Java Developer")) + } + } + scm { + connection.set("scm:git:git://github.com/bkdevops-projects/devops-framework.git") + developerConnection.set("scm:git:ssh://github.com/bkdevops-projects/devops-framework.git") + url.set("https://github.com/bkdevops-projects/devops-framework") + } + } + + } } } } diff --git a/buildSrc/src/main/kotlin/Versions.kt b/buildSrc/src/main/kotlin/Versions.kt index cbe4ac5..dd579ac 100644 --- a/buildSrc/src/main/kotlin/Versions.kt +++ b/buildSrc/src/main/kotlin/Versions.kt @@ -1,10 +1,3 @@ -import java.io.File - -object Release { - const val Group = "com.tencent.devops" - val Version = File("version.txt").readText().trim() -} - object Versions { const val Jib: String = "3.2.0" const val Java = "1.8" diff --git a/buildSrc/src/main/kotlin/publish.gradle.kts b/buildSrc/src/main/kotlin/publish.gradle.kts deleted file mode 100644 index a285479..0000000 --- a/buildSrc/src/main/kotlin/publish.gradle.kts +++ /dev/null @@ -1,77 +0,0 @@ -@file:Suppress("UnstableApiUsage") - -apply(plugin = "signing") -apply(plugin = "maven-publish") - -val isReleaseVersion = !version.toString().endsWith("SNAPSHOT") - -configure { - publications { - plugins.findPlugin(JavaPlugin::class.java)?.let { - create("jar") { - from(components["java"]) - } - } - plugins.findPlugin(JavaPlatformPlugin::class.java)?.let { - create("pom") { - from(components["javaPlatform"]) - } - } - } - publications.withType { - pom { - name.set(project.name) - description.set(project.description ?: project.name) - url.set("https://github.com/bkdevops-projects/devops-framework") - licenses { - license { - name.set("The MIT License (MIT)") - url.set("https://opensource.org/licenses/MIT") - } - } - organization { - name.set("Tencent BK-CI") - url.set("https://github.com/Tencent/bk-ci") - } - developers { - developer { - name.set("blueking") - email.set("contactus_bk@tencent.com") - url.set("https://github.com/TencentBlueKing") - roles.set(listOf("Java Developer")) - } - } - scm { - connection.set("scm:git:git://github.com/bkdevops-projects/devops-framework.git") - developerConnection.set("scm:git:ssh://github.com/bkdevops-projects/devops-framework.git") - url.set("https://github.com/bkdevops-projects/devops-framework") - } - } - } - - configure { - val signingKeyId: String? by project - val signingKey: String? by project - val signingPassword: String? by project - useInMemoryPgpKeys(signingKeyId, signingKey, signingPassword) - setRequired({ isReleaseVersion && gradle.taskGraph.hasTask("publish") }) - sign(publications) - } -} - -extensions.findByType(JavaPluginExtension::class.java)?.run { - withJavadocJar() - withSourcesJar() -} - -tasks { - withType { - manifest { - attributes("Implementation-Title" to (project.description ?: project.name)) - attributes("Implementation-Version" to Release.Version) - } - } - withType { - onlyIf { isReleaseVersion } - } -} diff --git a/devops-boot-project/devops-boot-core/build.gradle.kts b/devops-boot-project/devops-boot-core/build.gradle.kts index 626bb78..039f4f6 100644 --- a/devops-boot-project/devops-boot-core/build.gradle.kts +++ b/devops-boot-project/devops-boot-core/build.gradle.kts @@ -13,7 +13,6 @@ subprojects { apply(plugin = "org.jetbrains.kotlin.kapt") apply(plugin = "org.jetbrains.kotlin.plugin.spring") apply(plugin = "io.spring.dependency-management") - apply(plugin = "publish") dependencyManagement { imports { diff --git a/devops-boot-project/devops-boot-dependencies/build.gradle.kts b/devops-boot-project/devops-boot-dependencies/build.gradle.kts index 6dfe440..6c33377 100644 --- a/devops-boot-project/devops-boot-dependencies/build.gradle.kts +++ b/devops-boot-project/devops-boot-dependencies/build.gradle.kts @@ -1,6 +1,5 @@ plugins { `java-platform` - id("publish") } description = "DevOps Boot Dependencies" diff --git a/devops-boot-project/devops-boot-starters/build.gradle.kts b/devops-boot-project/devops-boot-starters/build.gradle.kts index ef0d760..f2af2fb 100644 --- a/devops-boot-project/devops-boot-starters/build.gradle.kts +++ b/devops-boot-project/devops-boot-starters/build.gradle.kts @@ -8,7 +8,6 @@ description = "Starter for DevOps Boot" subprojects { apply(plugin = "java-library") apply(plugin = "io.spring.dependency-management") - apply(plugin = "publish") dependencyManagement { imports { diff --git a/devops-boot-project/devops-boot-tools/build.gradle.kts b/devops-boot-project/devops-boot-tools/build.gradle.kts index 1e3c3a4..a2bb51c 100644 --- a/devops-boot-project/devops-boot-tools/build.gradle.kts +++ b/devops-boot-project/devops-boot-tools/build.gradle.kts @@ -3,5 +3,4 @@ description = "Tools for DevOps Boot" subprojects { apply(plugin = "org.jetbrains.kotlin.jvm") - apply(plugin = "publish") } diff --git a/devops-boot-sample/build.gradle.kts b/devops-boot-sample/build.gradle.kts index 5cafa95..20929a0 100644 --- a/devops-boot-sample/build.gradle.kts +++ b/devops-boot-sample/build.gradle.kts @@ -1,5 +1,5 @@ plugins { - id("com.tencent.devops.boot") version File("../version.txt").readText().trim() + id("com.tencent.devops.boot") } allprojects { diff --git a/devops-boot-sample/settings.gradle.kts b/devops-boot-sample/settings.gradle.kts index cf0c97a..22ee87f 100644 --- a/devops-boot-sample/settings.gradle.kts +++ b/devops-boot-sample/settings.gradle.kts @@ -1,7 +1,14 @@ + rootProject.name = "devops-boot-sample" + // for debug devops-boot locally +@Suppress("UnstableApiUsage") pluginManagement { + val projectVersion = File(rootDir.parent,"version.txt").readText() + plugins { + id("com.tencent.devops.boot") version projectVersion + } repositories { mavenCentral() gradlePluginPortal() diff --git a/docs/contribute.md b/docs/contribute.md index c27e610..c2543c2 100644 --- a/docs/contribute.md +++ b/docs/contribute.md @@ -43,8 +43,8 @@ devops-framework/ ### 环境变量准备 当需要发布到中央仓库时,会读取以下环境变量: -- `SONATYPE_USERNAME` sonatype用户名 -- `SONATYPE_PASSWORD` sonatype密码 +- `ORG_GRADLE_PROJECT_repoUsername` sonatype用户名 +- `ORG_GRADLE_PROJECT_repoPassword` sonatype密码 - `ORG_GRADLE_PROJECT_signingKey` gpg签名key - `ORG_GRADLE_PROJECT_signingKeyId` gpg签名key id - `ORG_GRADLE_PROJECT_signingPassword` gpg签名密码