mirror of
https://github.com/apache/cordova-android.git
synced 2025-02-22 00:32:55 +08:00
CB-1148 fix for directories with spaces
This commit is contained in:
parent
401584dbd8
commit
7865c06863
89
bin/create
89
bin/create
@ -31,14 +31,14 @@ then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
BUILD_PATH=$( cd "$( dirname "$0" )/.." && pwd )
|
BUILD_PATH=$( cd "$( dirname "$0" )/.." && pwd )
|
||||||
VERSION=$(cat $BUILD_PATH/VERSION)
|
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=${3:-"cordovaExample"}
|
ACTIVITY=${3:-"cordovaExample"}
|
||||||
|
|
||||||
# clobber any existing example
|
# clobber any existing example
|
||||||
if [ -d $PROJECT_PATH ]
|
if [ -d "$PROJECT_PATH" ]
|
||||||
then
|
then
|
||||||
echo "Project already exists! Delete and recreate"
|
echo "Project already exists! Delete and recreate"
|
||||||
exit 1
|
exit 1
|
||||||
@ -46,21 +46,21 @@ fi
|
|||||||
|
|
||||||
# cleanup after exit and/or on error
|
# cleanup after exit and/or on error
|
||||||
function on_exit {
|
function on_exit {
|
||||||
# [ -f $BUILD_PATH/framework/libs/commons-codec-1.6.jar ] && rm $BUILD_PATH/framework/libs/commons-codec-1.6.jar
|
# [ -f "$BUILD_PATH"/framework/libs/commons-codec-1.6.jar ] && rm "$BUILD_PATH"/framework/libs/commons-codec-1.6.jar
|
||||||
# [ -d $BUILD_PATH/framework/libs ] && rmdir $BUILD_PATH/framework/libs
|
# [ -d "$BUILD_PATH"/framework/libs ] && rmdir "$BUILD_PATH"/framework/libs
|
||||||
if [ -f $BUILD_PATH/framework/assets/www/cordova-$VERSION.js ]
|
if [ -f "$BUILD_PATH"/framework/assets/www/cordova-$VERSION.js ]
|
||||||
then
|
then
|
||||||
rm $BUILD_PATH/framework/assets/www/cordova-$VERSION.js
|
rm "$BUILD_PATH"/framework/assets/www/cordova-$VERSION.js
|
||||||
fi
|
fi
|
||||||
if [ -f $BUILD_PATH/framework/cordova-$VERSION.jar ]
|
if [ -f "$BUILD_PATH"/framework/cordova-$VERSION.jar ]
|
||||||
then
|
then
|
||||||
rm $BUILD_PATH/framework/cordova-$VERSION.jar
|
rm "$BUILD_PATH"/framework/cordova-$VERSION.jar
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
function on_error {
|
function on_error {
|
||||||
echo "An error occured. Deleting project..."
|
echo "An error occured. Deleting project..."
|
||||||
[ -d $PROJECT_PATH ] && rm -rf $PROJECT_PATH
|
[ -d "$PROJECT_PATH" ] && rm -rf "$PROJECT_PATH"
|
||||||
}
|
}
|
||||||
|
|
||||||
function replace {
|
function replace {
|
||||||
@ -69,10 +69,10 @@ function replace {
|
|||||||
# Mac OS X requires -i argument
|
# Mac OS X requires -i argument
|
||||||
if [ $OSTYPE = 'darwin11' ]
|
if [ $OSTYPE = 'darwin11' ]
|
||||||
then
|
then
|
||||||
sed -i '' -e $pattern $filename
|
sed -i '' -e $pattern "$filename"
|
||||||
elif [ $OSTYPE = 'linux-gnu' ]
|
elif [ $OSTYPE = 'linux-gnu' ]
|
||||||
then
|
then
|
||||||
sed -i -e $pattern $filename
|
sed -i -e $pattern "$filename"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -82,66 +82,65 @@ trap on_exit EXIT
|
|||||||
|
|
||||||
ANDROID_BIN=$( which android )
|
ANDROID_BIN=$( which android )
|
||||||
PACKAGE_AS_PATH=$(echo $PACKAGE | sed 's/\./\//g')
|
PACKAGE_AS_PATH=$(echo $PACKAGE | sed 's/\./\//g')
|
||||||
ACTIVITY_PATH=$PROJECT_PATH/src/$PACKAGE_AS_PATH/$ACTIVITY.java
|
ACTIVITY_PATH="$PROJECT_PATH"/src/$PACKAGE_AS_PATH/$ACTIVITY.java
|
||||||
MANIFEST_PATH=$PROJECT_PATH/AndroidManifest.xml
|
MANIFEST_PATH="$PROJECT_PATH"/AndroidManifest.xml
|
||||||
|
|
||||||
TARGET=$($ANDROID_BIN list targets | grep id: | tail -1 | cut -f 2 -d ' ' )
|
TARGET=$($ANDROID_BIN list targets | grep id: | tail -1 | cut -f 2 -d ' ' )
|
||||||
|
|
||||||
# if this a distribution release no need to build a jar
|
# if this a distribution release no need to build a jar
|
||||||
if [ ! -e $BUILD_PATH/cordova-$VERSION.jar ] && [ -d $BUILD_PATH/framework ]
|
if [ ! -e "$BUILD_PATH"/cordova-$VERSION.jar ] && [ -d "$BUILD_PATH"/framework ]
|
||||||
then
|
then
|
||||||
# update the cordova-android framework for the desired target
|
# update the cordova-android framework for the desired target
|
||||||
$ANDROID_BIN update project --target $TARGET --path $BUILD_PATH/framework &> /dev/null
|
$ANDROID_BIN update project --target $TARGET --path "$BUILD_PATH"/framework &> /dev/null
|
||||||
|
|
||||||
if [ ! -e $BUILD_PATH/framework/libs/commons-codec-1.6.jar ]; then
|
if [ ! -e "$BUILD_PATH"/framework/libs/commons-codec-1.6.jar ]; then
|
||||||
# Use curl to get the jar (TODO: Support Apache Mirrors)
|
# Use curl to get the jar (TODO: Support Apache Mirrors)
|
||||||
curl -OL http://mirror.symnds.com/software/Apache//commons/codec/binaries/commons-codec-1.6-bin.zip &> /dev/null
|
curl -OL http://mirror.symnds.com/software/Apache//commons/codec/binaries/commons-codec-1.6-bin.zip &> /dev/null
|
||||||
unzip commons-codec-1.6-bin.zip &> /dev/null
|
unzip commons-codec-1.6-bin.zip &> /dev/null
|
||||||
mkdir -p $BUILD_PATH/framework/libs
|
mkdir -p "$BUILD_PATH"/framework/libs
|
||||||
cp commons-codec-1.6/commons-codec-1.6.jar $BUILD_PATH/framework/libs
|
cp commons-codec-1.6/commons-codec-1.6.jar "$BUILD_PATH"/framework/libs
|
||||||
# cleanup yo
|
# cleanup yo
|
||||||
rm commons-codec-1.6-bin.zip && rm -rf commons-codec-1.6
|
rm commons-codec-1.6-bin.zip && rm -rf commons-codec-1.6
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# compile cordova.js and cordova.jar
|
# compile cordova.js and cordova.jar
|
||||||
(cd $BUILD_PATH/framework && ant jar &> /dev/null )
|
(cd "$BUILD_PATH"/framework && ant jar &> /dev/null )
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
# create new android project
|
# create new android project
|
||||||
$ANDROID_BIN create project --target $TARGET --path $PROJECT_PATH --package $PACKAGE --activity $ACTIVITY &> /dev/null
|
$ANDROID_BIN create project --target $TARGET --path "$PROJECT_PATH" --package $PACKAGE --activity $ACTIVITY &> /dev/null
|
||||||
|
|
||||||
# copy project template
|
# copy project template
|
||||||
cp -r $BUILD_PATH/bin/templates/project/assets $PROJECT_PATH
|
cp -r "$BUILD_PATH"/bin/templates/project/assets "$PROJECT_PATH"
|
||||||
cp -r $BUILD_PATH/bin/templates/project/res $PROJECT_PATH
|
cp -r "$BUILD_PATH"/bin/templates/project/res "$PROJECT_PATH"
|
||||||
|
|
||||||
# copy cordova.js, cordova.jar and res/xml
|
# copy cordova.js, cordova.jar and res/xml
|
||||||
if [ -d $BUILD_PATH/framework ]
|
if [ -d "$BUILD_PATH"/framework ]
|
||||||
then
|
then
|
||||||
cp -r $BUILD_PATH/framework/res/xml $PROJECT_PATH/res
|
cp -r "$BUILD_PATH"/framework/res/xml "$PROJECT_PATH"/res
|
||||||
cp $BUILD_PATH/framework/assets/www/cordova-$VERSION.js $PROJECT_PATH/assets/www/cordova-$VERSION.js
|
cp "$BUILD_PATH"/framework/assets/www/cordova-$VERSION.js "$PROJECT_PATH"/assets/www/cordova-$VERSION.js
|
||||||
cp $BUILD_PATH/framework/cordova-$VERSION.jar $PROJECT_PATH/libs/cordova-$VERSION.jar
|
cp "$BUILD_PATH"/framework/cordova-$VERSION.jar "$PROJECT_PATH"/libs/cordova-$VERSION.jar
|
||||||
else
|
else
|
||||||
cp -r $BUILD_PATH/xml $PROJECT_PATH/res/xml
|
cp -r "$BUILD_PATH"/xml "$PROJECT_PATH"/res/xml
|
||||||
cp $BUILD_PATH/cordova-$VERSION.js $PROJECT_PATH/assets/www/cordova-$VERSION.js
|
cp "$BUILD_PATH"/cordova-$VERSION.js "$PROJECT_PATH"/assets/www/cordova-$VERSION.js
|
||||||
cp $BUILD_PATH/cordova-$VERSION.jar $PROJECT_PATH/libs/cordova-$VERSION.jar
|
cp "$BUILD_PATH"/cordova-$VERSION.jar "$PROJECT_PATH"/libs/cordova-$VERSION.jar
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# interpolate the activity name and package
|
# interpolate the activity name and package
|
||||||
cp $BUILD_PATH/bin/templates/project/Activity.java $ACTIVITY_PATH
|
cp "$BUILD_PATH"/bin/templates/project/Activity.java "$ACTIVITY_PATH"
|
||||||
replace "s/__ACTIVITY__/${ACTIVITY}/g" $ACTIVITY_PATH
|
replace "s/__ACTIVITY__/${ACTIVITY}/g" "$ACTIVITY_PATH"
|
||||||
replace "s/__ID__/${PACKAGE}/g" $ACTIVITY_PATH
|
replace "s/__ID__/${PACKAGE}/g" "$ACTIVITY_PATH"
|
||||||
|
|
||||||
cp $BUILD_PATH/bin/templates/project/AndroidManifest.xml $MANIFEST_PATH
|
cp "$BUILD_PATH"/bin/templates/project/AndroidManifest.xml "$MANIFEST_PATH"
|
||||||
replace "s/__ACTIVITY__/${ACTIVITY}/g" $MANIFEST_PATH
|
replace "s/__ACTIVITY__/${ACTIVITY}/g" "$MANIFEST_PATH"
|
||||||
replace "s/__PACKAGE__/${PACKAGE}/g" $MANIFEST_PATH
|
replace "s/__PACKAGE__/${PACKAGE}/g" "$MANIFEST_PATH"
|
||||||
|
|
||||||
# creating cordova folder and copying emulate/debug/log/launch scripts
|
# creating cordova folder and copying emulate/debug/log/launch scripts
|
||||||
mkdir $PROJECT_PATH/cordova
|
mkdir "$PROJECT_PATH"/cordova
|
||||||
cp $BUILD_PATH/bin/templates/cordova/appinfo.jar $PROJECT_PATH/cordova/appinfo.jar
|
cp "$BUILD_PATH"/bin/templates/cordova/appinfo.jar "$PROJECT_PATH"/cordova/appinfo.jar
|
||||||
cp $BUILD_PATH/bin/templates/cordova/cordova $PROJECT_PATH/cordova/cordova
|
cp "$BUILD_PATH"/bin/templates/cordova/cordova "$PROJECT_PATH"/cordova/cordova
|
||||||
cp $BUILD_PATH/bin/templates/cordova/debug $PROJECT_PATH/cordova/debug
|
cp "$BUILD_PATH"/bin/templates/cordova/debug "$PROJECT_PATH"/cordova/debug
|
||||||
cp $BUILD_PATH/bin/templates/cordova/clean $PROJECT_PATH/cordova/clean
|
cp "$BUILD_PATH"/bin/templates/cordova/clean "$PROJECT_PATH"/cordova/clean
|
||||||
cp $BUILD_PATH/bin/templates/cordova/log $PROJECT_PATH/cordova/log
|
cp "$BUILD_PATH"/bin/templates/cordova/log "$PROJECT_PATH"/cordova/log
|
||||||
cp $BUILD_PATH/bin/templates/cordova/emulate $PROJECT_PATH/cordova/emulate
|
cp "$BUILD_PATH"/bin/templates/cordova/emulate "$PROJECT_PATH"/cordova/emulate
|
||||||
cp $BUILD_PATH/bin/templates/cordova/BOOM $PROJECT_PATH/cordova/BOOM
|
cp "$BUILD_PATH"/bin/templates/cordova/BOOM "$PROJECT_PATH"/cordova/BOOM
|
||||||
|
Loading…
Reference in New Issue
Block a user