RFR: 8236919: Refactor com.sun.tools.javac.main.CommandLine into a reusable module for other JDK tools
Christian Stein
cstein at openjdk.org
Mon Nov 21 20:26:37 UTC 2022
This PR copies the `CommandLine.java` file from module `jdk.compiler` (package `com.sun.tools.javac.main`) into the `jdk.internal.opt` module, creating a new package with name `jdk.internal.opt`. That new `jdk.internal.opt` package is then exported to the following modules:
- `jdk.jartool`
- `jdk.jlink`
- `jdk.jpackage`
Now, `jar`, `jlink`, and `jpackage` use a shared `CommandLine` class. In a future commit (presumable for JDK 21) the original `CommandLine.java` file in `jdk.compiler` can and will be replaced with this new one in `jdk.internal.opt`. Same goes for the `jdk.javadoc` module.
- [x] Keep `CommandLine.java` in `jdk.compiler` module for the time being due to "JDK N-1 rule".
- [x] Keep `CommandLine.java` in `jdk.javadoc` module for the time being due to "JDK N-1 rule".
- [x] Remove `CommandLine.java` from `jdk.jartool` module
- [x] Remove `CommandLine.java` from `jdk.jlink` module
- [x] Remove `CommandLine.java` from `jdk.jpackage` module
- [x] Check for related but renamed(?) usages of `CommandLine.java` in other JDK tools: `jshell`, `jdeps`, `jfr`, ...
-------------
Commit messages:
- 8236919: Delete superseded `CommandLine` classes
- 8236919: Refactor com.sun.tools.javac.main.CommandLine into a reusable module for other JDK tools
Changes: https://git.openjdk.org/jdk/pull/11272/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=11272&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8236919
Stats: 514 lines in 10 files changed: 35 ins; 472 del; 7 mod
Patch: https://git.openjdk.org/jdk/pull/11272.diff
Fetch: git fetch https://git.openjdk.org/jdk pull/11272/head:pull/11272
PR: https://git.openjdk.org/jdk/pull/11272
More information about the compiler-dev
mailing list