You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by fi...@apache.org on 2013/01/29 01:14:58 UTC

git commit: CB-2294: when adding platforms, the stock app assets would be left in the platform artifacts.

Updated Branches:
  refs/heads/master 235a8d27e -> ff34f5dbf


CB-2294: when adding platforms, the stock app assets would be left in the platform artifacts.


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

Branch: refs/heads/master
Commit: ff34f5dbfb800078c291c4b99c95d3169f6ab819
Parents: 235a8d2
Author: Fil Maj <ma...@gmail.com>
Authored: Mon Jan 28 16:18:17 2013 -0800
Committer: Fil Maj <ma...@gmail.com>
Committed: Mon Jan 28 16:18:17 2013 -0800

----------------------------------------------------------------------
 src/metadata/android_parser.js    |    2 +
 src/metadata/blackberry_parser.js |   39 +++++++++++++++++++++++---------
 src/metadata/ios_parser.js        |   14 +++++++----
 3 files changed, 39 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-cli/blob/ff34f5db/src/metadata/android_parser.js
----------------------------------------------------------------------
diff --git a/src/metadata/android_parser.js b/src/metadata/android_parser.js
index 4d24952..ab22fee 100644
--- a/src/metadata/android_parser.js
+++ b/src/metadata/android_parser.js
@@ -131,6 +131,8 @@ module.exports.prototype = {
         var projectRoot = util.isCordova(process.cwd());
         var www = path.join(projectRoot, 'www');
         var platformWww = path.join(this.path, 'assets');
+        // remove stock platform assets
+        shell.rm('-rf', path.join(platformWww, 'www'));
         // copy over all app www assets
         shell.cp('-rf', www, platformWww);
         platformWww = path.join(platformWww, 'www');

http://git-wip-us.apache.org/repos/asf/cordova-cli/blob/ff34f5db/src/metadata/blackberry_parser.js
----------------------------------------------------------------------
diff --git a/src/metadata/blackberry_parser.js b/src/metadata/blackberry_parser.js
index f70702e..8d5902a 100644
--- a/src/metadata/blackberry_parser.js
+++ b/src/metadata/blackberry_parser.js
@@ -17,12 +17,12 @@
     specific language governing permissions and limitations
     under the License.
 */
-var fs   = require('fs'),
-    path = require('path'),
-    et = require('elementtree'),
-    prompt = require('prompt'),
-    shell = require('shelljs'),
-    util = require('../util'),
+var fs            = require('fs'),
+    path          = require('path'),
+    et            = require('elementtree'),
+    prompt        = require('prompt'),
+    shell         = require('shelljs'),
+    util          = require('../util'),
     config_parser = require('../config_parser');
 
 module.exports = function blackberry_parser(project) {
@@ -92,19 +92,36 @@ module.exports.prototype = {
         var www = path.join(projectRoot, 'www');
         var platformWww = path.join(this.path, 'www');
 
-        // Copy everything over except config.xml
+        var finalWww = path.join(this.path, 'finalwww');
+        shell.mkdir('-p', finalWww);
+
+        // replace stock bb app contents with app contents. 
+        // to keep:
+        //        - config.xml
+        //        - cordova.js
+        //        - ext*
+        //        - plugins.xml
+        //        - res
+        shell.cp('-f', path.join(platformWww, 'config.xml'), finalWww);
+        shell.cp('-f', path.join(platformWww, 'cordova-*.js'), finalWww);
+        shell.cp('-f', path.join(platformWww, 'plugins.xml'), finalWww);
+        shell.cp('-rf', path.join(platformWww, 'ext*'), finalWww);
+        shell.cp('-rf', path.join(platformWww, 'res'), finalWww);
+
+        // Copy everything over from platform-agnostic www, except config.xml
         var cfg_www = path.join(www, 'config.xml');
         var temp_cfg = path.join(projectRoot, 'config.xml');
         shell.mv(cfg_www, temp_cfg);
-        shell.cp('-rf', path.join(www, '*'), platformWww);
+        shell.cp('-rf', path.join(www, '*'), finalWww);
         shell.mv(temp_cfg, cfg_www);
 
-        // Move the js to just cordova.js
-        shell.mv('-f', path.join(platformWww, 'cordova-*.js'), path.join(platformWww, 'cordova.js'));
+        // Delete the old platform www, and move the final project over
+        shell.rm('-rf', platformWww);
+        shell.mv(finalWww, platformWww);
 
         // Add the webworks.js script file
         // TODO: assumption that index.html is only file that needs the hot webworks script injection
-        // TODO: assumption that index.html is entry point to app
+        // TODO: assumption that index.html is entry point to app. instead read <content> of project's www
         var index = path.join(platformWww, 'index.html');
         var contents = fs.readFileSync(index, 'utf-8');
         contents = contents.replace(/<script type="text\/javascript" src="cordova\.js"><\/script>/, '<script type="text/javascript" src="js/webworks.js"></script><script type="text/javascript" src="cordova.js"></script>');

http://git-wip-us.apache.org/repos/asf/cordova-cli/blob/ff34f5db/src/metadata/ios_parser.js
----------------------------------------------------------------------
diff --git a/src/metadata/ios_parser.js b/src/metadata/ios_parser.js
index 77eff90..dda982a 100644
--- a/src/metadata/ios_parser.js
+++ b/src/metadata/ios_parser.js
@@ -139,14 +139,18 @@ module.exports.prototype = {
 
     update_www:function() {
         var projectRoot = util.isCordova(process.cwd());
-        // copy over app www assets
         var www = path.join(projectRoot, 'www');
-        shell.cp('-rf', www, this.path);
         var project_www = path.join(this.path, 'www');
+
+        // remove the stock www folder
+        shell.rm('-rf', project_www);
+
+        // copy over project www assets
+        shell.cp('-rf', www, this.path);
+
         // write out proper cordova.js
-        // TODO: this seems bad and brittle..
-        var js = fs.readdirSync(project_www).filter(function(e) { return e.match(/\.js$/i); })[0];
-        shell.mv('-f', path.join(project_www, js), path.join(project_www, 'cordova.js'));
+        shell.mv('-f', path.join(project_www, 'cordova-*.js'), path.join(project_www, 'cordova.js'));
+
         util.deleteSvnFolders(project_www);
     },
     update_project:function(cfg, callback) {