You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by an...@apache.org on 2012/06/22 06:16:07 UTC
[3/4] android commit: fixing create
fixing create
Project: http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/commit/6f8e1329
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/tree/6f8e1329
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/diff/6f8e1329
Branch: refs/heads/master
Commit: 6f8e13297e015fa7b0d30ed2b86e1b349fa748ef
Parents: e9a9144
Author: Anis Kadri <an...@gmail.com>
Authored: Wed Jun 20 19:08:18 2012 -0700
Committer: Anis Kadri <an...@gmail.com>
Committed: Wed Jun 20 19:08:18 2012 -0700
----------------------------------------------------------------------
bin/create.js | 32 ++++++++++++++++++++++-------
bin/tests/test_create_win.js | 39 +++++++++++++++++++++++++++++++++++-
2 files changed, 61 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/blob/6f8e1329/bin/create.js
----------------------------------------------------------------------
diff --git a/bin/create.js b/bin/create.js
index 9f70443..fcce478 100644
--- a/bin/create.js
+++ b/bin/create.js
@@ -33,6 +33,10 @@ function read(filename) {
f.Close();
return s;
}
+function setTarget() {
+ var targets = shell.Exec('android.bat list targets').StdOut.ReadAll().match(/id:\s\d+/g);
+ return targets[targets.length - 1].replace(/id: /, ""); // TODO: give users the option to set their target
+}
function write(filename, contents) {
var fso=WScript.CreateObject("Scripting.FileSystemObject");
var f=fso.OpenTextFile(filename, 2, true);
@@ -42,12 +46,11 @@ function write(filename, contents) {
function replaceInFile(filename, regexp, replacement) {
write(filename, read(filename).replace(regexp, replacement));
}
-function exec(s, output) {
- var o=shell.Exec(s);
- while (o.Status == 0) {
- WScript.Sleep(100);
+function exec(command) {
+ var oShell=shell.Exec(command);
+ while (oShell.Status == 0) {
+ WScript.sleep(100);
}
- //WScript.Echo("Command exited with code " + o.Status);
}
function cleanup() {
@@ -125,9 +128,8 @@ if(fso.FolderExists(PROJECT_PATH)) {
var PACKAGE_AS_PATH=PACKAGE.replace(/\./g, '\\');
var ACTIVITY_PATH=PROJECT_PATH+'\\src\\'+PACKAGE_AS_PATH+'\\'+ACTIVITY+'.java';
var MANIFEST_PATH=PROJECT_PATH+'\\AndroidManifest.xml';
-var TARGET=shell.Exec('android.bat list targets').StdOut.ReadAll().match(/id:\s([0-9]).*/)[1];
+var TARGET=setTarget();
var VERSION=read(ROOT+'\\VERSION').replace(/\r\n/,'').replace(/\n/,'');
-
// create the project
exec('android.bat create project --target '+TARGET+' --path '+PROJECT_PATH+' --package '+PACKAGE+' --activity '+ACTIVITY);
@@ -140,7 +142,10 @@ downloadCommonsCodec();
exec('ant.bat -f '+ ROOT +'\\framework\\build.xml jar');
// copy in the project template
-exec('cmd /c xcopy '+ ROOT + '\\bin\\templates\\project\\* '+PROJECT_PATH+' /S /Y');
+exec('cmd /c xcopy '+ ROOT + '\\bin\\templates\\project\\res '+PROJECT_PATH+'\\res\\ /E /Y');
+exec('cmd /c xcopy '+ ROOT + '\\bin\\templates\\project\\assets '+PROJECT_PATH+'\\assets\\ /E /Y');
+exec('cmd /c copy '+ROOT+'\\bin\\templates\\project\\AndroidManifest.xml ' + PROJECT_PATH + '\\AndroidManifest.xml /Y');
+exec('cmd /c copy '+ROOT+'\\bin\\templates\\project\\Activity.java '+ ACTIVITY_PATH +' /Y');
// copy in cordova.js
exec('cmd /c copy '+ROOT+'\\framework\\assets\\www\\cordova-'+VERSION+'.js '+PROJECT_PATH+'\\assets\\www\\cordova-'+VERSION+'.js /Y');
@@ -153,6 +158,17 @@ fso.CreateFolder(PROJECT_PATH + '\\res\\xml');
exec('cmd /c copy '+ROOT+'\\framework\\res\\xml\\cordova.xml ' + PROJECT_PATH + '\\res\\xml\\cordova.xml /Y');
exec('cmd /c copy '+ROOT+'\\framework\\res\\xml\\plugins.xml ' + PROJECT_PATH + '\\res\\xml\\plugins.xml /Y');
+// copy cordova scripts
+fso.CreateFolder(PROJECT_PATH + '\\cordova');
+exec('cmd /c copy '+ROOT+'\\bin\\templates\\cordova\\appinfo.jar ' + PROJECT_PATH + '\\cordova\\appinfo.jar /Y');
+exec('cmd /c copy '+ROOT+'\\bin\\templates\\cordova\\cordova.js ' + PROJECT_PATH + '\\cordova\\cordova.js /Y');
+exec('cmd /c copy '+ROOT+'\\bin\\templates\\cordova\\cordova.bat ' + PROJECT_PATH + '\\cordova\\cordova.bat /Y');
+exec('cmd /c copy '+ROOT+'\\bin\\templates\\cordova\\clean.bat ' + PROJECT_PATH + '\\cordova\\clean.bat /Y');
+exec('cmd /c copy '+ROOT+'\\bin\\templates\\cordova\\debug.bat ' + PROJECT_PATH + '\\cordova\\debug.bat /Y');
+exec('cmd /c copy '+ROOT+'\\bin\\templates\\cordova\\log.bat ' + PROJECT_PATH + '\\cordova\\log.bat /Y');
+exec('cmd /c copy '+ROOT+'\\bin\\templates\\cordova\\emulate.bat ' + PROJECT_PATH + '\\cordova\\emulate.bat /Y');
+exec('cmd /c copy '+ROOT+'\\bin\\templates\\cordova\\BOOM.bat ' + PROJECT_PATH + '\\cordova\\BOOM.bat /Y');
+
// interpolate the activity name and package
replaceInFile(ACTIVITY_PATH, /__ACTIVITY__/, ACTIVITY);
replaceInFile(ACTIVITY_PATH, /__ID__/, PACKAGE);
http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/blob/6f8e1329/bin/tests/test_create_win.js
----------------------------------------------------------------------
diff --git a/bin/tests/test_create_win.js b/bin/tests/test_create_win.js
index 76dd6aa..e8202de 100644
--- a/bin/tests/test_create_win.js
+++ b/bin/tests/test_create_win.js
@@ -91,8 +91,43 @@ create_project.on('exit', function(code) {
assert(exists, 'cordova.js did not get added');
});
- // check that project compiles && creates a cordovaExample-debug.apk
- // XXX: !@##!@# WINDOWS
+ // make sure cordova master script was added
+ path.exists(util.format('%s/cordova/cordova.bat', project_path), function(exists) {
+ assert(exists, 'cordova script did not get added');
+ });
+
+ // make sure debug script was added
+ path.exists(util.format('%s/cordova/debug.bat', project_path), function(exists) {
+ assert(exists, 'debug script did not get added');
+ });
+
+ // make sure BOOM script was added
+ path.exists(util.format('%s/cordova/BOOM.bat', project_path), function(exists) {
+ assert(exists, 'BOOM script did not get added');
+ });
+
+ // make sure log script was added
+ path.exists(util.format('%s/cordova/log.bat', project_path), function(exists) {
+ assert(exists, 'log script did not get added');
+ });
+
+ // make sure clean script was added
+ path.exists(util.format('%s/cordova/clean.bat', project_path), function(exists) {
+ assert(exists, 'clean script did not get added');
+ });
+
+ // make sure emulate script was added
+ path.exists(util.format('%s/cordova/emulate.bat', project_path), function(exists) {
+ assert(exists, 'emulate script did not get added');
+ });
+
+ // make sure appinfo.jar script was added
+ path.exists(util.format('%s/cordova/appinfo.jar', project_path), function(exists) {
+ assert(exists, 'appinfo.jar script did not get added');
+ });
+
+ // check that project compiles && creates a cordovaExample-debug.apk
+ // XXX: !@##!@# WINDOWS
exec('ant debug -f ' + project_path + "\\build.xml", function(error, stdout, stderr) {
assert(error == null, "Cordova Android Project does not compile");
path.exists(util.format('%s/bin/%s-debug.apk', project_path, project_name),