diff --git a/.github/workflows/publish2sonatype.yml b/.github/workflows/publish2sonatype.yml new file mode 100644 index 0000000..d801a76 --- /dev/null +++ b/.github/workflows/publish2sonatype.yml @@ -0,0 +1,39 @@ +name: Publishing to Sonatype +on: + release: + types: [published] + +env: + GH_TOKEN: ${{ github.token }} + +jobs: + build_and_publish: + runs-on: ubuntu-latest + steps: + - name: Check out repository code + uses: actions/checkout@v3 + - name: Set up JDK 8 + uses: actions/setup-java@v3 + with: + java-version: '8.0.362' + distribution: 'zulu' + - name: Prepare gradle.properties + run: | + cd sift + echo "$(pwd)" + echo -e "${{ secrets.SECRING }}" | base64 -d > ./secring.gpg + echo "$(ls -la)" + echo "signing.keyId=${{ secrets.KEYID }}" >> ./gradle.properties + echo "signing.password=${{ secrets.PASS }}" >> ./gradle.properties + echo "signing.secretKeyRingFile=$(pwd)/secring.gpg" >> ./gradle.properties + echo "NEXUS_USERNAME=${{ secrets.SUSER }}" >> ./gradle.properties + echo "NEXUS_PASSWORD=${{ secrets.SPASSWORD }}" >> ./gradle.properties + echo "$(ls -la)" + - name: Sonatype Publish + run: | + ./gradlew uploadArchives + BEARER=$(printf "${{ secrets.SUSER }}:${{ secrets.SPASSWORD }}" | base64) + curl --request POST \ + --verbose \ + --header "Authorization: Bearer ${BEARER}" \ + https://ossrh-staging-api.central.sonatype.com/manual/upload/defaultRepository/${{ secrets.SREPO_ID }} diff --git a/sift/maven-push.gradle b/sift/maven-push.gradle index 9f186cf..ea75fea 100644 --- a/sift/maven-push.gradle +++ b/sift/maven-push.gradle @@ -17,18 +17,9 @@ apply plugin: 'maven' apply plugin: 'signing' -def isReleaseBuild() { - return VERSION_NAME.contains("SNAPSHOT") == false -} - def getReleaseRepositoryUrl() { return hasProperty('RELEASE_REPOSITORY_URL') ? RELEASE_REPOSITORY_URL - : "https://oss.sonatype.org/service/local/staging/deploy/maven2/" -} - -def getSnapshotRepositoryUrl() { - return hasProperty('SNAPSHOT_REPOSITORY_URL') ? SNAPSHOT_REPOSITORY_URL - : "https://oss.sonatype.org/content/repositories/snapshots/" + : "https://ossrh-staging-api.central.sonatype.com/service/local/staging/deploy/maven2/" } def getRepositoryUsername() { @@ -52,9 +43,6 @@ afterEvaluate { project -> repository(url: getReleaseRepositoryUrl()) { authentication(userName: getRepositoryUsername(), password: getRepositoryPassword()) } - snapshotRepository(url: getSnapshotRepositoryUrl()) { - authentication(userName: getRepositoryUsername(), password: getRepositoryPassword()) - } pom.project { name POM_NAME @@ -88,19 +76,10 @@ afterEvaluate { project -> } signing { - required { isReleaseBuild() && gradle.taskGraph.hasTask("uploadArchives") } + required { gradle.taskGraph.hasTask("uploadArchives") } sign configurations.archives } - //task androidJavadocs(type: Javadoc) { - //source = android.sourceSets.main.allJava - //} - - //task androidJavadocsJar(type: Jar, dependsOn: androidJavadocs) { - //classifier = 'javadoc' - //from androidJavadocs.destinationDir - //} - task androidSourcesJar(type: Jar) { classifier = 'sources' from android.sourceSets.main.java.sourceFiles @@ -110,3 +89,4 @@ afterEvaluate { project -> archives androidSourcesJar } } +