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()