No Gradle toolchain is declared, so the build silently uses whatever JAVA_HOME provides
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 48/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Quiet
- Domain
- build-system, tooling
Research direction
Read maddi-kotlin-k2/build.gradle.kts, which already documents using the daemon JDK instead of a provisioned toolchain because Kotlin 2.4 targets JVM 25 while development uses JDK 26. Add a Gradle toolchain that still allows that split so local and CI builds match. Cross-check docs/landing-surface-checklist.md §3. Done when ./gradlew build uses a declared toolchain without breaking the openjdk/k2 compiler path.
Written by the indexing model from the issue text.
Description
There is no Gradle toolchain declaration anywhere, so the build compiles against whatever
JAVA_HOME happens to be. This is the same class of latent portability bug as the missing daemon
heap, which made git clone && ./gradlew build fail on any machine without a user-level
~/.gradle/gradle.properties — it passed locally only because that file supplied one, and CI was
the first environment honest enough not to have it.
Declaring a toolchain would make CI and local builds agree by construction rather than by
convention.
The complication, which is why this is not a one-liner. The openjdk front end reaches into
jdk.compiler internals, and maddi-kotlin-k2/build.gradle.kts already notes that it deliberately
uses the daemon JDK rather than a provisioned toolchain, because Kotlin 2.4 caps its target at JVM
25 while development happens on JDK 26. Any toolchain declaration has to accommodate that split.
Recorded in docs/landing-surface-checklist.md §3.
- Dominant language
- Java
- Stars
- 1
- Forks
- 1
- Avg merge
- 2h 51m
- Merged PRs (30d)
- 3
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from CodeLaser/maddi
-
build/ci good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
enhancement
Difficulty 3/5 1-2 days Newbie friendliness 45/100
-
Java → C# translation: an idiomatic C# printer driven by the modification and nullability analysesOpenenhancement extension front-end:csharp
Difficulty 5/5 Over a week Newbie friendliness 8/100
-
bug
Difficulty 4/5 3-5 days Newbie friendliness 40/100
-
bug
Difficulty 4/5 3-5 days Newbie friendliness 45/100
Similar issues
-
enhancement good first issue
Difficulty 2/5 Half a day Newbie friendliness 66/100
apache/fineract-consumer-facing#175 ·
Maintainers usually reply within 1 day
-
[BUG] 订单:会员凭订单号即可取消其他会员的待付款订单(取消接口不校验订单归属)Possibly taken @dadiyang claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
macrozheng/mall#1016 ·
-
[Bug] The producer summary counts an unreported client version as a second version and warns about a version mixPossibly taken A pull request linked to this issue is open or already merged. Open
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
apache/rocketmq-dashboard#6110 ·
Maintainers usually reply within 4 days
-
Feature:Resolution
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
intellij-elixir/intellij-elixir#4396 ·
Maintainers usually reply within 1 day
-
Python 3.15 supportPossibly taken @amnesiaof claimed this today. OpenL: python L: python:uv
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
dependabot/dependabot-core#16524 · 1 comment ·
Maintainers usually reply within 1 day