From 126de32bc063b43bed9b526866ebc76a9cf8ef1f Mon Sep 17 00:00:00 2001 From: Ed Merks Date: Fri, 28 Mar 2025 12:15:43 +0100 Subject: [PATCH] Fix TargetWeaver.getDevProperties() to decode fgDevPropertiesURL https://github.com/eclipse-pde/eclipse.pde/issues/1708 --- .../pde/internal/core/TargetWeaver.java | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/TargetWeaver.java b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/TargetWeaver.java index 1c2c5722a3d..d8af8b3dda2 100644 --- a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/TargetWeaver.java +++ b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/TargetWeaver.java @@ -21,6 +21,8 @@ import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; +import java.net.URI; +import java.net.URISyntaxException; import java.net.URL; import java.nio.file.Files; import java.nio.file.Path; @@ -78,13 +80,10 @@ private static synchronized Properties getDevProperties() { fgDevProperties = new Properties(); try { URL url = new URL(fgDevPropertiesURL); - String path = url.getFile(); - if (path != null && path.length() > 0) { - File file = new File(path); - if (file.exists()) { - try (InputStream stream = new FileInputStream(file)) { - fgDevProperties.load(stream); - } + File file = toFile(url); + if (file.exists()) { + try (InputStream stream = new FileInputStream(file)) { + fgDevProperties.load(stream); } } } catch (IOException e) { @@ -217,4 +216,13 @@ private static Bundle findRunningPlatformBundle(String symbolicName, String vers } return Arrays.stream(platformBundles).filter(b -> b.getVersion().equals(version)).findAny().orElse(null); } + + private static File toFile(URL url) { + try { + URI uri = url.toURI(); + return new File(uri); + } catch (URISyntaxException e) { + return new File(url.getFile()); + } + } }