diff --git a/.github/workflows/android-artifact-build.yml b/.github/workflows/android-artifact-build.yml index c76ff7ad..03afe472 100644 --- a/.github/workflows/android-artifact-build.yml +++ b/.github/workflows/android-artifact-build.yml @@ -8,19 +8,56 @@ on: required: false default: 'Triggered for Updates' type: string + + release_type: + description: 'Select release type to publish: snapshot or release' + required: true + default: 'snapshot' + type: choice + options: + - snapshot + - release + + publication_type: + description: 'Select artifact type to publish: aar, jar, or both (only for release)' + required: true + default: both + type: string + jobs: - maven-publish: - if: "${{ !contains(github.ref, 'master') && github.event_name != 'pull_request' && github.event_name == 'workflow_dispatch' }}" + publish-snapshot: + if: ${{ inputs.release_type == 'snapshot' }} uses: mosip/kattu/.github/workflows/maven-publish-android.yml@master with: SERVICE_LOCATION: 'kotlin' ANDROID_SERVICE_LOCATION: 'android' + JAVA_VERSION: 21 LICENSE_NAME: 'MPL-2.0' + RELEASE_TYPE: ${{ inputs.release_type }} secrets: OSSRH_USER: ${{ secrets.OSSRH_USER }} - OSSRH_URL: ${{secrets.OSSRH_SNAPSHOT_URL }} + OSSRH_URL: ${{ secrets.OSSRH_CENTRAL_URL }} OSSRH_SECRET: ${{ secrets.OSSRH_SECRET }} OSSRH_TOKEN: ${{ secrets.OSSRH_TOKEN }} GPG_SECRET: ${{ secrets.GPG_SECRET }} SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_INJI_TEAM }} + + publish-release: + if: ${{ inputs.release_type == 'release' }} + uses: mosip/kattu/.github/workflows/maven-publish-android-download.yaml@master + with: + SERVICE_LOCATION: 'kotlin' + ANDROID_SERVICE_LOCATION: 'android' + JAVA_VERSION: 21 + LICENSE_NAME: 'MPL-2.0' + RELEASE_TYPE: ${{ inputs.release_type }} + PUBLICATION_TYPE: ${{ inputs.publication_type }} + secrets: + OSSRH_USER: ${{ secrets.OSSRH_USER }} + OSSRH_URL: ${{ secrets.OSSRH_GRADLE_URL }} + OSSRH_SECRET: ${{ secrets.OSSRH_SECRET }} + OSSRH_TOKEN: ${{ secrets.OSSRH_TOKEN }} + GPG_SECRET: ${{ secrets.GPG_SECRET }} + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_INJI_TEAM }} + diff --git a/kotlin/android/publish-artifact.gradle b/kotlin/android/publish-artifact.gradle index df854653..9bc41789 100644 --- a/kotlin/android/publish-artifact.gradle +++ b/kotlin/android/publish-artifact.gradle @@ -1,11 +1,18 @@ publishing { repositories { - maven { - url = System.getenv("OSSRH_URL") - name = "secure-keystore" - credentials { - username = System.getenv("OSSRH_USER") - password = System.getenv("OSSRH_SECRET") + if (System.getenv("RELEASE_TYPE") == "release") { + maven { + name = "LocalMavenWithChecksums" + url = uri(layout.buildDirectory.dir("staging")) + } + } else { + maven { + url = System.getenv("OSSRH_URL") + name = "secure-keystore" + credentials { + username = System.getenv("OSSRH_USER") + password = System.getenv("OSSRH_SECRET") + } } } } @@ -79,7 +86,7 @@ publishing { } groupId = "io.mosip" artifactId = "secure-keystore" - version = "0.3.0-SNAPSHOT" + version = "0.4.0-SNAPSHOT" if (project.gradle.startParameter.taskNames.any { it.contains('assembleRelease') }) { artifacts { aar {