[571063] Capture preferences encodes dollar literal one time too often
diff --git a/plugins/org.eclipse.oomph.setup.core/META-INF/MANIFEST.MF b/plugins/org.eclipse.oomph.setup.core/META-INF/MANIFEST.MF
index 4f9ca1f..eb06d71 100644
--- a/plugins/org.eclipse.oomph.setup.core/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.oomph.setup.core/META-INF/MANIFEST.MF
@@ -33,7 +33,7 @@
org.eclipse.equinox.security;bundle-version="[1.0.0,2.0.0)",
org.eclipse.oomph.base.edit;bundle-version="[1.13.0,2.0.0)",
org.eclipse.oomph.p2.core;bundle-version="[1.17.0,2.0.0)",
- org.eclipse.oomph.setup;bundle-version="[1.18.0,2.0.0)";visibility:=reexport,
+ org.eclipse.oomph.setup;bundle-version="[1.19.0,2.0.0)";visibility:=reexport,
org.eclipse.oomph.setup.p2;bundle-version="[1.16.0,2.0.0)",
org.eclipse.oomph.preferences;bundle-version="[1.12.0,2.0.0)",
org.eclipse.core.net;bundle-version="[1.2.0,2.0.0)"
diff --git a/plugins/org.eclipse.oomph.setup.editor/META-INF/MANIFEST.MF b/plugins/org.eclipse.oomph.setup.editor/META-INF/MANIFEST.MF
index 83401bf..f582425 100644
--- a/plugins/org.eclipse.oomph.setup.editor/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.oomph.setup.editor/META-INF/MANIFEST.MF
@@ -2,13 +2,13 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.oomph.setup.editor;singleton:=true
-Bundle-Version: 1.18.0.qualifier
+Bundle-Version: 1.19.0.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.oomph.setup.presentation.SetupEditorPlugin$Implementation
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Export-Package: org.eclipse.oomph.setup.editor;version="1.18.0";x-internal:=true,
+Export-Package: org.eclipse.oomph.setup.editor;version="1.19.0";x-internal:=true,
org.eclipse.oomph.setup.presentation;version="1.5.0";x-internal:=true,
org.eclipse.oomph.setup.presentation.handlers;version="1.5.0";x-internal:=true,
org.eclipse.oomph.setup.presentation.templates;version="1.5.0";x-internal:=true
@@ -20,7 +20,7 @@
org.eclipse.oomph.resources.edit;bundle-version="[1.11.0,2.0.0)";visibility:=reexport,
org.eclipse.oomph.preferences;bundle-version="[1.12.0,2.0.0)",
org.eclipse.oomph.setup.edit;bundle-version="[1.15.0,2.0.0)";visibility:=reexport,
- org.eclipse.oomph.setup.ui;bundle-version="[1.18.0,2.0.0)",
+ org.eclipse.oomph.setup.ui;bundle-version="[1.20.0,2.0.0)",
org.eclipse.oomph.setup.sync;bundle-version="[1.13.0,2.0.0)",
org.eclipse.oomph.workingsets.edit;bundle-version="[1.11.0,2.0.0)";visibility:=reexport,
org.eclipse.oomph.workingsets.editor;bundle-version="[1.12.0,2.0.0)",
@@ -32,6 +32,6 @@
org.eclipse.oomph.base.edit;bundle-version="[1.13.0,2.0.0)";visibility:=reexport,
org.eclipse.oomph.setup.p2.edit;bundle-version="[1.13.0,2.0.0)",
org.eclipse.oomph.p2.edit;bundle-version="[1.14.0,2.0.0)";visibility:=reexport,
- org.eclipse.oomph.p2.ui;bundle-version="[1.14.0,2.0.0)"
+ org.eclipse.oomph.p2.ui;bundle-version="[1.15.0,2.0.0)"
Bundle-ActivationPolicy: lazy
Automatic-Module-Name: org.eclipse.oomph.setup.editor
diff --git a/plugins/org.eclipse.oomph.setup.editor/pom.xml b/plugins/org.eclipse.oomph.setup.editor/pom.xml
index daf18d6..66a6b2d 100644
--- a/plugins/org.eclipse.oomph.setup.editor/pom.xml
+++ b/plugins/org.eclipse.oomph.setup.editor/pom.xml
@@ -20,7 +20,7 @@
</parent>
<groupId>org.eclipse.oomph</groupId>
<artifactId>org.eclipse.oomph.setup.editor</artifactId>
- <version>1.18.0-SNAPSHOT</version>
+ <version>1.19.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
<build>
diff --git a/plugins/org.eclipse.oomph.setup.editor/src/org/eclipse/oomph/setup/presentation/PreferenceCaptureDialog.java b/plugins/org.eclipse.oomph.setup.editor/src/org/eclipse/oomph/setup/presentation/PreferenceCaptureDialog.java
index 8bd120f..a1bc4e7 100644
--- a/plugins/org.eclipse.oomph.setup.editor/src/org/eclipse/oomph/setup/presentation/PreferenceCaptureDialog.java
+++ b/plugins/org.eclipse.oomph.setup.editor/src/org/eclipse/oomph/setup/presentation/PreferenceCaptureDialog.java
@@ -19,6 +19,8 @@
import org.eclipse.oomph.setup.PreferenceTask;
import org.eclipse.oomph.setup.SetupTask;
import org.eclipse.oomph.setup.ui.recorder.RecorderTransaction;
+import org.eclipse.oomph.setup.util.SetupUtil;
+import org.eclipse.oomph.setup.util.StringExpander;
import org.eclipse.oomph.util.IORuntimeException;
import org.eclipse.oomph.util.Pair;
import org.eclipse.oomph.util.PropertiesUtil;
@@ -405,7 +407,30 @@
for (Object object : included)
{
PreferenceTask preferenceTask = (PreferenceTask)object;
- result.put(PreferencesFactory.eINSTANCE.createURI(preferenceTask.getKey()), new Pair<String, String>(null, preferenceTask.getValue()));
+ new StringExpander()
+ {
+ @Override
+ protected String resolve(String key)
+ {
+ return null;
+ }
+
+ @Override
+ protected boolean isUnexpanded(String key)
+ {
+ return false;
+ }
+
+ @Override
+ protected String filter(String value, String filterName)
+ {
+ return null;
+ }
+ };
+
+ String escapedValue = preferenceTask.getValue();
+ String actualValue = SetupUtil.descape(escapedValue);
+ result.put(PreferencesFactory.eINSTANCE.createURI(preferenceTask.getKey()), new Pair<String, String>(null, actualValue));
}
return result;
diff --git a/plugins/org.eclipse.oomph.setup.installer/META-INF/MANIFEST.MF b/plugins/org.eclipse.oomph.setup.installer/META-INF/MANIFEST.MF
index 558b927..3d3018d 100644
--- a/plugins/org.eclipse.oomph.setup.installer/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.oomph.setup.installer/META-INF/MANIFEST.MF
@@ -10,7 +10,7 @@
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
org.eclipse.emf.ecore.xmi;bundle-version="[2.10.0,3.0.0)",
org.eclipse.emf.edit.ui;bundle-version="[2.10.0,3.0.0)",
- org.eclipse.oomph.setup;bundle-version="[1.18.0,2.0.0)",
+ org.eclipse.oomph.setup;bundle-version="[1.19.0,2.0.0)",
org.eclipse.oomph.setup.edit;bundle-version="[1.15.0,2.0.0)",
org.eclipse.oomph.setup.ui;bundle-version="[1.20.0,2.0.0)",
org.eclipse.equinox.p2.operations;bundle-version="[2.0.0,3.0.0)",
diff --git a/plugins/org.eclipse.oomph.setup.jdt/META-INF/MANIFEST.MF b/plugins/org.eclipse.oomph.setup.jdt/META-INF/MANIFEST.MF
index 9f32f87..8a01c85 100644
--- a/plugins/org.eclipse.oomph.setup.jdt/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.oomph.setup.jdt/META-INF/MANIFEST.MF
@@ -12,7 +12,7 @@
org.eclipse.oomph.setup.jdt.util;version="1.17.0";x-internal:=true
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
org.eclipse.emf.ecore;bundle-version="[2.10.0,3.0.0)";visibility:=reexport,
- org.eclipse.oomph.setup;bundle-version="[1.18.0,2.0.0)";visibility:=reexport,
+ org.eclipse.oomph.setup;bundle-version="[1.19.0,2.0.0)";visibility:=reexport,
org.eclipse.jdt.launching;bundle-version="[3.6.0,4.0.0)"
Bundle-ActivationPolicy: lazy
Automatic-Module-Name: org.eclipse.oomph.setup.jdt
diff --git a/plugins/org.eclipse.oomph.setup/META-INF/MANIFEST.MF b/plugins/org.eclipse.oomph.setup/META-INF/MANIFEST.MF
index 4555486..0f9bb5c 100644
--- a/plugins/org.eclipse.oomph.setup/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.oomph.setup/META-INF/MANIFEST.MF
@@ -1,7 +1,7 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-SymbolicName: org.eclipse.oomph.setup;singleton:=true
-Bundle-Version: 1.18.0.qualifier
+Bundle-Version: 1.19.0.qualifier
Bundle-ClassPath: .
Bundle-Name: %pluginName
Bundle-Vendor: %providerName
@@ -16,10 +16,10 @@
org.eclipse.emf.ecore;bundle-version="[2.10.0,3.0.0)";visibility:=reexport
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Bundle-ActivationPolicy: lazy
-Export-Package: org.eclipse.oomph.internal.setup;version="1.18.0";x-internal:=true,
- org.eclipse.oomph.setup;version="1.18.0";x-internal:=true,
- org.eclipse.oomph.setup.impl;version="1.18.0";x-internal:=true,
- org.eclipse.oomph.setup.log;version="1.18.0";x-internal:=true,
- org.eclipse.oomph.setup.util;version="1.18.0";x-internal:=true
+Export-Package: org.eclipse.oomph.internal.setup;version="1.19.0";x-internal:=true,
+ org.eclipse.oomph.setup;version="1.19.0";x-internal:=true,
+ org.eclipse.oomph.setup.impl;version="1.19.0";x-internal:=true,
+ org.eclipse.oomph.setup.log;version="1.19.0";x-internal:=true,
+ org.eclipse.oomph.setup.util;version="1.19.0";x-internal:=true
Bundle-Activator: org.eclipse.oomph.internal.setup.SetupPlugin$Implementation
Automatic-Module-Name: org.eclipse.oomph.setup
diff --git a/plugins/org.eclipse.oomph.setup/pom.xml b/plugins/org.eclipse.oomph.setup/pom.xml
index 6425882..ccfafdd 100644
--- a/plugins/org.eclipse.oomph.setup/pom.xml
+++ b/plugins/org.eclipse.oomph.setup/pom.xml
@@ -20,7 +20,7 @@
</parent>
<groupId>org.eclipse.oomph</groupId>
<artifactId>org.eclipse.oomph.setup</artifactId>
- <version>1.18.0-SNAPSHOT</version>
+ <version>1.19.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
<build>
diff --git a/plugins/org.eclipse.oomph.setup/src/org/eclipse/oomph/setup/util/SetupUtil.java b/plugins/org.eclipse.oomph.setup/src/org/eclipse/oomph/setup/util/SetupUtil.java
index da82453..95d2571 100644
--- a/plugins/org.eclipse.oomph.setup/src/org/eclipse/oomph/setup/util/SetupUtil.java
+++ b/plugins/org.eclipse.oomph.setup/src/org/eclipse/oomph/setup/util/SetupUtil.java
@@ -87,6 +87,31 @@
return result.toString();
}
+ public static String descape(String string)
+ {
+ return new StringExpander()
+ {
+
+ @Override
+ protected String resolve(String key)
+ {
+ return CONTROL_CHARACTER_VALUES.containsKey(key) ? CONTROL_CHARACTER_VALUES.get(key) : key;
+ }
+
+ @Override
+ protected boolean isUnexpanded(String key)
+ {
+ return !CONTROL_CHARACTER_VALUES.containsKey(key);
+ }
+
+ @Override
+ protected String filter(String value, String filterName)
+ {
+ return value;
+ }
+ }.expandString(string);
+ }
+
public static Set<String> getResolvingTargetDefinitions(SetupTaskContext context)
{
@SuppressWarnings("unchecked")