news-android/News-Android-App/build.gradle
2019-04-09 15:59:41 -03:00

252 lines
No EOL
9.4 KiB
Groovy

apply plugin: 'com.android.application'
android {
/*
signingConfigs {
debug {
storeFile file("~/.android/debug.keystore")
}
}*/
compileSdkVersion Integer.parseInt(project.ANDROID_BUILD_SDK_VERSION)
buildToolsVersion project.ANDROID_BUILD_TOOLS_VERSION
defaultConfig {
minSdkVersion Integer.parseInt(project.ANDROID_BUILD_MIN_SDK_VERSION)
targetSdkVersion Integer.parseInt(project.ANDROID_BUILD_TARGET_SDK_VERSION)
//testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
testInstrumentationRunner "de.luhmer.owncloudnewsreader.CustomTestRunner"
// The following argument makes the Android Test Orchestrator run its
// "pm clear" command after each test invocation. This command ensures
// that the app's state is completely cleared between tests.
testInstrumentationRunnerArguments clearPackageData: 'true'
vectorDrawables.useSupportLibrary = true
}
testOptions {
execution 'ANDROIDX_TEST_ORCHESTRATOR'
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
buildTypes {
debug {
shrinkResources true
minifyEnabled true
useProguard true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
testProguardFiles 'proguard-test.pro'
pseudoLocalesEnabled true
}
release {
shrinkResources true
minifyEnabled true
useProguard true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
testProguardFiles 'proguard-test.pro'
//signingConfig signingConfigs.debug
}
}
flavorDimensions "default"
productFlavors {
// 100% Open-Source Edition
oss {
dimension "default"
}
// 99% Open-source edition: uses the YouTube Player Jar
extra {
dimension "default"
}
}
lintOptions {
// translations are imported from transifex, so no need to check here
disable 'MissingTranslation'
disable 'ExtraTranslation'
disable 'MissingQuantity'
disable 'InconsistentArrays'
disable 'TypographyEllipsis'
checkReleaseBuilds false
// if set to true (default), stops the build if errors are found.
abortOnError true
// if true, only report errors.
ignoreWarnings true
}
sourceSets {
main {
aidl.srcDirs = ['src/main/java']
}
}
packagingOptions {
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
exclude 'LICENSE.txt'
exclude 'META-INF/services/javax.annotation.processing.Processor'
}
// Gradle automatically adds 'android.test.runner' as a dependency.
useLibrary 'android.test.runner'
useLibrary 'android.test.base'
useLibrary 'android.test.mock'
}
repositories {
mavenCentral()
jcenter()
maven { url "https://jitpack.io" }
maven { url 'https://guardian.github.com/maven/repo-releases' } //needed for com.gu:option:1.3 in Android-DirectoryChooser
maven { url "https://dl.bintray.com/lukaville/maven" } //Needed for com.nbsp:library:1.02 in Material File Picker
}
final OKHTTP_VERSION = '3.12.2'
dependencies {
// core android studio module
//compile project(':core')
// You must install or update the Google Repository through the SDK manager to use this dependency.
// The Google Repository (separate from the corresponding library) can be found in the Extras category.
// implementation 'com.google.android.gms:play-services:4.2.42'
//implementation project(':Android-SingleSignOn')
//implementation project(path: ':MaterialShowcaseView:library', configuration: 'default')
//implementation 'com.github.nextcloud:Android-SingleSignOn:e781a33e01'
implementation 'com.github.nextcloud:Android-SingleSignOn:unit-testing-SNAPSHOT'
implementation 'com.github.David-Development:MaterialShowcaseView:bf6afa225d'
// https://mvnrepository.com/artifact/androidx.legacy/legacy-support-v4
implementation "androidx.legacy:legacy-support-v4:1.0.0"
implementation "androidx.core:core:1.1.0-alpha05"
implementation "androidx.appcompat:appcompat:1.1.0-alpha04"
implementation "androidx.preference:preference:1.0.0"
// https://mvnrepository.com/artifact/com.google.android.material/material
implementation "com.google.android.material:material:1.1.0-alpha05"
implementation "androidx.palette:palette:1.0.0"
implementation "androidx.recyclerview:recyclerview:1.1.0-alpha3"
implementation "androidx.browser:browser:1.0.0"
implementation "androidx.cardview:cardview:1.0.0"
//implementation 'de.mrmaffen:holocircularprogressbar:1.0.1'
implementation 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'
implementation 'com.google.code.gson:gson:2.8.5'
implementation 'com.jakewharton:butterknife:10.1.0'
annotationProcessor 'com.jakewharton:butterknife-compiler:10.1.0'
compileOnly 'com.google.auto.value:auto-value:1.1'
annotationProcessor 'com.google.auto.value:auto-value:1.1'
implementation 'com.sothree.slidinguppanel:library:3.2.1'
implementation 'org.greenrobot:eventbus:3.1.1'
implementation 'de.greenrobot:greendao:2.0.0'
implementation ('de.greenrobot:greendao-generator:2.0.0') {
exclude group: 'org.freemarker'
}
//implementation 'org.freemarker:freemarker:2.3.23' //Required for DAO generation
//implementation 'org.apache.commons:commons-lang3:3.4'
implementation 'com.github.gabrielemariotti.changeloglib:changelog:2.1.0'
implementation 'org.jsoup:jsoup:1.11.3'
implementation ('net.rdrei.android.dirchooser:library:3.0@aar') { transitive = true }
implementation 'com.google.dagger:dagger:2.16'
annotationProcessor "com.google.dagger:dagger-compiler:2.16"
compileOnly 'javax.annotation:jsr250-api:1.0'
implementation 'io.reactivex.rxjava2:rxandroid:2.0.1'
// Because RxAndroid releases are few and far between, it is recommended you also
// explicitly depend on RxJava's latest version for bug fixes and new features.
implementation 'io.reactivex.rxjava2:rxjava:2.1.4'
implementation 'com.squareup.retrofit2:adapter-rxjava2:2.3.0'
implementation 'com.squareup.retrofit2:retrofit:2.5.0'
implementation 'com.squareup.retrofit2:converter-gson:2.3.0'
implementation "com.squareup.okhttp3:okhttp:${OKHTTP_VERSION}"
implementation "com.squareup.okhttp3:logging-interceptor:${OKHTTP_VERSION}"
implementation 'com.nbsp:library:1.02' // MaterialFilePicker
extraImplementation 'com.github.tommus:youtube-android-player-api:1.2.2'
testImplementation 'junit:junit:4.12'
testImplementation("org.mockito:mockito-core:1.10.19") {
exclude group: 'org.hamcrest'
}
testImplementation 'com.google.dexmaker:dexmaker:1.2'
testImplementation 'com.google.dexmaker:dexmaker-mockito:1.2'
testImplementation "com.squareup.okhttp3:mockwebserver:${OKHTTP_VERSION}"
androidTestAnnotationProcessor "com.google.dagger:dagger-compiler:2.16"
// https://mvnrepository.com/artifact/com.squareup.okhttp3/mockwebserver
//androidTestImplementation "com.squareup.okhttp3:mockwebserver:${OKHTTP_VERSION}"
androidTestImplementation 'tools.fastlane:screengrab:1.2.0'
//androidTestImplementation 'org.mockito:mockito-core:2.25.1'
androidTestImplementation 'org.mockito:mockito-android:2.18.3'
//androidTestImplementation 'com.google.dexmaker:dexmaker:1.2'
//androidTestImplementation 'com.google.dexmaker:dexmaker-mockito:1.2'
//androidTestImplementation 'org.robolectric:robolectric:3.0-rc3'
// Core library
androidTestImplementation 'androidx.test:core:1.1.0'
// AndroidJUnitRunner and JUnit Rules
androidTestImplementation 'androidx.test:runner:1.1.1'
androidTestImplementation 'androidx.test:rules:1.1.1'
// Assertions
androidTestImplementation 'androidx.test.ext:junit:1.1.0'
androidTestImplementation 'androidx.test.ext:truth:1.1.0'
androidTestImplementation 'com.google.truth:truth:0.42'
// Espresso dependencies
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-contrib:3.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-intents:3.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-accessibility:3.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-web:3.1.1'
androidTestImplementation 'androidx.test.espresso.idling:idling-concurrent:3.1.1'
// https://developer.android.com/training/testing/junit-runner.html#using-android-test-orchestrator
androidTestUtil 'androidx.test:orchestrator:1.1.1'
// The following Espresso dependency can be either "implementation"
// or "androidTestImplementation", depending on whether you want the
// dependency to appear on your APK's compile classpath or the test APK
// classpath.
//androidTestImplementation 'androidx.test.espresso:espresso-idling-resource:3.1.1'
}
/*
// Workaround for https://github.com/mockito/mockito/issues/1511#issuecomment-458544398
configurations.all {
resolutionStrategy.eachDependency { details ->
if (details.requested.group == 'net.bytebuddy') {
details.useVersion "1.8.22"
}
}
}
*/