1
0
Fork 0
mirror of https://github.com/gsantner/dandelion synced 2024-11-16 01:12:08 +01:00
dandelion/app/build.gradle
2016-11-06 05:37:53 +01:00

109 lines
3.3 KiB
Groovy

apply plugin: 'com.android.application'
apply plugin: 'android-apt'
android {
compileSdkVersion 24
buildToolsVersion "24.0.3"
defaultConfig {
applicationId "com.github.dfa.diaspora_android"
minSdkVersion 17
targetSdkVersion 24
versionCode 10
versionName "0.2.0-next"
setProperty("archivesBaseName", "diasporaAndroid__${versionName}__")
vectorDrawables.useSupportLibrary = true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
lintOptions {
disable 'MissingTranslation'
}
}
// Additional repositories
repositories {
maven {
url "https://jitpack.io"
}
}
dependencies {
// Sub-Projects
//compile project(':subprojectFromRoot')
// Jars
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
// Android standard libs
compile 'com.android.support:appcompat-v7:24.2.1'
compile 'com.android.support:design:24.1.0' //Don't update. Broken up to 25.0.0
compile 'com.android.support:support-v4:24.2.1'
compile 'com.android.support:customtabs:24.2.1'
// More libraries
compile 'com.jakewharton:butterknife:8.0.1'
compile 'info.guardianproject.netcipher:netcipher:2.0.0-alpha1'
compile 'info.guardianproject.netcipher:netcipher-webkit:2.0.0-alpha1'
compile 'com.github.DASAR:ShiftColorPicker:v0.5'
apt 'com.jakewharton:butterknife-compiler:8.0.1'
}
// #####################
// Groovy Coding Area
// #####################
final String RAW_DIR = "app/src/main/res/raw"
final String[] ROOT_TO_RAW_COPYFILES = ["README.md", "LICENSE.md", "CHANGELOG.md", "CONTRIBUTORS.txt"]
final String PODLIST_URL = 'https://raw.githubusercontent.com/Diaspora-for-Android/diaspora-android-extras/master/podList/podlist.json'
final String PODLIST_PATH = "${RAW_DIR}/podlist.json"
// Called before building
task copyRepoFiles(type: Copy) {
// Copy files over to raw dir
from rootProject.files(ROOT_TO_RAW_COPYFILES)
into RAW_DIR.replaceFirst("app/", "")
rename { String fileName ->
fileName.replace(fileName, fileName.toLowerCase())
}
// Filter Contributors file
from(rootProject.file("CONTRIBUTORS.txt")) {
into '.' // Target already changed to 'src/main/res/raw'
rename { String fileName ->
fileName.replace(fileName, fileName.toLowerCase())
}
filter { line ->
(line.toString().matches("..l>>.*") || line.toString().startsWith("## 99l CONTRIBUTORS")) ? null : line.toString().trim().replaceAll(" \\(.*\\)", "")
}
}
// Download PodList
downloadFile(PODLIST_PATH, PODLIST_URL, false)
// Application variants
android.applicationVariants.all { v ->
// Do if we build in release (signed apk) mode
if (v.buildType.name == "release") {
downloadFile(PODLIST_PATH, PODLIST_URL, true)
}
}
}
// Downloads a file
def downloadFile(filePath, url, downloadIfExists) {
def f = new File(filePath)
f.exists() && downloadIfExists && f.delete();
if (!f.exists()) {
new URL(url).withInputStream { i -> f.withOutputStream { it << i } }
}
}
tasks.copyRepoFiles.execute()