diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index 422d38bcb..6475f79d5 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -24,7 +24,7 @@ permissions: security-events: none statuses: none env: - JAVA_HOME: /usr/lib/jvm/java-17-openjdk-amd64 + JAVA_HOME: /usr/lib/jvm/java-21-openjdk-amd64 jobs: build: runs-on: ubuntu-latest @@ -36,10 +36,10 @@ jobs: - name: Fail on bad translations run: if grep -ri "<xliff" app/src/main/res/values*/strings.xml; then echo "Invalidly escaped translations found"; exit 1; fi - uses: gradle/actions/wrapper-validation@v4 - - name: set up OpenJDK 17 + - name: set up OpenJDK 21 run: | sudo apt-get update - sudo apt-get install -y openjdk-17-jdk-headless + sudo apt-get install -y openjdk-21-jdk-headless sudo update-alternatives --auto java - name: Build run: ./gradlew assemble${{ matrix.flavor }}Release diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 97d3e5683..d34f5e0af 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -14,6 +14,10 @@ spotbugs { reportsDir.set(layout.buildDirectory.file("reports/spotbugs/").get().asFile) } +kotlin { + jvmToolchain(21) +} + android { namespace = "protect.card_locker" compileSdk = 35 @@ -104,7 +108,11 @@ android { lintConfig = file("lint.xml") } kotlinOptions { - jvmTarget = "17" + jvmTarget = "21" + } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_21 + targetCompatibility = JavaVersion.VERSION_21 } } diff --git a/build.sh b/build.sh index 8cd9e6b99..d7168d018 100755 --- a/build.sh +++ b/build.sh @@ -11,13 +11,13 @@ if [ -z "${ANDROID_SDK_ROOT:-}" ]; then fi if [ -z "${JAVA_HOME:-}" ]; then - echo "JAVA_HOME is not set, setting to Java 17" + echo "JAVA_HOME is not set, setting to Java 21" if [ -f "/etc/debian_version" ]; then - echo "Debian-based distro, Java 17 is /usr/lib/jvm/java-17-openjdk-amd64" - export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 + echo "Debian-based distro, Java 21 is /usr/lib/jvm/java-21-openjdk-amd64" + export JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64 else - echo "Not Debian-based, assuming Fedora and setting Java 17 as /usr/lib/jvm/java-17-openjdk" - export JAVA_HOME=/usr/lib/jvm/java-17-openjdk + echo "Not Debian-based, assuming Fedora and setting Java 21 as /usr/lib/jvm/java-21-openjdk" + export JAVA_HOME=/usr/lib/jvm/java-21-openjdk fi fi