build: move required build to JDK 17, support Java8.#4175
Conversation
|
Pretty sure we can change the build version to 17+ and still produce Java 8 compatible binaries. My only fear that people depend on source builds on 8 which we've kept supported. I'll sit on this, but I needed this with the changes on Sonatype/Maven Central |
a82a51f to
cb82f87
Compare
cb82f87 to
7f5aa79
Compare
There was a problem hiding this comment.
Pull request overview
This PR updates the build/publish tooling to target the newer Vanniktech Maven Publish plugin (v0.37.0) and standardizes the build to run on JDK 17, while still compiling subprojects to Java 8 bytecode via --release 8. It also adjusts CI to always build with JDK 17 and run tests across a JVM matrix via Gradle toolchains.
Changes:
- Bump
com.vanniktech.maven.publishto0.37.0and update internal publishing docs to Maven Central credential naming. - Enforce JDK 17+ for builds; configure Gradle toolchains to build on JDK 17 and optionally run tests on other JVMs via
-PtestJdkVersion. - Update GitHub Actions CI to build with JDK 17 and pass the test JVM version to Gradle.
Reviewed changes
Copilot reviewed 5 out of 6 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
settings.gradle.kts |
Adds Foojay toolchain resolver plugin to enable auto-downloading toolchain JDKs. |
INTERNAL.md |
Updates Maven Central credential property names and JDK guidance; adds publishing-related notes. |
gradle/libs.versions.toml |
Bumps Vanniktech Maven Publish plugin version to 0.37.0. |
build.gradle.kts |
Enforces JDK 17+, configures toolchains, and adds test JVM selection via Gradle toolchains. |
brut.apktool/apktool-cli/build.gradle.kts |
Removes the JDK 11-only gate so proguard runs under the new JDK 17 build requirement. |
.github/workflows/build.yml |
Builds on JDK 17 and runs tests across a JVM matrix using -PtestJdkVersion. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
|
@copilot - how can I confirm that the runner is actually using an older java version? I don't want this to accidentally hide issues on older version. I need extreme certainty the suite is running the older version |
I've added a This appears in the CI log before the first test class runs, so you get the full executable path (confirming it's not the build JDK at |
|
@copilot - why is there no output of how many tests failed/worked? I think its odd. I'd like to see in build output how many tests ran |
Added in the latest commit. Every test task now logs failed/skipped events inline and prints a summary line at the end of each subproject's test run, e.g.: This applies to all builds, not only when |
|
@copilot - is it not possible for |
Unfortunately no — I tested it and Gradle rejects it with |
This is JDK v17