You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by fi...@apache.org on 2012/05/17 20:00:11 UTC
android commit: [CB-659] create script for android on windows now
works fully. also pulls down commons-codec jar appropriately
Updated Branches:
refs/heads/master 7eb3e5d13 -> 1f45503e2
[CB-659] create script for android on windows now works fully. also pulls down commons-codec jar appropriately
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/1f45503e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/tree/1f45503e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/diff/1f45503e
Branch: refs/heads/master
Commit: 1f45503e2f313e9d13aefc73660c225c0edde3ff
Parents: 7eb3e5d
Author: filmaj <ma...@gmail.com>
Authored: Thu May 17 10:59:38 2012 -0700
Committer: filmaj <ma...@gmail.com>
Committed: Thu May 17 10:59:38 2012 -0700
----------------------------------------------------------------------
bin/create.js | 44 ++++++++++++++++++++++++-
bin/templates/project/cordova/create.js | 5 +--
2 files changed, 44 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/blob/1f45503e/bin/create.js
----------------------------------------------------------------------
diff --git a/bin/create.js b/bin/create.js
index 96e61ec..a15db7a 100644
--- a/bin/create.js
+++ b/bin/create.js
@@ -64,6 +64,9 @@ function fork(s) {
var args = WScript.Arguments, PROJECT_PATH="example",
PACKAGE="org.apache.cordova.example", ACTIVITY="cordovaExample",
shell=WScript.CreateObject("WScript.Shell");
+
+// working dir
+var ROOT = WScript.ScriptFullName.split('\\bin\\create.js').join('');
if (args.Count() == 3) {
WScript.Echo('Found expected arguments');
@@ -86,7 +89,7 @@ WScript.Echo("Activity path: " + ACTIVITY_PATH);
WScript.Echo("Manifest path: " + MANIFEST_PATH);
WScript.Echo("Cordova version: " + VERSION);
-// clobber any existing example
+// TODO: clobber any existing example
/*
if [ $# -eq 0 ]
@@ -101,13 +104,50 @@ exec('android.bat create project --target '+TARGET+' --path '+PROJECT_PATH+' --p
// update the cordova framework project to a target that exists on this machine
exec('android.bat update project --target '+TARGET+' --path framework');
+// pull down commons codec if necessary
+var fso = WScript.CreateObject('Scripting.FileSystemObject');
+if (!fso.FileExists(ROOT + '\\framework\\libs\\commons-codec-1.6.jar')) {
+ // We need the .jar
+ var url = 'http://mirror.symnds.com/software/Apache//commons/codec/binaries/commons-codec-1.6-bin.zip';
+ var savePath = ROOT + '\\framework\\libs\\commons-codec-1.6-bin.zip';
+ if (!fso.FileExists(savePath)) {
+ // We need the zip to get the jar
+ var xhr = WScript.CreateObject('MSXML2.XMLHTTP');
+ xhr.open('GET', url, false);
+ xhr.send();
+ if (xhr.status == 200) {
+ var stream = WScript.CreateObject('ADODB.Stream');
+ stream.Open();
+ stream.Type = 1;
+ stream.Write(xhr.ResponseBody);
+ stream.Position = 0;
+ stream.SaveToFile(savePath);
+ stream.Close();
+ } else {
+ WScript.Echo('Could not retrieve the commons-codec. Please download it yourself and put into the framework/libs directory. This process may fail now. Sorry.');
+ }
+ }
+ var app = WScript.CreateObject('Shell.Application');
+ var source = app.NameSpace(savePath).Items();
+ var target = app.NameSpace(ROOT + '\\framework\\libs');
+ target.CopyHere(source, 256);
+
+ // Move the jar into libs
+ fso.MoveFile(ROOT + '\\framework\\libs\\commons-codec-1.6\\commons-codec-1.6.jar', ROOT + '\\framework\\libs\\commons-codec-1.6.jar');
+
+ // Clean up
+ fso.DeleteFile(ROOT + '\\framework\\libs\\commons-codec-1.6-bin.zip');
+ fso.DeleteFolder(ROOT + '\\framework\\libs\\commons-codec-1.6', true);
+}
+
+
// compile cordova.js and cordova.jar
// if you see an error about "Unable to resolve target" then you may need to
// update your android tools or install an additional Android platform version
exec('ant.bat -f framework\\build.xml jar');
// copy in the project template
-exec('cmd /c xcopy bin\\templates\\project '+PROJECT_PATH+' /S /Y');
+exec('cmd /c xcopy bin\\templates\\project\\* '+PROJECT_PATH+' /S /Y');
// copy example www assets
exec('cmd /c xcopy ' + PROJECT_PATH + '\\cordova\\assets ' + PROJECT_PATH + ' /S /Y');
http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/blob/1f45503e/bin/templates/project/cordova/create.js
----------------------------------------------------------------------
diff --git a/bin/templates/project/cordova/create.js b/bin/templates/project/cordova/create.js
index b87f0a1..2bf5603 100644
--- a/bin/templates/project/cordova/create.js
+++ b/bin/templates/project/cordova/create.js
@@ -9,7 +9,6 @@ function exec(s, output) {
WScript.Echo("Command exited with code " + o.Status);
}
function read(filename) {
- WScript.Echo('Reading in ' + filename);
var fso=WScript.CreateObject("Scripting.FileSystemObject");
var f=fso.OpenTextFile(filename, 1);
var s=f.ReadAll();
@@ -44,7 +43,7 @@ var MANIFEST_PATH=PWD+'\\AndroidManifest.xml';
exec('android.bat create project --target ' + TARGET + ' --path ' + PWD + ' --package ' + PACKAGE + ' --activity ' + ACTIVITY);
// copy in activity and other android assets
-exec('cmd /c xcopy ' + PWD + '\\cordova\\templates\project\* ' + PWD +' /Y /S');
+exec('cmd /c xcopy ' + PWD + '\\cordova\\templates\\project\\* ' + PWD +' /Y /S');
// copy in cordova.js
exec('cmd /c copy ' + PWD + '\\.cordova\\android\\cordova-' + VERSION + '.js ' + PWD + '\\assets\\www /Y');
@@ -67,4 +66,4 @@ replaceInFile(ACTIVITY_PATH, /__ID__/, PACKAGE);
replaceInFile(MANIFEST_PATH, /__ACTIVITY__/, ACTIVITY);
replaceInFile(MANIFEST_PATH, /__PACKAGE__/, PACKAGE);
-WScript.Echo('DONE!');
\ No newline at end of file
+WScript.Echo('Create completed successfully.');
\ No newline at end of file