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