diff --git a/css.editor/src/org/netbeans/modules/css/resources/layer.xml b/css.editor/src/org/netbeans/modules/css/resources/layer.xml
--- a/css.editor/src/org/netbeans/modules/css/resources/layer.xml
+++ b/css.editor/src/org/netbeans/modules/css/resources/layer.xml
@@ -164,6 +164,10 @@
+
+
+
+
diff --git a/nbbuild/antsrc/org/netbeans/nbbuild/LayerOptionsImport.java b/nbbuild/antsrc/org/netbeans/nbbuild/LayerOptionsImport.java
--- a/nbbuild/antsrc/org/netbeans/nbbuild/LayerOptionsImport.java
+++ b/nbbuild/antsrc/org/netbeans/nbbuild/LayerOptionsImport.java
@@ -146,7 +146,7 @@
log(origin);
}
for (String name : name2value.keySet()) {
- if (name.matches("(in|ex)clude")) {
+ if (name.matches("(in|ex)clude") || name.equals("translate")) {
String value = name2value.get(name);
if (value != null && value.length() > 0) {
String line = String.format("%s %s", name, value);
@@ -198,9 +198,14 @@
String n = attributes.getValue("name");
prefix += n;
register(prefix);
- } else if (qName.equals("attr") && attributes.getValue("name").matches("(in|ex)clude")) {
+ } else if (qName.equals("attr") && (attributes.getValue("name").matches("(in|ex)clude")
+ || attributes.getValue("name").equals("translate"))) {
String attrName = attributes.getValue("name");
String attrValue = attributes.getValue("stringvalue");
+ if(attrName.equals("translate")) {
+ prefix = "OptionsExport/".concat(cnb);
+ register(prefix);
+ }
Map name2value = attributesMap.get(prefix);
if (name2value == null) {
name2value = new HashMap();
diff --git a/o.n.upgrader/src/org/netbeans/upgrade/CopyFiles.java b/o.n.upgrader/src/org/netbeans/upgrade/CopyFiles.java
--- a/o.n.upgrader/src/org/netbeans/upgrade/CopyFiles.java
+++ b/o.n.upgrader/src/org/netbeans/upgrade/CopyFiles.java
@@ -52,7 +52,9 @@
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.Reader;
+import java.util.HashMap;
import java.util.HashSet;
+import java.util.Map.Entry;
import java.util.Set;
import java.util.logging.Level;
import java.util.logging.Logger;
@@ -67,18 +69,13 @@
* @author Jiri Skrivanek
*/
final class CopyFiles extends Object {
-
- //>>> hack for http://netbeans.org/bugzilla/show_bug.cgi?id=218976
- private static final String CSSSP = "config/Editors/text/";
- private static final String ORIG_CSSSP = CSSSP + "x-css";
- private static final String TARG_CSSSP = CSSSP + "css";
- //<< includePatterns = new HashSet();
private Set excludePatterns = new HashSet();
+ private HashMap translatePatterns = new HashMap(); //
private static final Logger LOGGER = Logger.getLogger(CopyFiles.class.getName());
private CopyFiles(File source, File target, File patternsFile) {
@@ -193,9 +190,14 @@
return;
}
- //>>> hack for http://netbeans.org/bugzilla/show_bug.cgi?id=218976
- if(relativePath.startsWith(ORIG_CSSSP)) { relativePath = TARG_CSSSP + relativePath.substring(ORIG_CSSSP.length()); }
- //<<<
+ for (Entry entry : translatePatterns.entrySet()) {
+ if (relativePath.startsWith(entry.getKey())) {
+ String value = entry.getValue();
+ LOGGER.log(Level.INFO, "Translating old relative path: {0}", relativePath); //NOI18N
+ relativePath = value + relativePath.substring(entry.getKey().length());
+ LOGGER.log(Level.INFO, " to new one: {0}", relativePath); //NOI18N
+ }
+ }
File targetFile = new File(targetRoot, relativePath);
LOGGER.log(Level.FINE, "Path: {0}", relativePath); //NOI18N
@@ -299,6 +301,22 @@
if (line.length() > 0) {
excludePatterns.addAll(parsePattern(line));
}
+ } else if (line.startsWith("translate ")) { //NOI18N
+ line = line.substring(10);
+ if (line.length() > 0) {
+ String[] translations = line.split("\\|");
+ for (String translation : translations) {
+ String originalPath = translation.substring(0, translation.indexOf("=>"));
+ String newPath = translation.substring(translation.lastIndexOf("=>") + 2);
+ if (translatePatterns.containsKey(originalPath)) {
+ LOGGER.log(Level.INFO, "Translation already exists: {0}. Ignoring new translation: {1}", //NOI18N
+ new Object[]{originalPath.concat("=>").concat(translatePatterns.get(originalPath)),
+ originalPath.concat("=>").concat(newPath)});
+ } else {
+ translatePatterns.put(originalPath, newPath);
+ }
+ }
+ }
} else {
throw new java.io.IOException("Wrong line: " + line); //NOI18N
}