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/09/25 00:52:38 UTC
[1/9] git commit: CB-7219: initial work for cordova.js platformVersion
Repository: cordova-lib
Updated Branches:
refs/heads/master 3ead61c5e -> 8abfaf18c
CB-7219: initial work for cordova.js platformVersion
Project: http://git-wip-us.apache.org/repos/asf/cordova-lib/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-lib/commit/c90997f9
Tree: http://git-wip-us.apache.org/repos/asf/cordova-lib/tree/c90997f9
Diff: http://git-wip-us.apache.org/repos/asf/cordova-lib/diff/c90997f9
Branch: refs/heads/master
Commit: c90997f9d2f19f7e2041eaafd85bb15faedebbc3
Parents: c4ab88d
Author: Steven Gill <st...@gmail.com>
Authored: Mon Aug 11 15:00:45 2014 -0700
Committer: Steven Gill <st...@gmail.com>
Committed: Mon Aug 11 15:00:45 2014 -0700
----------------------------------------------------------------------
cordova-lib/src/plugman/prepare-browserify.js | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/c90997f9/cordova-lib/src/plugman/prepare-browserify.js
----------------------------------------------------------------------
diff --git a/cordova-lib/src/plugman/prepare-browserify.js b/cordova-lib/src/plugman/prepare-browserify.js
index ed2bdf9..6a776fb 100644
--- a/cordova-lib/src/plugman/prepare-browserify.js
+++ b/cordova-lib/src/plugman/prepare-browserify.js
@@ -62,10 +62,13 @@ function uninstallQueuedPlugins(platform_json, wwwDir) {
function generateFinalBundle(platform, libraryRelease, outReleaseFile) {
var outReleaseFileStream = fs.createWriteStream(outReleaseFile);
+ //TODO: Need to generate commitID
var commitId = 'N/A';
var time = new Date().valueOf();
+ //TODO: Need to generate platform version
+ var platformVersion = '3.6.0';
- writeLicenseHeader(outReleaseFileStream, platform, commitId);
+ writeLicenseHeader(outReleaseFileStream, platform, commitId, platformVersion);
var releaseBundle = libraryRelease.bundle();
@@ -110,7 +113,9 @@ module.exports = function handlePrepare(project_dir, platform, plugins_dir, www_
if(!is_top_level) return;
requireTr.platform = platform;
- var libraryRelease = bundle(platform, false, 'N/A');
+ var platformVersion = '3.6.0';
+ var commitId = '10';
+ var libraryRelease = bundle(platform, false, commitId, platformVersion);
platform_json = config_changes.get_platform_json(plugins_dir, platform);
var plugins = Object.keys(platform_json.installed_plugins).concat(Object.keys(platform_json.dependent_plugins));
[5/9] git commit: CB-7219: initial work for cordova.js platformVersion
Posted by st...@apache.org.
CB-7219: initial work for cordova.js platformVersion
Project: http://git-wip-us.apache.org/repos/asf/cordova-lib/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-lib/commit/acb36924
Tree: http://git-wip-us.apache.org/repos/asf/cordova-lib/tree/acb36924
Diff: http://git-wip-us.apache.org/repos/asf/cordova-lib/diff/acb36924
Branch: refs/heads/master
Commit: acb3692402f7dfa32c67498f584f2a9198403430
Parents: 2aace45
Author: Steven Gill <st...@gmail.com>
Authored: Mon Aug 11 15:00:45 2014 -0700
Committer: Steven Gill <st...@gmail.com>
Committed: Mon Sep 22 15:13:11 2014 -0700
----------------------------------------------------------------------
cordova-lib/src/plugman/prepare-browserify.js | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/acb36924/cordova-lib/src/plugman/prepare-browserify.js
----------------------------------------------------------------------
diff --git a/cordova-lib/src/plugman/prepare-browserify.js b/cordova-lib/src/plugman/prepare-browserify.js
index ed2bdf9..6a776fb 100644
--- a/cordova-lib/src/plugman/prepare-browserify.js
+++ b/cordova-lib/src/plugman/prepare-browserify.js
@@ -62,10 +62,13 @@ function uninstallQueuedPlugins(platform_json, wwwDir) {
function generateFinalBundle(platform, libraryRelease, outReleaseFile) {
var outReleaseFileStream = fs.createWriteStream(outReleaseFile);
+ //TODO: Need to generate commitID
var commitId = 'N/A';
var time = new Date().valueOf();
+ //TODO: Need to generate platform version
+ var platformVersion = '3.6.0';
- writeLicenseHeader(outReleaseFileStream, platform, commitId);
+ writeLicenseHeader(outReleaseFileStream, platform, commitId, platformVersion);
var releaseBundle = libraryRelease.bundle();
@@ -110,7 +113,9 @@ module.exports = function handlePrepare(project_dir, platform, plugins_dir, www_
if(!is_top_level) return;
requireTr.platform = platform;
- var libraryRelease = bundle(platform, false, 'N/A');
+ var platformVersion = '3.6.0';
+ var commitId = '10';
+ var libraryRelease = bundle(platform, false, commitId, platformVersion);
platform_json = config_changes.get_platform_json(plugins_dir, platform);
var plugins = Object.keys(platform_json.installed_plugins).concat(Object.keys(platform_json.dependent_plugins));
[9/9] git commit: Merge branch 'master' into cb-7219
Posted by st...@apache.org.
Merge branch 'master' into cb-7219
Project: http://git-wip-us.apache.org/repos/asf/cordova-lib/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-lib/commit/8abfaf18
Tree: http://git-wip-us.apache.org/repos/asf/cordova-lib/tree/8abfaf18
Diff: http://git-wip-us.apache.org/repos/asf/cordova-lib/diff/8abfaf18
Branch: refs/heads/master
Commit: 8abfaf18c0b410752b622a82a2f790405ddcf89a
Parents: 7c3842a 3ead61c
Author: Steven Gill <st...@gmail.com>
Authored: Wed Sep 24 15:51:48 2014 -0700
Committer: Steven Gill <st...@gmail.com>
Committed: Wed Sep 24 15:51:48 2014 -0700
----------------------------------------------------------------------
cordova-lib/package.json | 1 +
cordova-lib/src/cordova/serve.js | 20 ++++++++++++++++++++
2 files changed, 21 insertions(+)
----------------------------------------------------------------------
[8/9] git commit: removed console.logs
Posted by st...@apache.org.
removed console.logs
Project: http://git-wip-us.apache.org/repos/asf/cordova-lib/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-lib/commit/7c3842a9
Tree: http://git-wip-us.apache.org/repos/asf/cordova-lib/tree/7c3842a9
Diff: http://git-wip-us.apache.org/repos/asf/cordova-lib/diff/7c3842a9
Branch: refs/heads/master
Commit: 7c3842a98f83ecbcf24c0a6d55ad96064138c55b
Parents: 97c8939
Author: Steven Gill <st...@gmail.com>
Authored: Tue Sep 23 18:44:33 2014 -0700
Committer: Steven Gill <st...@gmail.com>
Committed: Tue Sep 23 18:44:33 2014 -0700
----------------------------------------------------------------------
cordova-lib/src/plugman/prepare-browserify.js | 17 +++--------------
1 file changed, 3 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/7c3842a9/cordova-lib/src/plugman/prepare-browserify.js
----------------------------------------------------------------------
diff --git a/cordova-lib/src/plugman/prepare-browserify.js b/cordova-lib/src/plugman/prepare-browserify.js
index 000b9bb..5e4c81b 100644
--- a/cordova-lib/src/plugman/prepare-browserify.js
+++ b/cordova-lib/src/plugman/prepare-browserify.js
@@ -80,8 +80,7 @@ function generateFinalBundle(platform, libraryRelease, outReleaseFile, commitId,
outReleaseFileStream.on('error', function(err) {
var newtime = new Date().valueOf() - time;
- console.log('error while generating cordova_b.js');
- plugman.emit('verbose', 'error while generating cordova.js');
+ events.emit('log', 'error while generating cordova.js');
});
}
@@ -112,26 +111,16 @@ module.exports = function handlePrepare(project_dir, platform, plugins_dir, www_
requireTr.platform = platform;
var platformVersion;
- //console.log(project_dir);
computeCommitId(function(commitId) {
//run version script for each platform to get platformVersion
var versionPath = path.join(project_dir, '/cordova/version');
- if(!fs.existsSync(versionPath)) {
- //non cli project
- console.log('non cli');
- console.log(project_dir);
- versionPath = path.join(project_dir, '/cordova/version');
- console.log(platform);
- }
childProcess.exec(versionPath, function(err, stdout, stderr) {
- console.log(versionPath);
if (err) {
platformVersion = 'N/A';
- console.log('Error running platform version script');
- console.log(err);
+ events.emit('log', 'Error running platform version script');
+ events.emit('log', err);
} else {
platformVersion = stdout.trim();
- console.log('platformVersion: ' + platformVersion);
var libraryRelease = bundle(platform, false, commitId, platformVersion);
[7/9] git commit: computeCommitId for browserify workflow fixed to
handle cli and non cli workflows:q
Posted by st...@apache.org.
computeCommitId for browserify workflow fixed to handle cli and non cli workflows:q
Project: http://git-wip-us.apache.org/repos/asf/cordova-lib/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-lib/commit/97c89398
Tree: http://git-wip-us.apache.org/repos/asf/cordova-lib/tree/97c89398
Diff: http://git-wip-us.apache.org/repos/asf/cordova-lib/diff/97c89398
Branch: refs/heads/master
Commit: 97c893986b764d99d0973f3447a1ae605a307286
Parents: 744b272
Author: Steven Gill <st...@gmail.com>
Authored: Tue Sep 23 18:34:49 2014 -0700
Committer: Steven Gill <st...@gmail.com>
Committed: Tue Sep 23 18:34:49 2014 -0700
----------------------------------------------------------------------
cordova-lib/src/plugman/prepare-browserify.js | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/97c89398/cordova-lib/src/plugman/prepare-browserify.js
----------------------------------------------------------------------
diff --git a/cordova-lib/src/plugman/prepare-browserify.js b/cordova-lib/src/plugman/prepare-browserify.js
index e537856..000b9bb 100644
--- a/cordova-lib/src/plugman/prepare-browserify.js
+++ b/cordova-lib/src/plugman/prepare-browserify.js
@@ -112,12 +112,23 @@ module.exports = function handlePrepare(project_dir, platform, plugins_dir, www_
requireTr.platform = platform;
var platformVersion;
+ //console.log(project_dir);
computeCommitId(function(commitId) {
//run version script for each platform to get platformVersion
- childProcess.exec(path.join(process.cwd(), 'platforms/' + platform + '/cordova/version'), function(err, stdout, stderr) {
+ var versionPath = path.join(project_dir, '/cordova/version');
+ if(!fs.existsSync(versionPath)) {
+ //non cli project
+ console.log('non cli');
+ console.log(project_dir);
+ versionPath = path.join(project_dir, '/cordova/version');
+ console.log(platform);
+ }
+ childProcess.exec(versionPath, function(err, stdout, stderr) {
+ console.log(versionPath);
if (err) {
platformVersion = 'N/A';
console.log('Error running platform version script');
+ console.log(err);
} else {
platformVersion = stdout.trim();
console.log('platformVersion: ' + platformVersion);
[4/9] git commit: CB-7219 prepare-browserify now supports commitId
and platformVersion for cordovajs
Posted by st...@apache.org.
CB-7219 prepare-browserify now supports commitId and platformVersion for cordovajs
Project: http://git-wip-us.apache.org/repos/asf/cordova-lib/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-lib/commit/f39e93fb
Tree: http://git-wip-us.apache.org/repos/asf/cordova-lib/tree/f39e93fb
Diff: http://git-wip-us.apache.org/repos/asf/cordova-lib/diff/f39e93fb
Branch: refs/heads/master
Commit: f39e93fbdad02272cc22130520c65a9701ac5904
Parents: acb3692
Author: Steven Gill <st...@gmail.com>
Authored: Tue Aug 12 17:25:36 2014 -0700
Committer: Steven Gill <st...@gmail.com>
Committed: Mon Sep 22 15:13:11 2014 -0700
----------------------------------------------------------------------
cordova-lib/src/plugman/prepare-browserify.js | 187 +++++++++++----------
1 file changed, 98 insertions(+), 89 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/f39e93fb/cordova-lib/src/plugman/prepare-browserify.js
----------------------------------------------------------------------
diff --git a/cordova-lib/src/plugman/prepare-browserify.js b/cordova-lib/src/plugman/prepare-browserify.js
index 6a776fb..e537856 100644
--- a/cordova-lib/src/plugman/prepare-browserify.js
+++ b/cordova-lib/src/plugman/prepare-browserify.js
@@ -30,6 +30,7 @@ var platform_modules = require('./platforms'),
windows = require('./platforms/windows'),
common = require('./platforms/common'),
fs = require('fs'),
+ childProcess = require('child_process'),
shell = require('shelljs'),
util = require('util'),
events = require('../events'),
@@ -38,7 +39,8 @@ var platform_modules = require('./platforms'),
prepareNamespace = require('./util/prepare-namespace'),
bundle = require('cordova-js/tasks/lib/bundle-browserify'),
requireTr = require('cordova-js/tasks/lib/require-tr'),
- writeLicenseHeader = require('cordova-js/tasks/lib/write-license-header');
+ writeLicenseHeader = require('cordova-js/tasks/lib/write-license-header'),
+ computeCommitId = require('cordova-js/tasks/lib/compute-commit-id');
function uninstallQueuedPlugins(platform_json, wwwDir) {
// Check if there are any plugins queued for uninstallation, and if so, remove any of their plugin web assets loaded in
@@ -59,14 +61,10 @@ function uninstallQueuedPlugins(platform_json, wwwDir) {
}
}
-function generateFinalBundle(platform, libraryRelease, outReleaseFile) {
+function generateFinalBundle(platform, libraryRelease, outReleaseFile, commitId, platformVersion) {
var outReleaseFileStream = fs.createWriteStream(outReleaseFile);
- //TODO: Need to generate commitID
- var commitId = 'N/A';
var time = new Date().valueOf();
- //TODO: Need to generate platform version
- var platformVersion = '3.6.0';
writeLicenseHeader(outReleaseFileStream, platform, commitId, platformVersion);
@@ -113,90 +111,101 @@ module.exports = function handlePrepare(project_dir, platform, plugins_dir, www_
if(!is_top_level) return;
requireTr.platform = platform;
- var platformVersion = '3.6.0';
- var commitId = '10';
- var libraryRelease = bundle(platform, false, commitId, platformVersion);
-
- platform_json = config_changes.get_platform_json(plugins_dir, platform);
- var plugins = Object.keys(platform_json.installed_plugins).concat(Object.keys(platform_json.dependent_plugins));
- events.emit('verbose', 'Iterating over installed plugins:', plugins);
-
- plugins && plugins.forEach(function(plugin) {
- var pluginDir = path.join(plugins_dir, plugin),
- pluginXML = path.join(pluginDir, 'plugin.xml');
- if (!fs.existsSync(pluginXML)) {
- plugman.emit('warn', 'Missing file: ' + pluginXML);
- return;
- }
- var xml = xml_helpers.parseElementtreeSync(pluginXML);
-
- var plugin_id = xml.getroot().attrib.id;
-
- // add the plugins dir to the platform's www.
- var platformPluginsDir = path.join(wwwDir, 'plugins');
- // XXX this should not be here if there are no js-module. It leaves an empty plugins/ directory
- shell.mkdir('-p', platformPluginsDir);
-
- var jsModules = xml.findall('./js-module');
- var assets = xml.findall('asset');
- var platformTag = xml.find(util.format('./platform[@name="%s"]', platform));
-
- if (platformTag) {
- assets = assets.concat(platformTag.findall('./asset'));
- jsModules = jsModules.concat(platformTag.findall('./js-module'));
- }
-
- // Copy www assets described in <asset> tags.
- assets = assets || [];
- assets.forEach(function(asset) {
- common.asset.install(asset, pluginDir, wwwDir);
- });
- jsModules.forEach(function(module) {
- // Copy the plugin's files into the www directory.
- // NB: We can't always use path.* functions here, because they will use platform slashes.
- // But the path in the plugin.xml and in the cordova_plugins.js should be always forward slashes.
- var pathParts = module.attrib.src.split('/');
-
- var fsDirname = path.join.apply(path, pathParts.slice(0, -1));
- var fsDir = path.join(platformPluginsDir, plugin_id, fsDirname);
- shell.mkdir('-p', fsDir);
-
- // Read in the file, prepend the cordova.define, and write it back out.
- var moduleName = plugin_id + '.';
- if (module.attrib.name) {
- moduleName += module.attrib.name;
+ var platformVersion;
+ computeCommitId(function(commitId) {
+ //run version script for each platform to get platformVersion
+ childProcess.exec(path.join(process.cwd(), 'platforms/' + platform + '/cordova/version'), function(err, stdout, stderr) {
+ if (err) {
+ platformVersion = 'N/A';
+ console.log('Error running platform version script');
} else {
- moduleName += path.basename(module.attrib.src, '.js');
- }
-
- var fsPath = path.join.apply(path, pathParts);
- var scriptPath = path.join(pluginDir, fsPath);
-
- requireTr.addModule({symbol: moduleName, path: scriptPath});
-
- module.getchildren().forEach(function(child) {
- if (child.tag.toLowerCase() == 'clobbers') {
- fs.appendFileSync(scriptPath,
- prepareNamespace(child.attrib.target, 'c'),
- 'utf-8');
- } else if (child.tag.toLowerCase() == 'merges') {
- fs.appendFileSync(scriptPath,
- prepareNamespace(child.attrib.target, 'm'),
- 'utf-8');
- }
- });
- scripts.push(scriptPath);
+ platformVersion = stdout.trim();
+ console.log('platformVersion: ' + platformVersion);
+
+ var libraryRelease = bundle(platform, false, commitId, platformVersion);
+
+ platform_json = config_changes.get_platform_json(plugins_dir, platform);
+ var plugins = Object.keys(platform_json.installed_plugins).concat(Object.keys(platform_json.dependent_plugins));
+ events.emit('verbose', 'Iterating over installed plugins:', plugins);
+
+ plugins && plugins.forEach(function(plugin) {
+ var pluginDir = path.join(plugins_dir, plugin),
+ pluginXML = path.join(pluginDir, 'plugin.xml');
+ if (!fs.existsSync(pluginXML)) {
+ plugman.emit('warn', 'Missing file: ' + pluginXML);
+ return;
+ }
+ var xml = xml_helpers.parseElementtreeSync(pluginXML);
+
+ var plugin_id = xml.getroot().attrib.id;
+
+ // add the plugins dir to the platform's www.
+ var platformPluginsDir = path.join(wwwDir, 'plugins');
+ // XXX this should not be here if there are no js-module. It leaves an empty plugins/ directory
+ shell.mkdir('-p', platformPluginsDir);
+
+ var jsModules = xml.findall('./js-module');
+ var assets = xml.findall('asset');
+ var platformTag = xml.find(util.format('./platform[@name="%s"]', platform));
+
+ if (platformTag) {
+ assets = assets.concat(platformTag.findall('./asset'));
+ jsModules = jsModules.concat(platformTag.findall('./js-module'));
+ }
+
+ // Copy www assets described in <asset> tags.
+ assets = assets || [];
+ assets.forEach(function(asset) {
+ common.asset.install(asset, pluginDir, wwwDir);
+ });
+ jsModules.forEach(function(module) {
+ // Copy the plugin's files into the www directory.
+ // NB: We can't always use path.* functions here, because they will use platform slashes.
+ // But the path in the plugin.xml and in the cordova_plugins.js should be always forward slashes.
+ var pathParts = module.attrib.src.split('/');
+
+ var fsDirname = path.join.apply(path, pathParts.slice(0, -1));
+ var fsDir = path.join(platformPluginsDir, plugin_id, fsDirname);
+ shell.mkdir('-p', fsDir);
+
+ // Read in the file, prepend the cordova.define, and write it back out.
+ var moduleName = plugin_id + '.';
+ if (module.attrib.name) {
+ moduleName += module.attrib.name;
+ } else {
+ moduleName += path.basename(module.attrib.src, '.js');
+ }
+
+ var fsPath = path.join.apply(path, pathParts);
+ var scriptPath = path.join(pluginDir, fsPath);
+
+ requireTr.addModule({symbol: moduleName, path: scriptPath});
+
+ module.getchildren().forEach(function(child) {
+ if (child.tag.toLowerCase() == 'clobbers') {
+ fs.appendFileSync(scriptPath,
+ prepareNamespace(child.attrib.target, 'c'),
+ 'utf-8');
+ } else if (child.tag.toLowerCase() == 'merges') {
+ fs.appendFileSync(scriptPath,
+ prepareNamespace(child.attrib.target, 'm'),
+ 'utf-8');
+ }
+ });
+ scripts.push(scriptPath);
+ });
+ });
+
+ libraryRelease.transform(requireTr.transform);
+
+ scripts.forEach(function(script) {
+ libraryRelease.add(script);
+ });
+
+ var outReleaseFile = path.join(wwwDir, 'cordova.js');
+
+ generateFinalBundle(platform, libraryRelease, outReleaseFile, commitId, platformVersion);
+ }
});
});
-
- libraryRelease.transform(requireTr.transform);
-
- scripts.forEach(function(script) {
- libraryRelease.add(script);
- });
-
- var outReleaseFile = path.join(wwwDir, 'cordova.js');
-
- generateFinalBundle(platform, libraryRelease, outReleaseFile);
-
};
[6/9] git commit: Merge branch 'cb-7219' of
https://git-wip-us.apache.org/repos/asf/cordova-lib into cb-7219
Posted by st...@apache.org.
Merge branch 'cb-7219' of https://git-wip-us.apache.org/repos/asf/cordova-lib into cb-7219
Project: http://git-wip-us.apache.org/repos/asf/cordova-lib/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-lib/commit/744b2727
Tree: http://git-wip-us.apache.org/repos/asf/cordova-lib/tree/744b2727
Diff: http://git-wip-us.apache.org/repos/asf/cordova-lib/diff/744b2727
Branch: refs/heads/master
Commit: 744b2727f5c5176bf24c01cbd9267aa24bd7a3f0
Parents: f39e93f 1c0c4f0
Author: Steven Gill <st...@gmail.com>
Authored: Mon Sep 22 15:15:31 2014 -0700
Committer: Steven Gill <st...@gmail.com>
Committed: Mon Sep 22 15:15:31 2014 -0700
----------------------------------------------------------------------
----------------------------------------------------------------------
[2/9] git commit: CB-7219 prepare-browserify now supports commitId
and platformVersion for cordovajs
Posted by st...@apache.org.
CB-7219 prepare-browserify now supports commitId and platformVersion for cordovajs
Project: http://git-wip-us.apache.org/repos/asf/cordova-lib/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-lib/commit/6b358cac
Tree: http://git-wip-us.apache.org/repos/asf/cordova-lib/tree/6b358cac
Diff: http://git-wip-us.apache.org/repos/asf/cordova-lib/diff/6b358cac
Branch: refs/heads/master
Commit: 6b358cac2783ada3a10c78d4fd91924f837db1d1
Parents: c90997f
Author: Steven Gill <st...@gmail.com>
Authored: Tue Aug 12 17:25:36 2014 -0700
Committer: Steven Gill <st...@gmail.com>
Committed: Tue Aug 12 17:25:36 2014 -0700
----------------------------------------------------------------------
cordova-lib/src/plugman/prepare-browserify.js | 187 +++++++++++----------
1 file changed, 98 insertions(+), 89 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/6b358cac/cordova-lib/src/plugman/prepare-browserify.js
----------------------------------------------------------------------
diff --git a/cordova-lib/src/plugman/prepare-browserify.js b/cordova-lib/src/plugman/prepare-browserify.js
index 6a776fb..e537856 100644
--- a/cordova-lib/src/plugman/prepare-browserify.js
+++ b/cordova-lib/src/plugman/prepare-browserify.js
@@ -30,6 +30,7 @@ var platform_modules = require('./platforms'),
windows = require('./platforms/windows'),
common = require('./platforms/common'),
fs = require('fs'),
+ childProcess = require('child_process'),
shell = require('shelljs'),
util = require('util'),
events = require('../events'),
@@ -38,7 +39,8 @@ var platform_modules = require('./platforms'),
prepareNamespace = require('./util/prepare-namespace'),
bundle = require('cordova-js/tasks/lib/bundle-browserify'),
requireTr = require('cordova-js/tasks/lib/require-tr'),
- writeLicenseHeader = require('cordova-js/tasks/lib/write-license-header');
+ writeLicenseHeader = require('cordova-js/tasks/lib/write-license-header'),
+ computeCommitId = require('cordova-js/tasks/lib/compute-commit-id');
function uninstallQueuedPlugins(platform_json, wwwDir) {
// Check if there are any plugins queued for uninstallation, and if so, remove any of their plugin web assets loaded in
@@ -59,14 +61,10 @@ function uninstallQueuedPlugins(platform_json, wwwDir) {
}
}
-function generateFinalBundle(platform, libraryRelease, outReleaseFile) {
+function generateFinalBundle(platform, libraryRelease, outReleaseFile, commitId, platformVersion) {
var outReleaseFileStream = fs.createWriteStream(outReleaseFile);
- //TODO: Need to generate commitID
- var commitId = 'N/A';
var time = new Date().valueOf();
- //TODO: Need to generate platform version
- var platformVersion = '3.6.0';
writeLicenseHeader(outReleaseFileStream, platform, commitId, platformVersion);
@@ -113,90 +111,101 @@ module.exports = function handlePrepare(project_dir, platform, plugins_dir, www_
if(!is_top_level) return;
requireTr.platform = platform;
- var platformVersion = '3.6.0';
- var commitId = '10';
- var libraryRelease = bundle(platform, false, commitId, platformVersion);
-
- platform_json = config_changes.get_platform_json(plugins_dir, platform);
- var plugins = Object.keys(platform_json.installed_plugins).concat(Object.keys(platform_json.dependent_plugins));
- events.emit('verbose', 'Iterating over installed plugins:', plugins);
-
- plugins && plugins.forEach(function(plugin) {
- var pluginDir = path.join(plugins_dir, plugin),
- pluginXML = path.join(pluginDir, 'plugin.xml');
- if (!fs.existsSync(pluginXML)) {
- plugman.emit('warn', 'Missing file: ' + pluginXML);
- return;
- }
- var xml = xml_helpers.parseElementtreeSync(pluginXML);
-
- var plugin_id = xml.getroot().attrib.id;
-
- // add the plugins dir to the platform's www.
- var platformPluginsDir = path.join(wwwDir, 'plugins');
- // XXX this should not be here if there are no js-module. It leaves an empty plugins/ directory
- shell.mkdir('-p', platformPluginsDir);
-
- var jsModules = xml.findall('./js-module');
- var assets = xml.findall('asset');
- var platformTag = xml.find(util.format('./platform[@name="%s"]', platform));
-
- if (platformTag) {
- assets = assets.concat(platformTag.findall('./asset'));
- jsModules = jsModules.concat(platformTag.findall('./js-module'));
- }
-
- // Copy www assets described in <asset> tags.
- assets = assets || [];
- assets.forEach(function(asset) {
- common.asset.install(asset, pluginDir, wwwDir);
- });
- jsModules.forEach(function(module) {
- // Copy the plugin's files into the www directory.
- // NB: We can't always use path.* functions here, because they will use platform slashes.
- // But the path in the plugin.xml and in the cordova_plugins.js should be always forward slashes.
- var pathParts = module.attrib.src.split('/');
-
- var fsDirname = path.join.apply(path, pathParts.slice(0, -1));
- var fsDir = path.join(platformPluginsDir, plugin_id, fsDirname);
- shell.mkdir('-p', fsDir);
-
- // Read in the file, prepend the cordova.define, and write it back out.
- var moduleName = plugin_id + '.';
- if (module.attrib.name) {
- moduleName += module.attrib.name;
+ var platformVersion;
+ computeCommitId(function(commitId) {
+ //run version script for each platform to get platformVersion
+ childProcess.exec(path.join(process.cwd(), 'platforms/' + platform + '/cordova/version'), function(err, stdout, stderr) {
+ if (err) {
+ platformVersion = 'N/A';
+ console.log('Error running platform version script');
} else {
- moduleName += path.basename(module.attrib.src, '.js');
- }
-
- var fsPath = path.join.apply(path, pathParts);
- var scriptPath = path.join(pluginDir, fsPath);
-
- requireTr.addModule({symbol: moduleName, path: scriptPath});
-
- module.getchildren().forEach(function(child) {
- if (child.tag.toLowerCase() == 'clobbers') {
- fs.appendFileSync(scriptPath,
- prepareNamespace(child.attrib.target, 'c'),
- 'utf-8');
- } else if (child.tag.toLowerCase() == 'merges') {
- fs.appendFileSync(scriptPath,
- prepareNamespace(child.attrib.target, 'm'),
- 'utf-8');
- }
- });
- scripts.push(scriptPath);
+ platformVersion = stdout.trim();
+ console.log('platformVersion: ' + platformVersion);
+
+ var libraryRelease = bundle(platform, false, commitId, platformVersion);
+
+ platform_json = config_changes.get_platform_json(plugins_dir, platform);
+ var plugins = Object.keys(platform_json.installed_plugins).concat(Object.keys(platform_json.dependent_plugins));
+ events.emit('verbose', 'Iterating over installed plugins:', plugins);
+
+ plugins && plugins.forEach(function(plugin) {
+ var pluginDir = path.join(plugins_dir, plugin),
+ pluginXML = path.join(pluginDir, 'plugin.xml');
+ if (!fs.existsSync(pluginXML)) {
+ plugman.emit('warn', 'Missing file: ' + pluginXML);
+ return;
+ }
+ var xml = xml_helpers.parseElementtreeSync(pluginXML);
+
+ var plugin_id = xml.getroot().attrib.id;
+
+ // add the plugins dir to the platform's www.
+ var platformPluginsDir = path.join(wwwDir, 'plugins');
+ // XXX this should not be here if there are no js-module. It leaves an empty plugins/ directory
+ shell.mkdir('-p', platformPluginsDir);
+
+ var jsModules = xml.findall('./js-module');
+ var assets = xml.findall('asset');
+ var platformTag = xml.find(util.format('./platform[@name="%s"]', platform));
+
+ if (platformTag) {
+ assets = assets.concat(platformTag.findall('./asset'));
+ jsModules = jsModules.concat(platformTag.findall('./js-module'));
+ }
+
+ // Copy www assets described in <asset> tags.
+ assets = assets || [];
+ assets.forEach(function(asset) {
+ common.asset.install(asset, pluginDir, wwwDir);
+ });
+ jsModules.forEach(function(module) {
+ // Copy the plugin's files into the www directory.
+ // NB: We can't always use path.* functions here, because they will use platform slashes.
+ // But the path in the plugin.xml and in the cordova_plugins.js should be always forward slashes.
+ var pathParts = module.attrib.src.split('/');
+
+ var fsDirname = path.join.apply(path, pathParts.slice(0, -1));
+ var fsDir = path.join(platformPluginsDir, plugin_id, fsDirname);
+ shell.mkdir('-p', fsDir);
+
+ // Read in the file, prepend the cordova.define, and write it back out.
+ var moduleName = plugin_id + '.';
+ if (module.attrib.name) {
+ moduleName += module.attrib.name;
+ } else {
+ moduleName += path.basename(module.attrib.src, '.js');
+ }
+
+ var fsPath = path.join.apply(path, pathParts);
+ var scriptPath = path.join(pluginDir, fsPath);
+
+ requireTr.addModule({symbol: moduleName, path: scriptPath});
+
+ module.getchildren().forEach(function(child) {
+ if (child.tag.toLowerCase() == 'clobbers') {
+ fs.appendFileSync(scriptPath,
+ prepareNamespace(child.attrib.target, 'c'),
+ 'utf-8');
+ } else if (child.tag.toLowerCase() == 'merges') {
+ fs.appendFileSync(scriptPath,
+ prepareNamespace(child.attrib.target, 'm'),
+ 'utf-8');
+ }
+ });
+ scripts.push(scriptPath);
+ });
+ });
+
+ libraryRelease.transform(requireTr.transform);
+
+ scripts.forEach(function(script) {
+ libraryRelease.add(script);
+ });
+
+ var outReleaseFile = path.join(wwwDir, 'cordova.js');
+
+ generateFinalBundle(platform, libraryRelease, outReleaseFile, commitId, platformVersion);
+ }
});
});
-
- libraryRelease.transform(requireTr.transform);
-
- scripts.forEach(function(script) {
- libraryRelease.add(script);
- });
-
- var outReleaseFile = path.join(wwwDir, 'cordova.js');
-
- generateFinalBundle(platform, libraryRelease, outReleaseFile);
-
};
[3/9] git commit: CB-7219 prepare-browserify computes commitId and
platformVersion
Posted by st...@apache.org.
CB-7219 prepare-browserify computes commitId and platformVersion
Project: http://git-wip-us.apache.org/repos/asf/cordova-lib/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-lib/commit/1c0c4f00
Tree: http://git-wip-us.apache.org/repos/asf/cordova-lib/tree/1c0c4f00
Diff: http://git-wip-us.apache.org/repos/asf/cordova-lib/diff/1c0c4f00
Branch: refs/heads/master
Commit: 1c0c4f00d5ceac6fd62f00089ff350c1c3768862
Parents: 13fe6b0 6b358ca
Author: Steven Gill <st...@gmail.com>
Authored: Tue Aug 12 17:32:03 2014 -0700
Committer: Steven Gill <st...@gmail.com>
Committed: Tue Aug 12 17:32:03 2014 -0700
----------------------------------------------------------------------
cordova-lib/src/plugman/prepare-browserify.js | 184 +++++++++++----------
1 file changed, 99 insertions(+), 85 deletions(-)
----------------------------------------------------------------------