Sync bndlib code
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1399825 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/bundleplugin/src/main/java/aQute/bnd/differ/DiffPluginImpl.java b/bundleplugin/src/main/java/aQute/bnd/differ/DiffPluginImpl.java
index 38de872..c1d28a4 100644
--- a/bundleplugin/src/main/java/aQute/bnd/differ/DiffPluginImpl.java
+++ b/bundleplugin/src/main/java/aQute/bnd/differ/DiffPluginImpl.java
@@ -33,6 +33,11 @@
*/
final static Set<String> IGNORE_HEADERS = new TreeSet<String>(String.CASE_INSENSITIVE_ORDER);
+ /**
+ * Headers that have values that should be sorted
+ */
+ final static Set<String> ORDERED_HEADERS = new TreeSet<String>(String.CASE_INSENSITIVE_ORDER);
+
static {
MAJOR_HEADERS.add(Constants.EXPORT_PACKAGE);
MAJOR_HEADERS.add(Constants.IMPORT_PACKAGE);
@@ -47,6 +52,8 @@
IGNORE_HEADERS.add(Constants.TOOL);
IGNORE_HEADERS.add(Constants.BND_LASTMODIFIED);
IGNORE_HEADERS.add(Constants.CREATED_BY);
+
+ ORDERED_HEADERS.add(Constants.SERVICE_COMPONENT);
}
/**
@@ -166,6 +173,10 @@
clausesDef.add(new Element(Type.CLAUSE, clause.getKey(), parameterDef, CHANGED, CHANGED, null));
}
result.add(new Element(Type.HEADER, header, clausesDef, CHANGED, CHANGED, null));
+ } else if (ORDERED_HEADERS.contains(header)) {
+ ExtList<String> values = ExtList.from(value);
+ Collections.sort(values);
+ result.add(new Element(Type.HEADER, header + ":" + values.join(), null, CHANGED, CHANGED, null));
} else {
result.add(new Element(Type.HEADER, header + ":" + value, null, CHANGED, CHANGED, null));
}