chore: bump JVM target from 17 to 21

Metro gradle plugin requires JVM 21+. Update all JDK 17 references:
- app/build.gradle.kts: sourceCompatibility, targetCompatibility, jvmTarget
- .devcontainer: base image java:1-17-bookworm → java:1-21-bookworm
- docs: .github/copilot-instructions.md and CLAUDE.md
This commit is contained in:
Hossain Khan
2026-04-03 08:46:30 -04:00
parent 6db244eff4
commit ca3c35fab6
5 changed files with 8 additions and 8 deletions
+1 -1
View File
@@ -4,7 +4,7 @@ This directory contains the development container configuration for TRMNL Androi
## Features
- **Base Image**: Java 17 (Bookworm)
- **Base Image**: Java 21 (Bookworm)
- **Android SDK**: Manually installed via post-create script
- **Android Command Line Tools**: Version 11076708
- **Platform Tools**: Latest version
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "TRMNL Android",
"image": "mcr.microsoft.com/devcontainers/java:1-17-bookworm",
"image": "mcr.microsoft.com/devcontainers/java:1-21-bookworm",
"features": {
"ghcr.io/devcontainers/features/git:1": {},
+2 -2
View File
@@ -55,7 +55,7 @@ This document provides essential information for GitHub Copilot agents working o
## Environment Requirements
- **JDK Version:** 17 (OpenJDK 17 - Temurin distribution recommended)
- **JDK Version:** 21 (OpenJDK 21 - Temurin distribution recommended)
- **Gradle:** 8.13 (via wrapper, do NOT install manually)
- **Android SDK:** Compile SDK 36
- **Build Tools:** Managed by Gradle plugin (AGP 8.9.2)
@@ -199,7 +199,7 @@ See `RELEASE_CHECKLIST.md` for complete release process.
## Trust These Instructions
These instructions have been validated by running all commands in a clean repository clone. If you encounter issues not documented here:
1. First verify you're using JDK 17 and the Gradle wrapper (`./gradlew`)
1. First verify you're using JDK 21 and the Gradle wrapper (`./gradlew`)
2. Try `./gradlew clean` then retry the command
3. Check if similar issues exist in closed GitHub issues
4. Only search the codebase if these instructions prove incomplete or incorrect
+1 -1
View File
@@ -53,7 +53,7 @@ TRMNL Android is a native Android app that displays TRMNL e-ink device content o
```
**Notes:**
- JDK: Minimum JDK 17, but JDK 21+ works (backward compatible)
- JDK: Minimum JDK 21 (required by Metro gradle plugin)
- ALWAYS use `./gradlew` wrapper, NEVER system gradle
- First build: ~1-2 minutes (optimized with G1GC, parallel execution, configuration cache)
- Subsequent builds: ~2-8 seconds with Gradle cache and configuration cache
+3 -3
View File
@@ -98,8 +98,8 @@ android {
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
sourceCompatibility = JavaVersion.VERSION_21
targetCompatibility = JavaVersion.VERSION_21
}
buildFeatures {
@@ -119,7 +119,7 @@ android {
kotlin {
compilerOptions {
jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17)
jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_21)
}
}