You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by ag...@apache.org on 2014/05/27 03:03:38 UTC

[2/2] git commit: harness-push: Allow pushes without config.xml

harness-push: Allow pushes without config.xml


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

Branch: refs/heads/master
Commit: de2743ec8306b43e292127ad77eef73d8c89d221
Parents: 68e7118
Author: Andrew Grieve <ag...@chromium.org>
Authored: Mon May 26 15:00:54 2014 -0400
Committer: Andrew Grieve <ag...@chromium.org>
Committed: Mon May 26 15:00:54 2014 -0400

----------------------------------------------------------------------
 .../cordova-harness-client/pushsession.js       | 23 ++++++++++++--------
 1 file changed, 14 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-app-harness/blob/de2743ec/harness-push/node_modules/cordova-harness-client/pushsession.js
----------------------------------------------------------------------
diff --git a/harness-push/node_modules/cordova-harness-client/pushsession.js b/harness-push/node_modules/cordova-harness-client/pushsession.js
index 546978b..23934f7 100644
--- a/harness-push/node_modules/cordova-harness-client/pushsession.js
+++ b/harness-push/node_modules/cordova-harness-client/pushsession.js
@@ -109,11 +109,13 @@ function buildAssetManifest(dir, configXmlPath) {
             etag: calculateMd5(fileList[i]),
         };
     }
-    ret['config.xml'] = {
-        path: 'config.xml',
-        realPath: configXmlPath,
-        etag: calculateMd5(configXmlPath)
-    };
+    if (configXmlPath) {
+        ret['config.xml'] = {
+            path: 'config.xml',
+            realPath: configXmlPath,
+            etag: calculateMd5(configXmlPath)
+        };
+    }
     return ret;
 }
 
@@ -171,8 +173,8 @@ function zipDir(dir, zip) {
 
 function PushSession(harnessClient, dir) {
     this.launchAfterPush = true;
-    this.appType_ = 'cordova';
     this.harnessClient_ = harnessClient;
+    this.appType_ = null;
     this.rootDir_ = dir;
     this.wwwDir_ = null;
     this.appId_ = null;
@@ -195,8 +197,9 @@ PushSession.prototype.initialize = function(opts) {
         self.assetManifest_ = result.body['assetManifest'];
         self.assetManifestEtag_ = result.body['assetManifestEtag'];
         self.wwwDir_ = opts.wwwDir || getDerivedWwwDir(self.rootDir_, self.platformId_);
-        self.configXmlPath_ = opts.configXmlPath || getDerivedConfigXmlPath(self.rootDir_, self.platformId_);
+        self.configXmlPath_ = (typeof opts.configXmlPath == 'undefined') ? getDerivedConfigXmlPath(self.rootDir_, self.platformId_) : opts.configXmlPath;
         self.cordovaPluginsPath_ = !opts.skipCordovaPlugins && path.join(self.wwwDir_, 'cordova_plugins.js');
+        self.appType_ = opts.appType || 'cordova';
     });
 };
 
@@ -204,7 +207,7 @@ PushSession.prototype.push = function() {
     var self = this;
     return Q.when(this.platformId_ || this.initialize())
     .then(function() {
-        if (!fs.existsSync(self.configXmlPath_)) {
+        if (self.configXmlPath_ && !fs.existsSync(self.configXmlPath_)) {
             throw new Error('Could not find: ' + self.configXmlPath_ + ' you probably need to run: cordova platform add ' + self.platformId_);
         }
         if (self.cordovaPluginsPath_ && !fs.existsSync(self.cordovaPluginsPath_)) {
@@ -260,7 +263,9 @@ PushSession.prototype.doFileSync_ = function() {
 PushSession.prototype.doZipPush_ = function() {
     var zip = new JSZip();
     zipDir(this.wwwDir_, zip.folder('www'));
-    zip.file('config.xml', fs.readFileSync(this.configXmlPath_, 'binary'), { binary: true });
+    if (this.configXmlPath_) {
+        zip.file('config.xml', fs.readFileSync(this.configXmlPath_, 'binary'), { binary: true });
+    }
     var newAssetManifest = buildAssetManifest(this.wwwDir_, this.configXmlPath_);
     zip.file('zipassetmanifest.json', JSON.stringify(newAssetManifest));
     var zipData = new Buffer(zip.generate({ type: 'base64' }), 'base64');