Created
January 15, 2014 12:55
-
-
Save hvasconcelos/8435699 to your computer and use it in GitHub Desktop.
A script to generate a Gradle Android Project
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
create_build_file() { | |
cat > $1/build.gradle << EOF | |
repositories { | |
mavenCentral() | |
} | |
buildscript { | |
repositories { | |
mavenCentral() | |
} | |
dependencies { | |
classpath 'com.android.tools.build:gradle:0.7.0' | |
} | |
} | |
apply plugin: 'android' | |
android { | |
defaultConfig { | |
minSdkVersion $minVersion | |
targetSdkversion $targetVersion | |
packageName "$2" | |
} | |
} | |
dependencies { | |
} | |
EOF | |
packageDir=$(echo $2 | tr '.' '/') | |
mkdir -p $1/$srcJavaDir/$packageDir | |
} | |
create_manifest_file() { | |
cat > $1/AndroidManifest.xml << EOF | |
<?xml version="1.0" encoding="utf-8"?> | |
<manifest xmlns:android="http://schemas.android.com/apk/res/android" | |
package="$2" | |
android:versionCode="1" | |
android:versionName="1.0" > | |
<uses-sdk android:minSdkVersion="$minVersion" | |
android:targetSdkVersion="$targetVersion" /> | |
<application | |
android:allowBackup="true"> | |
</application> | |
</manifest> | |
EOF | |
} | |
init_project() { | |
mkdir -p $1 | |
mkdir -p $1/$resDir | |
echo "$1/$resDir" | |
mkdir -p $1/$srcJavaDir | |
mkdir -p $1/$srcTestDir | |
echo -n "Do you want to create the create Assets Directory [y/n] " | |
read -n 1 qt | |
if [ "$qt" == "y" ];then | |
mkdir -p $1/$assetsDir | |
fi | |
echo | |
echo -n "Do you want to create the create JNI Directory [y/n] " | |
read -n 1 qt | |
if [ "$qt" == "y" ];then | |
mkdir -p $1/$jniDir | |
fi | |
echo | |
echo -n "Do you want to create the create Instrument Directory [y/n]" | |
read -n 1 qt | |
if [ "$qt" == "y" ];then | |
mkdir -p $1/$instrumentTestDir | |
fi | |
echo | |
echo -n "Do you want to create the resoureces java Directory [y/n]" | |
read -n 1 qt | |
if [ "$qt" == "y" ];then | |
mkdir -p $1/$resJavaDir | |
fi | |
echo | |
create_build_file $1 $2 | |
create_manifest_file $1 $2 | |
} | |
print_usage() { | |
cat << EOF | |
----------------------------------------------- | |
GRADLE PROJECT GENERATOR | |
---------------------------------------------- | |
gradle_droid_gen <projectDir> <packageName> | |
<projectDir> := Project Root Directory | |
<packageName> := Application Package Name | |
EOF | |
} | |
if [[ -z $1 ]]; then print_usage;exit 1; fi | |
if [[ -z $2 ]]; then print_usage;exit 1; fi | |
resDir=res | |
assetsDir=assets | |
aidl=aidl | |
renderScript=rs/ | |
jniDir=jni/ | |
srcJavaDir=src/main/java | |
resJavaDir=src/main/resources | |
srcTestDir=src/test/java | |
resTestDir=src/test/resources/ | |
instrumentTestDir=src/instrumentTest/ | |
minVersion=${3:-14} | |
targetVersion=${4:-19} | |
init_project $1 $2 | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment