RFR: 8355249: Remove the use of WMIC from the entire source code
Daishi Tabata
duke at openjdk.org
Tue Apr 22 07:33:14 UTC 2025
After searching the entire JDK source code, I found that WMIC is only used in four files. These WMIC calls can be replaced with PowerShell for WMI.
The primary challenge in this replacement is to make it work the same as before, even if the output format of the PowerShell command is different from the original WMIC output. Where necessary, I've adjusted the output formatting to maintain consistency.
Regarding the PowerShell options `-NoLogo`, `-NoProfile`, and `-NonInteractive`, I've included them only when they are already used in the surrounding code within the affected file.
Note: In my environment, it worked correctly even without these options.
The `failure_handler` outputs powershell command execution results directly into HTML. While the number and order of output items may differ slightly after the modification, all previously output items are still included. Therefore, I believe this is not a problem. Specific output changes are located in:
- `environment.html`: `windows/system/os` section
- `process.html`: `[Process ID]/windows/native/info` section
**Testing:**
I have confirmed that all tests in `jdk/tools/jpackage` pass after these changes.
-------------
Commit messages:
- Use powershell instead of wmic
Changes: https://git.openjdk.org/jdk/pull/24791/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=24791&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8355249
Stats: 32 lines in 4 files changed: 6 ins; 2 del; 24 mod
Patch: https://git.openjdk.org/jdk/pull/24791.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/24791/head:pull/24791
PR: https://git.openjdk.org/jdk/pull/24791
More information about the build-dev
mailing list