127 lines
3.5 KiB
Groovy
127 lines
3.5 KiB
Groovy
buildscript {
|
|
repositories {
|
|
mavenCentral()
|
|
}
|
|
dependencies {
|
|
classpath 'com.android.tools.build:gradle:0.9.1'
|
|
}
|
|
}
|
|
|
|
def toolVersion = "19.1"
|
|
apply plugin: 'android'
|
|
|
|
sdkLoc = System.getenv("ANDROID_HOME")
|
|
FileCollection getAndroidPrebuilt(String apiLevel) {
|
|
files("$sdkLoc/platforms/android-$apiLevel/android.jar")
|
|
}
|
|
|
|
dependencies {
|
|
compile files('libs/core-3.0.1.jar')
|
|
compile project(':support-v4')
|
|
compile project(':extern:AndroidPinning')
|
|
compile project(':extern:UniversalImageLoader:library')
|
|
compile project(':extern:MemorizingTrustManager')
|
|
compile project(':extern:libsuperuser:libsuperuser')
|
|
compile project(':extern:nanohttpd:core')
|
|
compile project(':extern:zipsigner')
|
|
}
|
|
|
|
project(':extern:UniversalImageLoader:library') {
|
|
buildscript {
|
|
repositories {
|
|
mavenCentral()
|
|
}
|
|
dependencies {
|
|
classpath 'com.android.tools.build:gradle:0.9.1'
|
|
}
|
|
}
|
|
|
|
apply plugin: 'android-library'
|
|
|
|
android {
|
|
compileSdkVersion 16
|
|
buildToolsVersion toolVersion
|
|
|
|
sourceSets {
|
|
main {
|
|
manifest.srcFile 'AndroidManifest.xml'
|
|
java.srcDirs = ['src']
|
|
resources.srcDirs = ['src']
|
|
aidl.srcDirs = ['src']
|
|
renderscript.srcDirs = ['src']
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
android {
|
|
compileSdkVersion 19
|
|
buildToolsVersion toolVersion
|
|
|
|
sourceSets {
|
|
main {
|
|
manifest.srcFile 'AndroidManifest.xml'
|
|
java.srcDirs = ['src']
|
|
resources.srcDirs = ['src']
|
|
aidl.srcDirs = ['src']
|
|
renderscript.srcDirs = ['src']
|
|
res.srcDirs = ['res']
|
|
assets.srcDirs = ['assets']
|
|
}
|
|
|
|
instrumentTest.setRoot('test')
|
|
}
|
|
|
|
buildTypes {
|
|
release {
|
|
runProguard true
|
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-project.txt'
|
|
}
|
|
}
|
|
|
|
tasks.withType(Compile) { task ->
|
|
options.encoding = "UTF-8"
|
|
}
|
|
|
|
}
|
|
|
|
// TODO: This person took the example code below from another blogpost online, however
|
|
// I lost the reference to it:
|
|
// http://stackoverflow.com/questions/23297562/gradle-javadoc-and-android-documentation
|
|
android.applicationVariants.all { variant ->
|
|
|
|
task("generate${variant.name}Javadoc", type: Javadoc) {
|
|
title = "$name $version API"
|
|
description "Generates Javadoc for F-Droid."
|
|
source = variant.javaCompile.source
|
|
ext.androidJar = "${android.plugin.sdkDirectory}/platforms/${android.compileSdkVersion}/android.jar"
|
|
classpath = files(variant.javaCompile.classpath.files) + files(ext.androidJar)
|
|
options.links("http://docs.oracle.com/javase/7/docs/api/");
|
|
options.links("http://d.android.com/reference/");
|
|
exclude '**/BuildConfig.java'
|
|
exclude '**/R.java'
|
|
}
|
|
}
|
|
|
|
// This is the hacky way which we force the subprojects to use the same build tools:
|
|
// http://stackoverflow.com/a/21032272
|
|
subprojects {
|
|
afterEvaluate {
|
|
android {
|
|
|
|
// The android build task only lets you configure the buildToolsVersion once, so if
|
|
// we execute the closure below to configure our subprojects, it will fail when it
|
|
// hits the second subproject. Therefore, we will only do it once, and I guess the
|
|
// android plubin will re-use the existing value I set.
|
|
// https://android.googlesource.com/platform/tools/build/+/master/gradle/src/main/groovy/com/android/build/gradle/BaseExtension.groovy
|
|
try {
|
|
buildToolsVersion toolVersion
|
|
logger.info("Set buildToolsVersion to $toolVersion")
|
|
} catch (GradleException e) {
|
|
logger.info("Tried to set the buildToolsVersion, however we were not allowed to: $e.message")
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|