Skip to content

Commit e62be0b

Browse files
committed
Fix launch -configuration param to always be proper URI
Ensures that the parameter can always we be converted back to URI. It's been already done for -dev param value. Fixed PluginBasedLaunchTest to no longer try to "workaround" -configuration values that can't be converted to URI.
1 parent aaaa0c0 commit e62be0b

File tree

4 files changed

+5
-12
lines changed

4 files changed

+5
-12
lines changed

ui/org.eclipse.pde.launching/src/org/eclipse/pde/launching/EclipseApplicationLaunchConfiguration.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ public String[] getProgramArguments(ILaunchConfiguration configuration) throws C
124124
boolean showSplash = prop.containsKey("osgi.splashPath") || prop.containsKey("splashLocation"); //$NON-NLS-1$ //$NON-NLS-2$
125125
TargetPlatformHelper.checkPluginPropertiesConsistency(fAllBundles, getConfigDir(configuration));
126126
programArgs.add("-configuration"); //$NON-NLS-1$
127-
programArgs.add("file:" + IPath.fromOSString(getConfigDir(configuration).getPath()).addTrailingSeparator().toString()); //$NON-NLS-1$
127+
programArgs.add(IPath.fromOSString(getConfigDir(configuration).getPath()).addTrailingSeparator().toPath().toUri().toString());
128128

129129
// add the output folder names
130130
programArgs.add("-dev"); //$NON-NLS-1$

ui/org.eclipse.pde.launching/src/org/eclipse/pde/launching/EquinoxLaunchConfiguration.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ public String[] getProgramArguments(ILaunchConfiguration configuration) throws C
8888

8989
saveConfigurationFile(configuration);
9090
programArgs.add("-configuration"); //$NON-NLS-1$
91-
programArgs.add("file:" + IPath.fromOSString(getConfigDir(configuration).getPath()).addTrailingSeparator().toString()); //$NON-NLS-1$
91+
programArgs.add(IPath.fromOSString(getConfigDir(configuration).getPath()).addTrailingSeparator().toPath().toUri().toString());
9292

9393
String[] args = super.getProgramArguments(configuration);
9494
Collections.addAll(programArgs, args);

ui/org.eclipse.pde.launching/src/org/eclipse/pde/launching/JUnitLaunchConfigurationDelegate.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,7 @@ protected void collectExecutionArguments(ILaunchConfiguration configuration, Lis
223223
TargetPlatformHelper.checkPluginPropertiesConsistency(fAllBundles, getConfigurationDirectory(configuration));
224224

225225
programArgs.add("-configuration"); //$NON-NLS-1$
226-
programArgs.add("file:" + IPath.fromOSString(getConfigurationDirectory(configuration).getPath()).addTrailingSeparator().toString()); //$NON-NLS-1$
226+
programArgs.add(IPath.fromOSString(getConfigurationDirectory(configuration).getPath()).addTrailingSeparator().toPath().toUri().toString());
227227

228228
// Specify the output folder names
229229
programArgs.add("-dev"); //$NON-NLS-1$

ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/launcher/PluginBasedLaunchTest.java

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,7 @@
2727

2828
import java.io.File;
2929
import java.io.InputStream;
30-
import java.net.MalformedURLException;
3130
import java.net.URI;
32-
import java.net.URL;
3331
import java.nio.file.Files;
3432
import java.nio.file.Path;
3533
import java.util.Arrays;
@@ -1052,18 +1050,13 @@ private static ILaunchConfigurationWorkingCopy createPluginLaunchConfig(String n
10521050
private static final Pattern WHITESPACE = Pattern.compile("\\s+");
10531051

10541052
private Path getConfigurationFolder(ILaunchConfigurationWorkingCopy launchConfig)
1055-
throws CoreException, MalformedURLException {
1053+
throws CoreException {
10561054
ILaunch launch = new Launch(launchConfig, ILaunchManager.RUN_MODE, null);
10571055
var config = new EclipseApplicationLaunchConfiguration();
10581056
String commandLine = config.showCommandLine(launchConfig, ILaunchManager.RUN_MODE, launch, null);
10591057
String configURL = WHITESPACE.splitAsStream(commandLine) //
10601058
.dropWhile(t -> !"-configuration".equals(t)).skip(1).findFirst().get();
1061-
// The configURL is not properly build, therefore this hack is necessary
1062-
try {
1063-
return Path.of(URI.create(configURL));
1064-
} catch (IllegalArgumentException e) {
1065-
return Path.of(new URL(configURL).getPath());
1066-
}
1059+
return Path.of(URI.create(configURL));
10671060
}
10681061

10691062
private static String getInstallLocation(IPluginModelBase plugin) {

0 commit comments

Comments
 (0)