Permalink
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
280 lines (241 sloc) 11.1 KB
//apply plugin: 'idea'
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
android {
// Create a variable called keystorePropertiesFile, and initialize it to your
// keystore.properties file, in the rootProject folder.
def keystorePropertiesFile = rootProject.file("keystore.properties")
if (keystorePropertiesFile.exists()) {
Properties keystoreProperties = new Properties();
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
signingConfigs {
release {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile file(keystoreProperties['storeFile'])
storePassword keystoreProperties['storePassword']
}
}
android.buildTypes.release.signingConfig = signingConfigs.release
} else {
android.buildTypes.release.signingConfig = null
}
compileSdkVersion 27
buildToolsVersion "$supportLibraryVersion"
defaultConfig {
applicationId "org.bottiger.podcast"
minSdkVersion 16
targetSdkVersion 27
versionCode 424 // even - release. Odd - development
versionName "0.160.2" // even - release. Odd - development
multiDexEnabled = true
vectorDrawables.useSupportLibrary = true
// Espresso
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
externalNativeBuild {
cmake {
cppFlags "-std=c++11"
arguments '-DANDROID_PLATFORM=android-16', '-DANDROID_TOOLCHAIN=clang'
}
}
}
dataBinding {
enabled = true
}
// Point Gradle at the directory where you want to root all of your native code
// There is a default directory but I prefer to control which directories to use
// and there will be a point later where keeping control over this is important
sourceSets.main {
jni.srcDirs = ["src/main/jni"];
java.srcDirs += 'src/main/kotlin'
}
lintOptions {
checkReleaseBuilds false
abortOnError false
}
packagingOptions {
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/LICENSE'
exclude 'META-INF/NOTICE'
exclude 'LICENSE.txt'
exclude 'META-INF/rxjava.properties'
}
flavorDimensions "default"
productFlavors {
dev {
// To avoid using legacy multidex when building from the command line,
// set minSdkVersion to 21 or higher. When using Android Studio 2.3 or higher,
// the build automatically avoids legacy multidex when deploying to a device running
// API level 21 or higher—regardless of what you set as your minSdkVersion.
minSdkVersion 21
versionNameSuffix "-dev"
//applicationIdSuffix '.dev'
// The following configuration limits the "dev" flavor to using
// English stringresources and xxhdpi screen-density resources.
resConfigs "en", "xxhdpi"
buildConfigField "boolean", "DEV_MODE", "true"
buildConfigField "boolean", "PRIVATE_MODE", "false"
buildConfigField "boolean", "LIBRE_MODE", "false"
dimension "default"
}
free {
ndk {
abiFilters "armeabi-v7a", "x86"
}
buildConfigField "boolean", "DEV_MODE", "false"
buildConfigField "boolean", "PRIVATE_MODE", "true"
buildConfigField "boolean", "LIBRE_MODE", "true"
dimension "default"
}
google {
buildConfigField "boolean", "DEV_MODE", "false"
buildConfigField "boolean", "PRIVATE_MODE", "false"
buildConfigField "boolean", "LIBRE_MODE", "false"
dimension "default"
}
amazon {
buildConfigField "boolean", "DEV_MODE", "false"
buildConfigField "boolean", "PRIVATE_MODE", "false"
buildConfigField "boolean", "LIBRE_MODE", "false"
dimension "default"
}
}
buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
}
}
// http://stackoverflow.com/questions/22851103/android-studio-gradle-error-multiple-dex-files-define
dexOptions {
preDexLibraries true
maxProcessCount 8
javaMaxHeapSize "2g"
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
// Encapsulates your external native build configurations.
externalNativeBuild {
// Encapsulates your CMake build configurations.
cmake {
// Provides a relative path to your CMake build script.
path "src/main/cpp/CMakeLists.txt"
}
}
}
repositories {
mavenCentral()
maven { url 'https://jitpack.io' }
google()
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:multidex:1.0.2'
compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
compile "com.android.support:support-v4:$supportLibraryVersion"
compile "com.android.support:appcompat-v7:$supportLibraryVersion"
compile "com.android.support:recyclerview-v7:$supportLibraryVersion"
compile "com.android.support:palette-v7:$supportLibraryVersion"
compile "com.android.support:cardview-v7:$supportLibraryVersion"
compile "com.android.support:mediarouter-v7:$supportLibraryVersion"
compile "com.android.support:design:$supportLibraryVersion"
compile "com.android.support:percent:$supportLibraryVersion"
compile "android.arch.lifecycle:runtime:$architectureComponentsVersion"
compile "android.arch.lifecycle:extensions:$architectureComponentsVersion"
compile "android.arch.lifecycle:reactivestreams:$architectureComponentsVersion"
annotationProcessor "android.arch.lifecycle:compiler:$architectureComponentsVersion"
compile "android.arch.persistence.room:runtime:$architectureComponentsVersion"
annotationProcessor "android.arch.persistence.room:compiler:$architectureComponentsVersion"
compile "android.arch.persistence.room:rxjava2:$architectureComponentsVersion"
compile 'com.android.support.constraint:constraint-layout:1.0.2'
compile "com.squareup.okhttp3:okhttp:$okhttp_version"
compile 'com.squareup.retrofit2:retrofit:2.2.0'
compile 'com.squareup.retrofit2:converter-gson:2.2.0'
compile('com.googlecode.json-simple:json-simple:1.1.1') {
exclude module: 'junit'
}
//compile 'com.google.apis:google-api-services-drive:+'
compile 'io.reactivex:rxandroid:1.2.1'
compile 'io.reactivex:rxjava:1.3.0'
compile 'com.jakewharton.rxbinding2:rxbinding:2.0.0'
compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
compile 'io.reactivex.rxjava2:rxjava:2.1.8'
compile 'io.requery:sqlite-android:3.20.0'
compile 'com.google.android.exoplayer:exoplayer:2.6.1'
compile('com.wdullaer:materialdatetimepicker:3.1.1') {
exclude group: 'com.android.support'
}
// Glide
compile "com.github.bumptech.glide:glide:$glide_version"
compile "com.github.bumptech.glide:okhttp3-integration:$glide_version"
compile "com.github.bumptech.glide:compiler:$glide_version"
compile "com.github.bumptech.glide:recyclerview-integration:$glide_version"
annotationProcessor "com.github.bumptech.glide:compiler:$glide_version"
compile 'net.steamcrafted:materialiconlib:1.1.2'
compile 'org.whispersystems:libpastelog:1.0.7'
compile 'com.bignerdranch.android:recyclerview-multiselect:0.2'
compile 'com.google.http-client:google-http-client-gson:1.22.0'
compile 'jp.wasabeef:recyclerview-animators:2.2.6'
compile 'com.fasterxml.jackson.core:jackson-databind:2.8.6'
compile 'com.nineoldandroids:library:2.4.0'
compile 'com.bugsnag:bugsnag-android:3.8.0'
compile 'com.journeyapps:zxing-android-embedded:3.4.0'
compile 'com.heinrichreimersoftware:material-intro:1.6.2'
compile 'com.dmitrymalkovich.android:material-design-dimens:1.4'
compile 'com.github.daniel-stoneuk:material-about-library:2.2.3-support26.1.0'
compile 'org.unbescape:unbescape:1.1.4.RELEASE'
compile 'com.google.dagger:dagger:2.10'
annotationProcessor 'com.google.dagger:dagger-compiler:2.10'
compile project(':armv7-fmmr')
// For testing only
testCompile 'junit:junit:4.12'
testCompile 'org.mockito:mockito-core:2.7.19'
testCompile("android.arch.persistence.room:testing:$architectureComponentsVersion") {
exclude group: 'com.android.support'
exclude group: 'com.google.code.gson'
}
configurations.all {
resolutionStrategy.force "com.android.support:support-annotations:$supportLibraryVersion"
resolutionStrategy.force 'com.google.code.findbugs:jsr305:3.0.1'
exclude group: "org.apache.httpcomponents", module: "httpclient"
}
// Espresso
// https://developer.android.com/training/testing/ui-testing/espresso-testing.html
androidTestCompile 'com.android.support.test:runner:1.0.1'
androidTestCompile 'com.android.support.test:rules:1.0.1'
androidTestCompile 'com.jakewharton.espresso:okhttp3-idling-resource:1.0.0'
androidTestCompile "com.squareup.okhttp3:okhttp:$okhttp_version"
androidTestCompile("com.android.support.test.espresso:espresso-contrib:$espressoVersion") {
exclude group: 'com.android.support'
}
androidTestCompile("com.android.support.test.espresso:espresso-core:$espressoVersion") {
exclude group: 'com.android.support', module: 'support-annotations'
}
// Free version
// Amazon version
amazonCompile fileTree(dir: 'src/amazon/libs', include: ['*.jar'])
amazonCompile "com.google.android.gms:play-services-cast:$playServicesVersion"
amazonCompile "com.google.android.gms:play-services-cast-framework:$playServicesVersion"
amazonCompile "com.google.android.gms:play-services-auth:$playServicesVersion"
amazonCompile "com.google.android.gms:play-services-location:$playServicesVersion"
amazonCompile "com.google.firebase:firebase-messaging:$playServicesVersion"
// google cast
// Play Store
googleCompile "com.google.android.gms:play-services-analytics:$playServicesVersion"
// analytics
googleCompile "com.google.android.gms:play-services-cast:$playServicesVersion"
googleCompile "com.google.android.gms:play-services-cast-framework:$playServicesVersion"
googleCompile "com.google.android.gms:play-services-auth:$playServicesVersion"
googleCompile "com.google.android.gms:play-services-location:$playServicesVersion"
googleCompile "com.google.firebase:firebase-core:$playServicesVersion"
googleCompile "com.google.firebase:firebase-messaging:$playServicesVersion"
googleCompile "com.google.firebase:firebase-database:$playServicesVersion"
// google cast
compile project(':soundwavescommon')
}
apply plugin: 'com.google.gms.google-services'