rendered paste bodyoptions(
project.name "blockdroid"
sdk_folder "/home/pj/bin/software/android"
android_framework "/home/pj/bin/software/android/tools/lib/framework.aidl"
resource_dir "res"
asset_dir "assets"
srcdir "src"
outdir "bin"
external_libs "lib"
native_libs "lib"
outdir_classes "bin/classes"
intermediate_dex "bin/classes.dex"
outdir_classes "bin/classes"
resources_package 'bin/blockdroid.ap_'
debug_package "bin/blockdroid-debug.apk"
unsigned_package "bin/blockdroid-unsigned.apk"
outdir_r "src"
manifest "AndroidManifest.xml"
android_jar "/home/pj/bin/software/android/android.jar"
javac "javac"
android_tools "/home/pj/bin/software/android/tools"
apk_builder "/home/pj/bin/software/android/tools/apkbuilder"
aapt "/home/pj/bin/software/android/tools/aapt"
aidl "/home/pj/bin/software/android/tools/aidl"
adb "/home/pj/bin/software/android/tools/adb"
dx "/home/pj/bin/software/android/tools/dx"
)
depends(
resource_src [ 'dirs' ]
aidl [ 'dirs' ]
compile [ 'dirs' 'resource_src' 'aidl' ]
dex [ 'compile' ]
debug [ 'dex' 'package_res' ]
release [ 'dex' 'package_res' ]
install [ 'debug' ]
reinstall [ 'debug' ]
build [ 'release' ]
)
targets(
dirs [
sh [
$ if [ ! -d ${outdir} ]; then
$ mkdir ${outdir}
$ fi
$ if [ ! -d ${outdir_classes} ]; then
$ mkdir ${outdir_classes}
$ fi
]
]
resource_src [
log "Generating R.java / Manifest.java from the resources..."
$ ${aapt} package -m -J ${outdir_r} -M ${manifest} -S ${resource_dir} -I ${android_jar}
]
aidl [
log "Compiling aidl files into Java classes..."
sh [
$ input=`find ${srcdir} -name \*.aidl`
$ if [ "x$input" != x ]; then
$ ${aidl} -p${android_framework} -I${srcdir} $input
$ fi
]
]
compile [
sh [
$ classpath=`find ${external_libs} -name \*.jar -printf "%%p:" | head -c -1`
$ if [ "x$classpath" != x ]; then
$ classpath="-classpath $classpath"
$ fi
$ javafiles=`find ${srcdir} -name \*.java`
$ ${javac} -encoding ascii -d ${outdir_classes} -bootclasspath ${android_jar} $classpath $javafiles
]
]
dex [
log "Converting compiled files and external libraries into dex..."
sh [
$ extjars=`find ${external_libs} -name \*.jar`
$ ${dx} --dex --output=${intermediate_dex} ${outdir_classes} ${extjars}
]
]
package_res sh [
$ asset_opt=""
$ if [ -d $asset_dir ]; then
$ asset_opt="-A ${asset_dir}"
$ fi
$ ${aapt} package -f -M ${manifest} -S ${resource_dir} ${asset_opt} -I ${android_jar} -F ${resources_package}
]
debug [
log "Packaging ${debug_package}, and signing it with a debug key..."
$ ${apk_builder} ${debug_package} -z ${resources_package} -f ${intermediate_dex} -rf ${srcdir} -rj ${external_libs} -nf ${native_libs}
]
release [
log "Packaging %(unsigned_package)s for release..."
sh [
$ extlib_opt=""
$ if [ -d $external_libs ]; then
$ extlib_opt="-rj ${external_libs}"
$ fi
$ nativelib_opt=""
$ if [ -d $native_libs ]; then
$ nativelib_opt="-nf ${native_libs}"
$ fi
$ ${apk_builder} ${unsigned_package} -u -z ${resources_package} -f ${intermediate_dex} -rf ${srcdir} ${extlib_opt} ${nativelib_opt}
]
log "It will need to be signed with jarsigner before being published."
]
install [
log "Installing ${debug_package} onto default emulator..."
$ ${adb} install ${debug_package}
]
reinstall [
log "Installing ${debug_package} onto default emulator..."
$ ${adb} install -r ${debug_package}
]
uninstall [
log "Uninstalling ${application_package} from the default emulator..."
$ ${adb} uninstall ${application_package}
]
clean [
$ find ${srcdir} -name \*.class | xargs rm -f
]
build [
needs [ 'clean' ]
]
)