From 426aa2a225f13261f653179ae21da5ce8724c340 Mon Sep 17 00:00:00 2001 From: Jaime Wren Date: Thu, 17 Jul 2025 15:18:31 -0700 Subject: [PATCH] Remove calls to the deprecated static methods in the platform FileUtil class These methods are marked as being removed in the future in the platform. --- .../dart/ide/actions/DartPubBuildDialog.java | 4 +-- .../jetbrains/lang/dart/util/PathUtil.java | 34 +++++++++++++++++++ 2 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 third_party/src/main/java/com/jetbrains/lang/dart/util/PathUtil.java diff --git a/third_party/src/main/java/com/jetbrains/lang/dart/ide/actions/DartPubBuildDialog.java b/third_party/src/main/java/com/jetbrains/lang/dart/ide/actions/DartPubBuildDialog.java index d2a449722..50f1a0c5f 100644 --- a/third_party/src/main/java/com/jetbrains/lang/dart/ide/actions/DartPubBuildDialog.java +++ b/third_party/src/main/java/com/jetbrains/lang/dart/ide/actions/DartPubBuildDialog.java @@ -8,7 +8,6 @@ import com.intellij.openapi.ui.TextComponentAccessor; import com.intellij.openapi.ui.TextFieldWithBrowseButton; import com.intellij.openapi.ui.ValidationInfo; -import com.intellij.openapi.util.SystemInfo; import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.vfs.VirtualFile; @@ -17,6 +16,7 @@ import com.jetbrains.lang.dart.DartBundle; import com.jetbrains.lang.dart.pubServer.DartWebdev; import com.jetbrains.lang.dart.sdk.DartSdk; +import com.jetbrains.lang.dart.util.PathUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -79,7 +79,7 @@ public DartPubBuildDialog(final @NotNull Project project, final @NotNull Virtual @Override public String getText(JTextField component) { final String path = component.getText(); - if (SystemInfo.isWindows && FileUtil.isWindowsAbsolutePath(path) || !SystemInfo.isWindows && FileUtil.isUnixAbsolutePath(path)) { + if (PathUtil.isAbsolutePlatformIndependent(path)) { return path; } return packagePathSlash + path; diff --git a/third_party/src/main/java/com/jetbrains/lang/dart/util/PathUtil.java b/third_party/src/main/java/com/jetbrains/lang/dart/util/PathUtil.java new file mode 100644 index 000000000..d0c91736f --- /dev/null +++ b/third_party/src/main/java/com/jetbrains/lang/dart/util/PathUtil.java @@ -0,0 +1,34 @@ +package com.jetbrains.lang.dart.util; + +import com.intellij.openapi.util.SystemInfo; +import com.intellij.openapi.util.io.OSAgnosticPathUtil; +import org.jetbrains.annotations.NotNull; + +public class PathUtil { + private PathUtil() { + } + + public static boolean isAbsolutePlatformIndependent(@NotNull String path) { + return (SystemInfo.isWindows && PathUtil.isWindowsAbsolutePath(path)) + || (!SystemInfo.isWindows && PathUtil.isUnixAbsolutePath(path)); + } + + /** + * See documentation in Community's FileUtil.java, this method intentionally matches the deprecated version from the + * platform. + */ + public static boolean isUnixAbsolutePath(@NotNull String path) { + return path.startsWith("/"); + + } + + /** + * See documentation in Community's FileUtil.java, this method intentionally matches the deprecated version from the + * platform. + */ + public static boolean isWindowsAbsolutePath(@NotNull String path) { + return path.length() <= 2 && OSAgnosticPathUtil.startsWithWindowsDrive(path) + || OSAgnosticPathUtil.isAbsoluteDosPath(path); + + } +}