cordova-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ste...@apache.org
Subject [1/4] cordova-common git commit: CB-13145: added variable replacing to framework tag
Date Wed, 30 Aug 2017 05:44:54 GMT
Repository: cordova-common
Updated Branches:
  refs/heads/master cf5db0b09 -> b30d8991e


CB-13145: added variable replacing to framework tag


Project: http://git-wip-us.apache.org/repos/asf/cordova-common/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-common/commit/93fe7ead
Tree: http://git-wip-us.apache.org/repos/asf/cordova-common/tree/93fe7ead
Diff: http://git-wip-us.apache.org/repos/asf/cordova-common/diff/93fe7ead

Branch: refs/heads/master
Commit: 93fe7eaddc150b878c396f8f8b370f8fa2034ff8
Parents: cf5db0b
Author: Steve Gill <stevengill97@gmail.com>
Authored: Thu Aug 17 17:18:12 2017 -0700
Committer: Steve Gill <stevengill97@gmail.com>
Committed: Tue Aug 29 22:41:16 2017 -0700

----------------------------------------------------------------------
 src/PluginInfo/PluginInfo.js | 26 ++++++++++++++++++++++----
 src/PluginManager.js         |  2 +-
 2 files changed, 23 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-common/blob/93fe7ead/src/PluginInfo/PluginInfo.js
----------------------------------------------------------------------
diff --git a/src/PluginInfo/PluginInfo.js b/src/PluginInfo/PluginInfo.js
index 75c96c1..5b088ca 100644
--- a/src/PluginInfo/PluginInfo.js
+++ b/src/PluginInfo/PluginInfo.js
@@ -306,15 +306,33 @@ function PluginInfo (dirname) {
             return n.attrib.name;
         });
     };
-    self.getFrameworks = function (platform) {
+
+    self.getFrameworks = function (platform, options) {
         return _getTags(self._et, 'framework', platform, function (el) {
+            var src = el.attrib.src;
+            var vars = {};
+            if (options) {
+                vars = options.cli_variables;
+                if (Object.keys(vars).length === 0) {
+                    // get variable defaults from plugin.xml for removal
+                    vars = self.getPreferences(platform);
+                }
+
+                var regExp;
+                // Iterate over plugin variables.
+                // Replace them in framework src if they exist
+                Object.keys(vars).forEach(function (name) {
+                    regExp = new RegExp('\\$' + name, 'g');
+                    src = src.replace(regExp, vars[name]);
+                });
+            }
             var ret = {
                 itemType: 'framework',
                 type: el.attrib.type,
                 parent: el.attrib.parent,
                 custom: isStrTrue(el.attrib.custom),
                 embed: isStrTrue(el.attrib.embed),
-                src: el.attrib.src,
+                src: src,
                 spec: el.attrib.spec,
                 weak: isStrTrue(el.attrib.weak),
                 versions: el.attrib.versions,
@@ -328,14 +346,14 @@ function PluginInfo (dirname) {
     };
 
     self.getFilesAndFrameworks = getFilesAndFrameworks;
-    function getFilesAndFrameworks (platform) {
+    function getFilesAndFrameworks (platform, options) {
         // Please avoid changing the order of the calls below, files will be
         // installed in this order.
         var items = [].concat(
             self.getSourceFiles(platform),
             self.getHeaderFiles(platform),
             self.getResourceFiles(platform),
-            self.getFrameworks(platform),
+            self.getFrameworks(platform, options),
             self.getLibFiles(platform)
         );
         return items;

http://git-wip-us.apache.org/repos/asf/cordova-common/blob/93fe7ead/src/PluginManager.js
----------------------------------------------------------------------
diff --git a/src/PluginManager.js b/src/PluginManager.js
index 7b8a0d4..b875d0e 100644
--- a/src/PluginManager.js
+++ b/src/PluginManager.js
@@ -92,7 +92,7 @@ PluginManager.prototype.doOperation = function (operation, plugin, options)
{
     var actions = new ActionStack();
 
     // gather all files need to be handled during operation ...
-    plugin.getFilesAndFrameworks(this.platform)
+    plugin.getFilesAndFrameworks(this.platform, options)
         .concat(plugin.getAssets(this.platform))
         .concat(plugin.getJsModules(this.platform))
         // ... put them into stack ...


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org
For additional commands, e-mail: commits-help@cordova.apache.org


Mime
View raw message