Repository: cordova-windows
Updated Branches:
  refs/heads/master eb3a46887 -> 36b20a7b4


CB-7601 Build fails due to capabilities with m: prefixes are incorrectly sorted


Project: http://git-wip-us.apache.org/repos/asf/cordova-windows/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-windows/commit/36b20a7b
Tree: http://git-wip-us.apache.org/repos/asf/cordova-windows/tree/36b20a7b
Diff: http://git-wip-us.apache.org/repos/asf/cordova-windows/diff/36b20a7b

Branch: refs/heads/master
Commit: 36b20a7b431aeb57e28201e04fc9cb80143b2943
Parents: eb3a468
Author: sgrebnov <[email protected]>
Authored: Fri Sep 19 15:06:13 2014 +0400
Committer: sgrebnov <[email protected]>
Committed: Fri Sep 19 15:06:13 2014 +0400

----------------------------------------------------------------------
 windows/template/cordova/lib/prepare.js | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/36b20a7b/windows/template/cordova/lib/prepare.js
----------------------------------------------------------------------
diff --git a/windows/template/cordova/lib/prepare.js 
b/windows/template/cordova/lib/prepare.js
index f28ebea..5e3f533 100644
--- a/windows/template/cordova/lib/prepare.js
+++ b/windows/template/cordova/lib/prepare.js
@@ -165,16 +165,25 @@ function applyAccessRules (config, manifest) {
 }
 
 function sortCapabilities(manifest) {
+
+    // removes namespace prefix (m3:Capability -> Capability)
+    // this is required since elementtree returns qualified name with namespace
+    function extractLocalName(tag) {
+        return tag.split(':').pop(); // takes last part of string after ':'
+    }
+
     var capabilitiesRoot = manifest.find('.//Capabilities'),
         capabilities = capabilitiesRoot._children || [];
     // to sort elements we remove them and then add again in the appropriate 
order
     capabilities.forEach(function(elem) { // no .clear() method
         capabilitiesRoot.remove(0, elem);
+        // CB-7601 we need local name w/o namespace prefix to sort 
capabilities correctly
+        elem.localName = extractLocalName(elem.tag);
     });
     capabilities.sort(function(a, b) {
-        return (a.tag > b.tag) ? 1: -1;
+        return (a.localName > b.localName) ? 1: -1;
     });
-    capabilities.forEach(function(elem){
+    capabilities.forEach(function(elem) {
         capabilitiesRoot.append(elem);
     });
 }

Reply via email to