Skip to content

Instantly share code, notes, and snippets.

@hvasconcelos
Created January 15, 2014 12:55
Show Gist options
  • Save hvasconcelos/8435699 to your computer and use it in GitHub Desktop.
Save hvasconcelos/8435699 to your computer and use it in GitHub Desktop.
A script to generate a Gradle Android Project
#!/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