From 258b7cc48bfe1438eaca721145c9ac63bf0e02e1 Mon Sep 17 00:00:00 2001 From: sciencewhiz Date: Fri, 12 May 2023 21:26:52 -0700 Subject: [PATCH] [wpilibj] Filesystem.getDeployDirectory(): Strip JNI path from user.dir (#5317) Fixes https://www.chiefdelphi.com/t/filesystem-getdeploydirectory-returning-wrong-location-how-to-fix/427292 when unit tests are run with VS Code's java test runner due to VS Code extension setting working directory which changes user.dir. --- .../src/main/java/edu/wpi/first/wpilibj/Filesystem.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/wpilibj/src/main/java/edu/wpi/first/wpilibj/Filesystem.java b/wpilibj/src/main/java/edu/wpi/first/wpilibj/Filesystem.java index 125c1e2a04..ed70927ab1 100644 --- a/wpilibj/src/main/java/edu/wpi/first/wpilibj/Filesystem.java +++ b/wpilibj/src/main/java/edu/wpi/first/wpilibj/Filesystem.java @@ -23,7 +23,13 @@ public final class Filesystem { * @return The current working directory (launch directory) */ public static File getLaunchDirectory() { - return new File(System.getProperty("user.dir")).getAbsoluteFile(); + // workaround for + // https://www.chiefdelphi.com/t/filesystem-getdeploydirectory-returning-wrong-location-how-to-fix/427292 + String path = + System.getProperty("user.dir") + .replace( + File.separator + "build" + File.separator + "jni" + File.separator + "release", ""); + return new File(path).getAbsoluteFile(); } /**