On Fri, 21 Apr 2023 17:06:44 GMT, Roger Riggs <[email protected]> wrote:
> Refactor the Platform class of jlink to use jdk.internal.util OperatingSystem
> and Architecture instead of os.name and os.arch.
> They are direct replacements for the Platform enums except for UNKNOWN; its
> use is refactored to report errors via exceptions.
>
> Neither os.name nor os.arch should be assumed to be changeable;
> one test case is removed because it assumes os.name can be changed on the
> command line.
src/jdk.jlink/share/classes/jdk/tools/jlink/internal/Platform.java line 64:
> 62: */
> 63: public boolean is64Bit() {
> 64: return (Architecture.is64bit());
Nit - the enclosing `()` aren't needed.
src/jdk.jlink/share/classes/jdk/tools/jlink/internal/Platform.java line 71:
> 69: */
> 70: public static Platform runtime() {
> 71: return new Platform(OperatingSystem.current(),
> Architecture.current());
Should we create a single `private static final Platform`, in this class, to
represent the current platform, and keep returning it instead of creating a new
instance on each call?
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/13585#discussion_r1184952486
PR Review Comment: https://git.openjdk.org/jdk/pull/13585#discussion_r1184954303