diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml new file mode 100644 index 00000000..029480d1 --- /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 e2759af8..dc203c7d 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -657,6 +657,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 a60989d9..8dfe322e 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 +}