diff --git a/.github/workflows/netcetera-publish.yml b/.github/workflows/netcetera-publish.yml new file mode 100644 index 000000000..96fba51be --- /dev/null +++ b/.github/workflows/netcetera-publish.yml @@ -0,0 +1,36 @@ +name: Netcetera - Publish To Maven Central +on: + workflow_dispatch: + +permissions: + contents: read + +jobs: + netcetera-publish: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup JDK 17 + uses: actions/setup-java@v4 + with: + java-version: '17' + distribution: 'temurin' + cache: gradle + + - name: Build + run: ./gradlew :netcetera-3ds-core:assembleProductionRelease + + - name: Publish To Maven Central + run: ./gradlew :netcetera-3ds-core:publishProductionReleasePublicationToSonatypeRepository closeAndReleaseSonatypeStagingRepository --max-workers=1 + env: + SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} + SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} + SONATYPE_STAGING_PROFILE_ID: ${{ secrets.SONATYPE_STAGING_PROFILE_ID }} + SIGNING_KEY_ID: ${{ secrets.SIGNING_KEY_ID }} + SIGNING_PASSWORD: ${{ secrets.SIGNING_PASSWORD }} + SIGNING_KEY: ${{ secrets.SIGNING_KEY }} + DEVELOPER_ID: ${{ secrets.DEVELOPER_ID }} + DEVELOPER_NAME: ${{ secrets.DEVELOPER_NAME }} + DEVELOPER_EMAIL: ${{ secrets.DEVELOPER_EMAIL }} diff --git a/.github/workflows/netcetera-update.yml b/.github/workflows/netcetera-update.yml index cf1e8feb9..0ed68b03d 100644 --- a/.github/workflows/netcetera-update.yml +++ b/.github/workflows/netcetera-update.yml @@ -21,23 +21,39 @@ jobs: - name: Checkout uses: actions/checkout@v4 - - name: Download & Unpack + - name: Setup JDK 17 + uses: actions/setup-java@v4 + with: + java-version: '17' + distribution: 'temurin' + cache: gradle + + - name: Download & Bundle run: | - chmod +x ./netcetera-3ds-core/scripts/download-and-unpack.sh - ./netcetera-3ds-core/scripts/download-and-unpack.sh "${{ inputs.url }}" + chmod +x ./netcetera-3ds-core/scripts/download-and-bundle.sh + ./netcetera-3ds-core/scripts/download-and-bundle.sh "${{ inputs.url }}" - name: Update Version run: | source netcetera-3ds-core/scripts/update-version.sh "${{ inputs.version }}" echo "UPDATED_VERSION=$(cat netcetera-3ds-core/version.resolved)" >> $GITHUB_ENV + - name: Build Verification + run: ./gradlew :netcetera-3ds-core:assembleProductionRelease + - name: Create Pull Request uses: peter-evans/create-pull-request@v5.0.0 with: token: ${{ secrets.PO_GITHUB_TOKEN }} add-paths: | + netcetera-3ds-core/src/main/assets/** + netcetera-3ds-core/src/main/jniLibs/** + netcetera-3ds-core/src/main/res/** + netcetera-3ds-core/libs/classes.jar + netcetera-3ds-core/netcetera-consumer-rules.pro + netcetera-3ds-core/dexguard.txt netcetera-3ds-core/version.resolved - commit-message: Update Netcetera + commit-message: 'chore: Update Netcetera to ${{ env.UPDATED_VERSION }}' branch: chore/netcetera-update-${{ env.UPDATED_VERSION }} delete-branch: true title: 'chore: Update Netcetera to ${{ env.UPDATED_VERSION }}' diff --git a/netcetera-3ds-core/scripts/download-and-bundle.sh b/netcetera-3ds-core/scripts/download-and-bundle.sh new file mode 100755 index 000000000..8d53df7c2 --- /dev/null +++ b/netcetera-3ds-core/scripts/download-and-bundle.sh @@ -0,0 +1,40 @@ +#!/bin/bash + +if [ -z "$1" ]; then + echo "Usage: $0 " + exit 1 +fi + +URL="$1" +FILENAME=$(basename "$URL") +SDK_DIR="${FILENAME%.*}" + +if curl -L "$URL" -o "$FILENAME"; then + echo "Downloaded $FILENAME successfully." +else + echo "Failed to download: $URL" + exit 1 +fi + +unzip -o "$FILENAME" -d "$SDK_DIR" + +# assets +rm -rf netcetera-3ds-core/src/main/assets/* +cp -r "$SDK_DIR"/assets/* netcetera-3ds-core/src/main/assets/ + +# jniLibs +rm -rf netcetera-3ds-core/src/main/jniLibs/* +cp -r "$SDK_DIR"/jni/* netcetera-3ds-core/src/main/jniLibs/ + +# res +rm -rf netcetera-3ds-core/src/main/res/* +cp -r "$SDK_DIR"/res/* netcetera-3ds-core/src/main/res/ + +# classes.jar +cp -f "$SDK_DIR"/classes.jar netcetera-3ds-core/libs/ + +# proguard & dexguard +cp -f "$SDK_DIR"/proguard.txt netcetera-3ds-core/netcetera-consumer-rules.pro +cp -f "$SDK_DIR"/dexguard.txt netcetera-3ds-core/ + +echo "Netcetera $FILENAME has been bundled successfully." diff --git a/netcetera-3ds-core/scripts/download-and-unpack.sh b/netcetera-3ds-core/scripts/download-and-unpack.sh deleted file mode 100755 index f977a9752..000000000 --- a/netcetera-3ds-core/scripts/download-and-unpack.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash - -if [ -z "$1" ]; then - echo "Usage: $0 " - exit 1 -fi - -URL="$1" -FILENAME=$(basename "$URL") -FOLDER="${FILENAME%.*}" - -if curl -L "$URL" -o "$FILENAME"; then - echo "Downloaded $FILENAME successfully." -else - echo "Failed to download: $URL" - exit 1 -fi - -unzip "$FILENAME" -d "$FOLDER" - -echo "------ root" -ls -1 -echo "------ sdk" -ls -1 "$FOLDER"