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/05/15 20:34:50 UTC
[2/4] git commit: Simplifies build for firefoxos
Simplifies build for firefoxos
Project: http://git-wip-us.apache.org/repos/asf/cordova-firefoxos/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-firefoxos/commit/554df353
Tree: http://git-wip-us.apache.org/repos/asf/cordova-firefoxos/tree/554df353
Diff: http://git-wip-us.apache.org/repos/asf/cordova-firefoxos/diff/554df353
Branch: refs/heads/master
Commit: 554df353db8c184103e5422b8d5466470ef33b70
Parents: 61d86c2
Author: Rodrigo Silveira <ro...@outlook.com>
Authored: Wed May 14 20:30:10 2014 -0700
Committer: Rodrigo Silveira <ro...@outlook.com>
Committed: Wed May 14 20:30:10 2014 -0700
----------------------------------------------------------------------
bin/templates/project/cordova/build | 25 +----
bin/templates/project/cordova/lib/build.js | 129 +++---------------------
2 files changed, 19 insertions(+), 135 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-firefoxos/blob/554df353/bin/templates/project/cordova/build
----------------------------------------------------------------------
diff --git a/bin/templates/project/cordova/build b/bin/templates/project/cordova/build
index 51f43c5..64b68f4 100755
--- a/bin/templates/project/cordova/build
+++ b/bin/templates/project/cordova/build
@@ -20,33 +20,14 @@
*/
-var path = require('path'),
- build = require('./lib/build'),
- reqs = require('./lib/check_reqs'),
+var build = require('./lib/build'),
args = process.argv;
// provide help
-if ( args[2] == '--help' || args[2] == '/?' || args[2] == '-h' ||
+if ( args[2] == '--help' || args[2] == '/?' || args[2] == '-h' || args[2] == '/h' ||
args[2] == 'help' || args[2] == '-help' || args[2] == '/help') {
build.help();
process.exit(0);
-}
-
-// check for the correct argument count, the correct options
-if ( (args.length > 3)
- || (args[2] && ( (args[2] != '--debug')
- && (args[2] != '--release')))) {
- console.error('please only use --debug or --release as argument');
- build.help();
- process.exit(2);
} else {
- var buildOpt = 'debug';
- //var buildTypeOpt = 'web';
- if(args[2] && args[2] == '--release') {
- buildOpt = 'release'
- }
-
- build.buildProject(buildOpt);
+ build.buildProject();
}
-
-
http://git-wip-us.apache.org/repos/asf/cordova-firefoxos/blob/554df353/bin/templates/project/cordova/lib/build.js
----------------------------------------------------------------------
diff --git a/bin/templates/project/cordova/lib/build.js b/bin/templates/project/cordova/lib/build.js
index 73fbedd..89f3621 100644
--- a/bin/templates/project/cordova/lib/build.js
+++ b/bin/templates/project/cordova/lib/build.js
@@ -25,79 +25,15 @@ var path = require('path'),
shjs = require('shelljs'),
zip = require('adm-zip'),
check_reqs = require('./check_reqs'),
- buildReleaseDirInMerge = 'build--release',
platformWwwDir = path.join('platforms', 'firefoxos', 'www'),
platformBuildDir = path.join('platforms', 'firefoxos', 'build'),
- buildReleaseDirInWwwDir = path.join(platformWwwDir, buildReleaseDirInMerge);
-
-function hasMergesCustomReleaseArtifactsDir() {
- return fs.existsSync(path.join('merges', 'firefoxos', buildReleaseDirInMerge));
-}
-
-function hasCustomReleaseArtifactsDir() {
- return fs.existsSync(path.join(platformWwwDir,buildReleaseDirInMerge));
-}
-
-/**
- * hasAllMergesRequiredCustomReleaseArtifacts()
- * checks that merges/firefoxos/build--release is avialable and properly filled.
- *
- */
-function hasAllRequiredCustomReleaseArtifacts() {
- var mergeDir = path.join('merges', 'firefoxos', buildReleaseDirInMerge);
- if (!fs.existsSync( path.join(mergeDir, 'manifest.webapp'))) {
- console.error('\nPlease provide <project> '+mergeDir+'/manifest.webapp');
- }
-
- if (!fs.existsSync( path.join(mergeDir, 'index.html'))) {
- console.error('\nPlease provide <project> '+mergeDir+'/index.html');
- }
-
- return ( fs.existsSync( path.join(mergeDir, 'manifest.webapp'))
- && fs.existsSync( path.join(mergeDir, 'index.html')) );
-}
-
-/**
- * hasCopiedRequiredCustomReleaseArtifacts()
- * checks that 'cordova prepare' has copied merges/firefoxos to platforms/firefoxos/www
- *
- */
-function hasCopiedAllRequiredCustomReleaseArtifacts() {
- if (!fs.existsSync( path.join(buildReleaseDirInWwwDir, 'manifest.webapp'))) {
- console.error('\n'+path.join(buildReleaseDirInWwwDir, 'manifest.webapp')+' is not found');
- }
-
- if (!fs.existsSync( path.join(buildReleaseDirInWwwDir, 'index.html'))) {
- console.error('\n'+path.join(buildReleaseDirInWwwDir, 'index.html')+' is not found');
- }
-
- return ( fs.existsSync( path.join(buildReleaseDirInWwwDir, 'manifest.webapp'))
- && fs.existsSync( path.join(buildReleaseDirInWwwDir, 'index.html')) );
-}
-
-function moveWwwBuildReleaseToBuild() {
- hasAllRequiredCustomReleaseArtifacts();
-
- shjs.mv('-f', path.join(buildReleaseDirInWwwDir, 'index.html'), path.join(platformBuildDir, 'index.html'));
- shjs.mv('-f' ,path.join(buildReleaseDirInWwwDir, 'manifest.webapp'), path.join(platformBuildDir, 'manifest.webapp'));
-}
-
-// cordova merges merge/firefoxos to platforms/firefoxos/www
-// this removes the 'build--release' directory from platforms/firefoxos/www
-function removeWwwBuildRelease() {
- if (fs.existsSync(buildReleaseDirInWwwDir)) {
- shjs.rm('-r', buildReleaseDirInWwwDir);
- }
-}
+ packageFile = path.join(platformBuildDir, 'package.zip');
/**
* buildProject
- * --debug (default):
- *
- * --release
- *
+ * Creates a zip file int platform/build folder
*/
-exports.buildProject = function(buildTarget){
+exports.buildProject = function(){
// Check that requirements are (stil) met
if (!check_reqs.run()) {
@@ -106,55 +42,22 @@ exports.buildProject = function(buildTarget){
}
clean.cleanProject(); // remove old build result
-
- // if 'debug' (default), remove files we only need for 'release'
- if (buildTarget == 'debug') {
- if(hasCustomReleaseArtifactsDir()){
- removeWwwBuildRelease();
- }
- process.exit(0);
- }
-
- if (buildTarget == 'release') {
- console.log('Building Firefoxos project in '+platformBuildDir);
-
- if (!hasAllRequiredCustomReleaseArtifacts()) {
- console.error('\nCheck \'https://developer.mozilla.org/en-US/Marketplace/Publishing/Packaged_apps\' for the required artifacts');
- console.error('\n');
- process.exit(2);
- }
-
- if (!hasCopiedAllRequiredCustomReleaseArtifacts()) {
- console.error('\nIf merges/firefoxos/build-release has proper content, make sure \'cordova prepare firefoxos\' is run.');
- console.error('\n');
- process.exit(2);
- }
- if (!fs.existsSync(platformBuildDir)) {
- fs.mkdir(platformBuildDir);
- }
-
- moveWwwBuildReleaseToBuild();
- removeWwwBuildRelease();
+ if (!fs.existsSync(platformBuildDir)) {
+ fs.mkdirSync(platformBuildDir);
+ }
- // add the project to a zipfile
- var zipFile = zip();
- zipFile.addLocalFolder(platformWwwDir, '.');
- zipFile.writeZip(path.join(platformBuildDir, 'package.zip'));
+ // add the project to a zipfile
+ var zipFile = zip();
+ zipFile.addLocalFolder(platformWwwDir, '.');
+ zipFile.writeZip(packageFile);
- process.exit(0);
- }
+ console.log('Firefox OS packaged app built in '+ packageFile);
- // should never get here
- console.error('Illegal target to build a firefoxos cordova project ('+buildTarget+')');
- process.exit(2);
-}
+ process.exit(0);
+};
module.exports.help = function() {
- console.log('Usage: ' + path.relative(process.cwd(), path.join(__dirname, 'build')) + ' [build_type]');
- console.log('Build Types : ');
- console.log(' \'--debug\': Default build.');
- console.log(' \'--release\': will build a zip-file of the project in \''+platformBuildDir+'\'.');
- console.log(' Please provide manifest.webapp and index.html in '+path.join('merges', 'firefoxos', buildReleaseDirInMerge));
-}
-
+ console.log('Usage: cordova build firefoxos');
+ console.log('Build will create the packaged app in \''+platformBuildDir+'\'.');
+};