From b789b15b38942fca7603e720e8d183b3c3912b37 Mon Sep 17 00:00:00 2001 From: Lev Zakaryan Date: Wed, 6 Nov 2024 09:49:07 +0300 Subject: [PATCH] Added publish.yml workflow --- .github/workflows/publish.yml | 30 ++++++++++++++++ .gpg/SimlaTechSigning.gpg | Bin 0 -> 2633 bytes gradle/gradle-mvn-push.gradle | 64 ++++++++++++++++++++++++++++++++++ opuslib/build.gradle | 31 +++++++++++++--- 4 files changed, 121 insertions(+), 4 deletions(-) create mode 100644 .github/workflows/publish.yml create mode 100644 .gpg/SimlaTechSigning.gpg create mode 100644 gradle/gradle-mvn-push.gradle diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000..ea4e73b --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,30 @@ +on: + workflow_dispatch: + +jobs: + publish: + name: Compile and publish OpusLib fork to Maven Central using gradle task + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [windows-latest] + + steps: + - name: Checkout project sources + uses: actions/checkout@v2 + + - name: Setup java + uses: actions/setup-java@v3 + with: + distribution: corretto + java-version: 8 + + - name: Setup Gradle + uses: gradle/gradle-build-action@v2 + + - name: launch library publish task + env: + SIMLA_MOBILE_APPS_EMAIL: ${{ secrets.SIMLA_MOBILE_APPS_EMAIL }} + OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME }} + OSSRH_PASSWORD: ${{ secrets.OSSRH_PASSWORD }} + run: ./gradlew :opuslib:publishReleasePublicationToMainRepository --stacktrace diff --git a/.gpg/SimlaTechSigning.gpg b/.gpg/SimlaTechSigning.gpg new file mode 100644 index 0000000000000000000000000000000000000000..cc36640f4972f4aa06b59d6d70809039be979c70 GIT binary patch literal 2633 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 literal 0 HcmV?d00001 diff --git a/gradle/gradle-mvn-push.gradle b/gradle/gradle-mvn-push.gradle new file mode 100644 index 0000000..ce55e92 --- /dev/null +++ b/gradle/gradle-mvn-push.gradle @@ -0,0 +1,64 @@ +apply plugin: 'maven-publish' +apply plugin: 'signing' + +def versionName = "1.2.4" + +publishing { + publications { + release(MavenPublication) { + groupId = 'com.simla.android.opuslib' + version = versionName + + afterEvaluate { + from configurations.archives + } + artifactId = project.name + + pom { + name = 'OpusLib' + description = 'Re-publishing of OpusLib with no additional functionality.' + url = 'https://github.com/simla-tech/opus_android' + licenses { + license { + name = 'The Apache License, Version 2.0' + url = 'http://www.apache.org/licenses/LICENSE-2.0.txt' + } + } + developers { + developer { + id = 'SimlaTech' + name = 'Simla Mobile Dev Team' + email = findProperty("simlaTechEmail") ?: System.getenv("SIMLA_TECH_EMAIL") + } + } + scm { + connection = 'scm:git:git://github.com/simla-tech/opus_android.git' + developerConnection = 'scm:git:ssh://github.com/simla-tech/opus_android.git' + url = 'https://github.com/simla-tech/opus_android' + } + } + } + } + repositories { + maven { + name = "main" + url "https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/" + credentials { + username = findProperty("ossrhUsername") ?: System.getenv("OSSRH_USERNAME") + password = findProperty("ossrhPassword") ?: System.getenv("OSSRH_PASSWORD") + } + } + maven { + name = 'local' + url = "${findProperty("localMavenPath")}" + } + } +} + +signing { + //def signingKeyId = findProperty("signingKeyId") ?: System.getenv("SIGNING_KEY_ID") + //def signingKey = findProperty("signingKey") ?: System.getenv("SIGNING_KEY") + //def signingPassword = findProperty("signingKeyPassword") ?: System.getenv("SIGNING_KEY_PASSWORD") + //useInMemoryPgpKeys(/*signingKeyId,*/ signingKey, signingPassword) + sign configurations.archives +} diff --git a/opuslib/build.gradle b/opuslib/build.gradle index a2384e7..8610143 100644 --- a/opuslib/build.gradle +++ b/opuslib/build.gradle @@ -1,7 +1,8 @@ -import org.apache.tools.ant.taskdefs.condition.Os +//import org.apache.tools.ant.taskdefs.condition.Os +import org.gradle.plugins.signing.Sign apply plugin: 'com.android.library' -apply plugin: 'com.github.dcendents.android-maven' -apply plugin: 'com.jfrog.bintray' +//apply plugin: 'com.github.dcendents.android-maven' +//apply plugin: 'com.jfrog.bintray' version = "1.0.2" android { @@ -50,7 +51,7 @@ dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') } - +/* def siteUrl = 'https://github.com/louisyonge/opus_android' // Project url def gitUrl = 'https://github.com/louisyonge/opus_android.git' // Git url group = "top.oply.opuslib" // Maven Group ID for the artifact,usually it's package name. @@ -86,6 +87,8 @@ install { } } } +// */ + task sourcesJar(type: Jar) { from android.sourceSets.main.java.srcDirs classifier = 'sources' @@ -102,6 +105,8 @@ artifacts { archives javadocJar archives sourcesJar } + +/* Properties properties = new Properties() properties.load(project.rootProject.file('local.properties').newDataInputStream()) bintray { @@ -117,3 +122,21 @@ bintray { publish = true } } +// */ + +apply from: rootProject.file('gradle/gradle-mvn-push.gradle') + +gradle.taskGraph.whenReady { taskGraph -> + if (taskGraph.allTasks.any { it instanceof Sign }) { + + def id = "42AAF42A" + def file = project.file('.gpg/SimlaTechSigning.gpg').absolutePath + def password = "retailcrm" + + allprojects { ext."signing.keyId" = id } + allprojects { ext."signing.secretKeyRingFile" = file } + allprojects { ext."signing.password" = password } + + console.printf "\nThanks.\n\n" + } +} \ No newline at end of file