mirror of
https://github.com/gsantner/dandelion
synced 2024-11-24 13:22:08 +01:00
109 lines
3.3 KiB
Groovy
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()
|