You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by st...@apache.org on 2014/11/01 02:26:24 UTC
[3/6] git commit: added initial work to build nightly,
updating platforms.js file in cordova-lib
added initial work to build nightly, updating platforms.js file in cordova-lib
Project: http://git-wip-us.apache.org/repos/asf/cordova-coho/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-coho/commit/d49c9d10
Tree: http://git-wip-us.apache.org/repos/asf/cordova-coho/tree/d49c9d10
Diff: http://git-wip-us.apache.org/repos/asf/cordova-coho/diff/d49c9d10
Branch: refs/heads/master
Commit: d49c9d1099e829a3ce6ee27942e8b7962aa02b80
Parents: 4e44786
Author: Steve Gill <st...@gmail.com>
Authored: Thu Oct 23 17:51:16 2014 -0700
Committer: Steve Gill <st...@gmail.com>
Committed: Fri Oct 31 18:25:00 2014 -0700
----------------------------------------------------------------------
src/main.js | 4 +++
src/nightly.js | 86 ++++++++++++++++++++++++++++++++++++++++++++++++
src/repoutil.js | 1 +
src/retrieve-sha.js | 28 ++++++++++++++++
4 files changed, 119 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-coho/blob/d49c9d10/src/main.js
----------------------------------------------------------------------
diff --git a/src/main.js b/src/main.js
index 9329604..27edd74 100644
--- a/src/main.js
+++ b/src/main.js
@@ -125,6 +125,10 @@ module.exports = function() {
name: 'check-license',
desc: 'Go through each specified repo and check the licenses of node modules that are 3rd-party dependencies.',
entryPoint: lazyRequire('./check-license')
+ }, {
+ name: 'nightly',
+ desc: 'Builds and publishes nightly builds of cordova-cli using the latest commits for each platform.',
+ entryPoint: lazyRequire('./nightly')
}
];
var commandMap = {};
http://git-wip-us.apache.org/repos/asf/cordova-coho/blob/d49c9d10/src/nightly.js
----------------------------------------------------------------------
diff --git a/src/nightly.js b/src/nightly.js
new file mode 100644
index 0000000..c63d50a
--- /dev/null
+++ b/src/nightly.js
@@ -0,0 +1,86 @@
+/*
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+*/
+
+var optimist = require('optimist');
+var apputil = require('./apputil');
+var executil = require('./executil');
+var flagutil = require('./flagutil');
+var gitutil = require('./gitutil');
+var repoutil = require('./repoutil');
+var repoupdate = require('./repo-update');
+var retrieveSha = require('./retrieve-sha');
+var print = apputil.print;
+var fs = require('fs');
+var path = require('path');
+
+module.exports = function*() {
+ var repos = flagutil.computeReposFromFlag('nightly');
+ console.log(repos);
+ //Update Repos
+ yield repoupdate.updateRepos(repos, []);
+
+ var SHAJSON = yield retrieveSha(repos);
+
+ //console.log(SHAJSON['android']);
+ //save SHAJSON in cordova-cli repo
+
+ //Update platforms at cordova-lib/src/cordova/platforms.js
+ //console.log(repos);
+ var cordovaLib = repoutil.getRepoById('lib');
+ //Need to run forEachRepo
+ yield repoutil.forEachRepo([cordovaLib], function*() {
+ //need to get the path to cordova-lib using executil
+ var cordovalibdir = yield executil.execHelper(executil.ARGS('pwd'), true, true);
+ yield updatePlatformsFile(path.join(cordovalibdir, 'cordova-lib/src/cordova/platforms.js'), SHAJSON);
+ });
+
+}
+
+//updates platforms.js with the SHA
+function *updatePlatformsFile(file, shajson){
+ platformsJS = require(file);
+ var repos = flagutil.computeReposFromFlag('active-platform');
+ //console.log(platformsJS);
+ yield repoutil.forEachRepo(repos, function*(repo) {
+ console.log(repo);
+ if(repo.id === 'windowsphone'){
+ platformsJS['wp8'].version = shajson[repo.id];
+ } else if(repo.id === 'windows') {
+ platformsJS[repo.id].version = shajson[repo.id];
+ platformsJS['windows8'].version = shajson[repo.id];
+ } else if(repo.id === 'blackberry') {
+ platformsJS['blackberry10'].version = shajson[repo.id];
+ } else {
+ platformsJS[repo.id].version = shajson[repo.id];
+ }
+ });
+
+ fs.readFile(file, 'utf8', function (err, data) {
+ if (err) {
+ console.log(err);
+ }
+ var result = data.replace(/(({(.\n)*(.|\n)*)version:\s[\d\w'.]*(\n)(.)*(\n)})/g, JSON.stringify(platformsJS, null, 4));
+
+ fs.writeFile(file, result, 'utf8', function(err) {
+ if (err) return console.log (err);
+ });
+
+ });
+}
+
http://git-wip-us.apache.org/repos/asf/cordova-coho/blob/d49c9d10/src/repoutil.js
----------------------------------------------------------------------
diff --git a/src/repoutil.js b/src/repoutil.js
index 33417fd..ae92cec 100644
--- a/src/repoutil.js
+++ b/src/repoutil.js
@@ -417,6 +417,7 @@ var repoGroups = {
'release-repos': allRepos.filter(function(r) { return !r.inactive })
};
repoGroups['cadence'] = repoGroups['active-platform'].concat([getRepoById('mobile-spec'), getRepoById('app-hello-world')]);
+repoGroups['nightly'] = repoGroups['active-platform'].concat([getRepoById('cli'), getRepoById('lib')]);
repoGroups.__defineGetter__('auto', function() {
return allRepos.filter(function(repo) {
http://git-wip-us.apache.org/repos/asf/cordova-coho/blob/d49c9d10/src/retrieve-sha.js
----------------------------------------------------------------------
diff --git a/src/retrieve-sha.js b/src/retrieve-sha.js
new file mode 100644
index 0000000..daf346e
--- /dev/null
+++ b/src/retrieve-sha.js
@@ -0,0 +1,28 @@
+/*
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+*/
+var repoutil = require('./repoutil');
+var executil = require('./executil');
+
+module.exports = function *(repos) {
+ var shas = {};
+ yield repoutil.forEachRepo(repos, function*(repo) {
+ shas[repo.id] = yield executil.execHelper(executil.ARGS('git rev-parse HEAD'), true, true);
+ });
+ return shas;
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org
For additional commands, e-mail: commits-help@cordova.apache.org