136 lines
5.2 KiB
Groovy
136 lines
5.2 KiB
Groovy
apply plugin: "com.android.library"
|
|
|
|
android {
|
|
compileSdkVersion rootProject.ext.compileSdkVersion
|
|
|
|
defaultConfig {
|
|
minSdkVersion rootProject.ext.minSdkVersion
|
|
targetSdkVersion rootProject.ext.targetSdkVersion
|
|
|
|
multiDexEnabled false
|
|
|
|
testApplicationId "de.danoeh.antennapod.core.tests"
|
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
|
|
|
javaCompileOptions {
|
|
annotationProcessorOptions {
|
|
arguments = [eventBusIndex: 'de.danoeh.antennapod.core.ApCoreEventBusIndex']
|
|
}
|
|
}
|
|
}
|
|
buildTypes {
|
|
release {
|
|
minifyEnabled false
|
|
proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
|
|
}
|
|
debug {
|
|
// debug build has method count over 64k single-dex threshold.
|
|
// For building debug build to use on Android < 21 (pre-Android 5) devices,
|
|
// you need to manually change class
|
|
// de.danoeh.antennapod.PodcastApp to extend MultiDexApplication .
|
|
// See Issue #2813
|
|
multiDexEnabled true
|
|
}
|
|
}
|
|
|
|
packagingOptions {
|
|
exclude "META-INF/LICENSE.txt"
|
|
exclude "META-INF/NOTICE.txt"
|
|
}
|
|
|
|
compileOptions {
|
|
sourceCompatibility JavaVersion.VERSION_1_8
|
|
targetCompatibility JavaVersion.VERSION_1_8
|
|
}
|
|
|
|
flavorDimensions "market"
|
|
productFlavors {
|
|
free {
|
|
dimension "market"
|
|
}
|
|
play {
|
|
dimension "market"
|
|
}
|
|
}
|
|
|
|
testOptions {
|
|
unitTests {
|
|
includeAndroidResources = true
|
|
}
|
|
}
|
|
|
|
lintOptions {
|
|
disable "InvalidPeriodicWorkRequestInterval", "ObsoleteLintCustomCheck", "DefaultLocale", "UnusedAttribute",
|
|
"GradleDependency", "ParcelClassLoader", "Typos", "ExtraTranslation", "ImpliedQuantity",
|
|
"PluralsCandidate", "UnusedQuantity", "StringFormatCount", "TrustAllX509TrustManager",
|
|
"StaticFieldLeak", "TypographyEllipsis", "IconDensities", "IconDuplicates", "CheckResult"
|
|
|
|
warningsAsErrors true
|
|
abortOnError true
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
implementation project(':ui:app-start-intent')
|
|
implementation project(':ui:common')
|
|
|
|
annotationProcessor "androidx.annotation:annotation:$annotationVersion"
|
|
implementation "androidx.appcompat:appcompat:$appcompatVersion"
|
|
implementation 'androidx.documentfile:documentfile:1.0.1'
|
|
implementation "androidx.media:media:$mediaVersion"
|
|
implementation "androidx.preference:preference:$preferenceVersion"
|
|
implementation "androidx.work:work-runtime:$workManagerVersion"
|
|
implementation "com.google.android.material:material:$googleMaterialVersion"
|
|
|
|
implementation "org.apache.commons:commons-lang3:$commonslangVersion"
|
|
implementation "commons-io:commons-io:$commonsioVersion"
|
|
implementation "org.jsoup:jsoup:$jsoupVersion"
|
|
implementation "com.github.bumptech.glide:glide:$glideVersion"
|
|
annotationProcessor "com.github.bumptech.glide:compiler:$glideVersion"
|
|
implementation "com.github.bumptech.glide:okhttp3-integration:$glideVersion@aar"
|
|
implementation "com.squareup.okhttp3:okhttp:$okhttpVersion"
|
|
implementation "com.squareup.okhttp3:okhttp-urlconnection:$okhttpVersion"
|
|
implementation "com.squareup.okio:okio:$okioVersion"
|
|
implementation "org.greenrobot:eventbus:$eventbusVersion"
|
|
annotationProcessor "org.greenrobot:eventbus-annotation-processor:$eventbusVersion"
|
|
implementation "io.reactivex.rxjava2:rxandroid:$rxAndroidVersion"
|
|
implementation "io.reactivex.rxjava2:rxjava:$rxJavaVersion"
|
|
|
|
implementation 'com.google.android.exoplayer:exoplayer:2.11.8'
|
|
implementation "com.github.AntennaPod:AntennaPod-AudioPlayer:$audioPlayerVersion"
|
|
|
|
// Add casting features
|
|
// free build hack: skip some dependencies
|
|
if (!doFreeBuild()) {
|
|
playApi 'com.google.android.libraries.cast.companionlibrary:ccl:2.9.1'
|
|
api 'androidx.mediarouter:mediarouter:1.0.0'
|
|
playApi 'com.google.android.gms:play-services-cast:8.4.0'
|
|
api "com.google.android.support:wearable:$wearableSupportVersion"
|
|
compileOnly "com.google.android.wearable:wearable:$wearableSupportVersion"
|
|
} else {
|
|
System.out.println("core: free build hack, skipping some dependencies")
|
|
}
|
|
|
|
// bundle conscrypt with free builds
|
|
freeImplementation "org.conscrypt:conscrypt-android:$conscryptVersion"
|
|
|
|
testImplementation "org.awaitility:awaitility:$awaitilityVersion"
|
|
testImplementation 'junit:junit:4.13'
|
|
testImplementation 'org.mockito:mockito-inline:3.5.13'
|
|
testImplementation 'org.robolectric:robolectric:4.5-alpha-1'
|
|
testImplementation 'javax.inject:javax.inject:1'
|
|
androidTestImplementation "com.jayway.android.robotium:robotium-solo:$robotiumSoloVersion"
|
|
androidTestImplementation "androidx.test.espresso:espresso-core:$espressoVersion"
|
|
androidTestImplementation "androidx.test:runner:$runnerVersion"
|
|
androidTestImplementation "androidx.test:rules:$rulesVersion"
|
|
}
|
|
|
|
tasks.withType(Test) {
|
|
testLogging {
|
|
exceptionFormat "full"
|
|
events "skipped", "passed", "failed"
|
|
showStandardStreams true
|
|
displayGranularity 2
|
|
}
|
|
}
|