RFR: 8266835: Add a --validate option to the jar tool
Jorn Vernee
jvernee at openjdk.java.net
Wed May 19 14:24:19 UTC 2021
This patch adds a `--validate` option to the jar tool which can be used to validate a jar file that might be malformed. For instance, if a jar is a multi-release jar, it is malformed if different versions expose different APIs.
The implementation is straight forward since there already exists validation logic that is run when creating or updating a jar. This patch just exposes that logic directly under a new command line flag.
I've enhanced the existing ApiValidatorTest to also create malformed jars using the zip file APIs (the jar tool does not output malformed jars) and run them through `jar --validate`.
Note that while the jdk's jar tool does not output malformed jars, third-party archiving tools might, or the jar could have been manually edited.
Some prior discussion here: https://mail.openjdk.java.net/pipermail/core-libs-dev/2021-May/077420.html
Testing: running jdk/tools/jar test suite locally, tier 1-3 (in progress), manual testing.
-------------
Commit messages:
- - Remove spurious test imports
- Add tests
- Change validate option wording to not mention multi-release jars
- Add jar --validate
Changes: https://git.openjdk.java.net/jdk/pull/3971/files
Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=3971&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8266835
Stats: 146 lines in 4 files changed: 114 ins; 4 del; 28 mod
Patch: https://git.openjdk.java.net/jdk/pull/3971.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/3971/head:pull/3971
PR: https://git.openjdk.java.net/jdk/pull/3971
More information about the core-libs-dev
mailing list