[CB-4198] bin/create script should be better at handling non-word characters in activity name. Patched windows script as well.

This commit is contained in:
Fil Maj 2013-07-25 10:33:05 -07:00
parent 980c4699b0
commit b4236b9783
2 changed files with 215 additions and 211 deletions

View File

@ -38,7 +38,7 @@ VERSION=$(cat "$BUILD_PATH"/VERSION)
PROJECT_PATH="${1:-'./example'}" PROJECT_PATH="${1:-'./example'}"
PACKAGE=${2:-"org.apache.cordova.example"} PACKAGE=${2:-"org.apache.cordova.example"}
ACTIVITY=$(echo ${3:-"cordovaExample"} | tr -d ' ') ACTIVITY=$(echo ${3:-"cordovaExample"} | tr -d '[:blank:][:punct:]')
APP_LABEL=${3:-"Cordova Example"}; APP_LABEL=${3:-"Cordova Example"};
# clobber any existing example # clobber any existing example

View File

@ -137,14 +137,16 @@ if(fso.FolderExists(PROJECT_PATH)) {
var PACKAGE_AS_PATH=PACKAGE.replace(/\./g, '\\'); var PACKAGE_AS_PATH=PACKAGE.replace(/\./g, '\\');
var ACTIVITY_DIR=PROJECT_PATH + '\\src\\' + PACKAGE_AS_PATH; var ACTIVITY_DIR=PROJECT_PATH + '\\src\\' + PACKAGE_AS_PATH;
var ACTIVITY_PATH=ACTIVITY_DIR+'\\'+ACTIVITY+'.java'; var SAFE_ACTIVITY = ACTIVITY.replace(/\W/g, '');
var ACTIVITY_PATH=ACTIVITY_DIR+'\\'+SAFE_ACTIVITY+'.java';
var MANIFEST_PATH=PROJECT_PATH+'\\AndroidManifest.xml'; var MANIFEST_PATH=PROJECT_PATH+'\\AndroidManifest.xml';
var STRINGS_PATH=PROJECT_PATH+'\\res\\values\\strings.xml';
var TARGET=setTarget(); var TARGET=setTarget();
var API_LEVEL=setApiLevel(); var API_LEVEL=setApiLevel();
var VERSION=read(ROOT+'\\VERSION').replace(/\r\n/,'').replace(/\n/,''); var VERSION=read(ROOT+'\\VERSION').replace(/\r\n/,'').replace(/\n/,'');
// create the project // create the project
Log("Creating new android project..."); Log("Creating new android project...");
exec('android.bat create project --target "'+TARGET+'" --path "'+PROJECT_PATH+'" --package "'+PACKAGE+'" --activity "'+ACTIVITY+'"'); exec('android.bat create project --target "'+TARGET+'" --path "'+PROJECT_PATH+'" --package "'+PACKAGE+'" --activity "'+SAFE_ACTIVITY+'"');
// build from source. distro should have these files // build from source. distro should have these files
if (!fso.FileExists(ROOT+'\\cordova-'+VERSION+'.jar') && if (!fso.FileExists(ROOT+'\\cordova-'+VERSION+'.jar') &&
@ -208,3 +210,5 @@ replaceInFile(ACTIVITY_PATH, /__ID__/, PACKAGE);
replaceInFile(MANIFEST_PATH, /__ACTIVITY__/, ACTIVITY); replaceInFile(MANIFEST_PATH, /__ACTIVITY__/, ACTIVITY);
replaceInFile(MANIFEST_PATH, /__PACKAGE__/, PACKAGE); replaceInFile(MANIFEST_PATH, /__PACKAGE__/, PACKAGE);
replaceInFile(MANIFEST_PATH, /__APILEVEL__/, API_LEVEL); replaceInFile(MANIFEST_PATH, /__APILEVEL__/, API_LEVEL);
replaceInFile(STRINGS_PATH, new RegExp('>' + SAFE_ACTIVITY + '<'), '>' + ACTIVITY + '<');