diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 30005b9..3f73789 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -29,4 +29,9 @@ jobs: run: ./gradlew :lib:publishToMavenLocal --dry-run - name: Validate Gradle Plugin Portal publishing setup - run: ./gradlew :lib:validatePlugins \ No newline at end of file + run: ./gradlew :lib:publishPlugins --validate-only + env: + GRADLE_PUBLISH_KEY: ${{ secrets.GRADLE_PUBLISH_KEY }} + GRADLE_PUBLISH_SECRET: ${{ secrets.GRADLE_PUBLISH_SECRET }} + ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.SIGNING_PRIVATE_KEY }} + ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.SIGNING_PASSWORD }} \ No newline at end of file diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 90f49ff..b01a426 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -32,8 +32,8 @@ jobs: env: GRADLE_PUBLISH_KEY: ${{ secrets.GRADLE_PUBLISH_KEY }} GRADLE_PUBLISH_SECRET: ${{ secrets.GRADLE_PUBLISH_SECRET }} - ORG_GRADLE_PROJECT_signingKey: ${{ secrets.SIGNING_PRIVATE_KEY }} - ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.SIGNING_PASSWORD }} + ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.SIGNING_PRIVATE_KEY }} + ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.SIGNING_PASSWORD }} - name: Extract version from gradle.properties id: get_version diff --git a/lib/build.gradle.kts b/lib/build.gradle.kts index 68ffa1d..d4cc35e 100644 --- a/lib/build.gradle.kts +++ b/lib/build.gradle.kts @@ -1,5 +1,6 @@ import com.vanniktech.maven.publish.GradlePlugin import com.vanniktech.maven.publish.JavadocJar +import org.gradle.kotlin.dsl.signing import org.gradle.kotlin.dsl.withType import org.jetbrains.kotlin.gradle.dsl.JvmTarget import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile @@ -9,6 +10,7 @@ plugins { alias(libs.plugins.maven.publish) alias(libs.plugins.gradle.publish) kotlin("jvm") + signing } dependencies { @@ -79,3 +81,12 @@ gradlePlugin { } } } + +signing { + val signingInMemoryKey = project.findProperty("signingInMemoryKey") as String? + val signingInMemoryPassword = project.findProperty("signingInMemoryPassword") as String? + if (signingInMemoryKey != null && signingInMemoryPassword != null) { + useInMemoryPgpKeys(signingInMemoryKey, signingInMemoryPassword) + sign(publishing.publications) + } +}