From df6ef5954adae7ddb0fb56f54cea3c4ef72dc956 Mon Sep 17 00:00:00 2001 From: TonyJiangWJ Date: Mon, 30 Oct 2023 20:26:45 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0github=20actions=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E6=89=93=E5=8C=85=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/android.yml | 49 +++++++++++++++++++++++++++++++++++ app/build.gradle.kts | 3 +++ gradlew | 0 settings.gradle.kts | 18 +++++++++---- 4 files changed, 65 insertions(+), 5 deletions(-) create mode 100644 .github/workflows/android.yml mode change 100644 => 100755 gradlew diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml new file mode 100644 index 000000000..029480d11 --- /dev/null +++ b/.github/workflows/android.yml @@ -0,0 +1,49 @@ +name: Android CI + +on: + push: + branches: [ "master" ] + pull_request: + branches: [ "master" ] + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + - name: set up JDK 20 + uses: actions/setup-java@v3 + with: + java-version: '20' + distribution: 'temurin' + cache: gradle + + - name: Grant execute permission for gradlew + run: chmod +x gradlew + - name: Build with Gradle + run: ./gradlew assembleRelease + + - name: Upload arm64 artifacts + id: upload-arm64-apk + uses: actions/upload-artifact@v3 + with: + name: release-arm64-apk + path: app/build/outputs/apk/app/release/*arm64-v8a.apk + continue-on-error: true + + - name: Upload armv7 artifacts + id: upload-armv7-apk + uses: actions/upload-artifact@v3 + with: + name: release-armv7-apk + path: app/build/outputs/apk/app/release/*-v7a.apk + continue-on-error: true + + - name: Upload universl artifacts + id: upload-universal-apk + uses: actions/upload-artifact@v3 + with: + name: release-universal-apk + path: app/build/outputs/apk/app/release/*universal.apk + continue-on-error: true diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 04cc2e545..8f90ed9ff 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -648,6 +648,9 @@ class Versions(filePath: String) { "2023.1" to javaVersionMinSuggested, /* Aug 17, 2023. */ "2022.3" to javaVersionMinSuggested, /* Aug 17, 2023. */ ), + "unknown" to mapOf( + /* Empty for unknown. */ + ) ) val javaVersion: JavaVersion by lazy { diff --git a/gradlew b/gradlew old mode 100644 new mode 100755 diff --git a/settings.gradle.kts b/settings.gradle.kts index a60989d94..8dfe322e9 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -91,6 +91,14 @@ pluginManagement { fallbackIdentifier to "1.8.21", /* May 3, 2023. */ ), ), + "unknown" to mapOf( + "android" to mapOf( + fallbackIdentifier to "8.1.2", /* Oct 30, 2023. */ + ), + "kotlin" to mapOf( + fallbackIdentifier to "1.8.21", /* May 3, 2023. */ + ), + ) ) val kspPluginVersionMap = mapOf( @@ -156,7 +164,7 @@ pluginManagement { val fallbackSuffix = " [$fallbackIdentifier]" /* Nullable. */ - val platform = System.getProperty("idea.paths.selector") ?: System.getProperty("idea.platform.prefix") + val platform = System.getProperty("idea.paths.selector") ?: System.getProperty("idea.platform.prefix") ?: unknownIdentifier val isPlatformAS = platform?.startsWith(platformIdentifierForAS) == true || System.getProperty("idea.vendor.name").equals(vendorNameForAS, true) @@ -166,7 +174,7 @@ pluginManagement { val platformType = when { isPlatformAS -> "as" isPlatformIdea -> "idea" - else -> throw Exception("$unknownIdentifier1Up platform: $platform") + else -> unknownIdentifier } val previewIdentifier = when { @@ -175,12 +183,12 @@ pluginManagement { else -> "" } - val previewIdentifier1Up = uppercaseFirstChar(previewIdentifier) + val previewIdentifier1Up = previewIdentifier ?: uppercaseFirstChar(previewIdentifier) val platformVersion = (System.getProperty("idea.version") ?: when { isPlatformAS -> platform?.substring(platformIdentifierForAS.length) isPlatformIdea -> platform?.substring(platformIdentifierForIdea.length) - else -> null + else -> unknownIdentifier } ?: throw Exception("$unknownIdentifier1Up platform version")) .let { rawVersion -> platform?.let { rawVersion } @@ -339,4 +347,4 @@ pluginManagement { ).forEach { println(it) } } -} \ No newline at end of file +}