ProGuard 7.7.0 fails with "Unexpected error" on Java 25 in the codecov job
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 78/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- github-actions, java
- Domain
- build-system, ci-cd
Research direction
Start with .github/workflows/codecov.yml and the ProGuard plugin configuration in pom.xml around lines 331–335. Check which ProGuard version supports Java 25 and compare it with the Java version used by the green mvn workflow. Done means the codecov job completes and coverage reaches Codecov.
Written by the indexing model from the issue text.
Description
The codecov job of the codecov workflow fails on master in the ProGuard step, not in a test.
All 96 unit tests and both invoker builds pass.
Then proguard-maven-plugin 2.7.0 stops the build:
[INFO] --- proguard:2.7.0:proguard (default) @ xembly ---
[INFO] proguard jar: [.../proguard-base-7.7.0.jar, .../proguard-core-9.1.10.jar]
[proguard] ProGuard, version 7.7.0
[proguard] Unexpected error
[ERROR] Failed to execute goal com.github.wvengen:proguard-maven-plugin:2.7.0:proguard (default) on project xembly: Obfuscation failed (result=1) -> [Help 1]
The latest failed run is https://github.com/yegor256/xembly/actions/runs/38607079127 at commit 2e66274.
The job has failed in every one of the 21 pushes since cee481e ("chore(deps): update dependency java-jdk to v25").
That commit changed .github/workflows/codecov.yml from Java 21 to Java 25:
- uses: actions/setup-java@v6
with:
distribution: 'temurin'
java-version: 25
The pom.xml (lines 331-335) gives ProGuard the JDK's own modules as library jars, so ProGuard 7.7.0 now reads Java 25 class files from temurin-25-jdk-amd64/jmods:
<libs>
<lib>${java.home}/jmods/java.base.jmod</lib>
<lib>${java.home}/jmods/java.logging.jmod</lib>
<lib>${java.home}/jmods/java.xml.jmod</lib>
</libs>
The mvn workflow still runs on Java 21 and stays green, which points at the JDK version, not at the code.
The smallest fix is to add a com.guardsquare:proguard-base dependency to the plugin, at a version that supports Java 25 (7.8 or later).
Another option is to set java-version in codecov.yml back to 21.
While this job is red, no coverage reaches Codecov, and fixes such as #370 cannot be checked against it.
- Dominant language
- Java
- Stars
- 248
- Forks
- 32
- Avg merge
- 11h 49m
- Merged PRs (30d)
- 13
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
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 yegor256/xembly
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
yegor256/xembly#371 · 1 comment ·
Maintainers usually reply within 1 day
-
bug
Difficulty 1/5 Under an hour Newbie friendliness 90/100
yegor256/xembly#370 · 1 comment ·
Maintainers usually reply within 1 day
-
bug
Difficulty 1/5 Under an hour Newbie friendliness 82/100
yegor256/xembly#333 · 2 comments ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
yegor256/xembly#320 · 2 comments ·
Maintainers usually reply within 1 day
-
enhancement
Difficulty 5/5 Over a week Newbie friendliness 25/100
yegor256/xembly#305 · 1 comment ·
Maintainers usually reply within 1 day
Similar issues
-
breaking change bug needs human review not ready priority medium size S
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
martin-francois/symphony-trello#1193 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Maintainers usually reply within 1 day
-
Mend: dependency security vulnerability
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
Maintainers usually reply within 1 day