2014-07-04 09:34:27 +00:00
|
|
|
apply plugin: 'com.android.application'
|
2014-01-24 08:45:36 +00:00
|
|
|
|
|
|
|
android {
|
2017-10-25 15:46:54 +00:00
|
|
|
|
|
|
|
/*
|
|
|
|
signingConfigs {
|
|
|
|
debug {
|
|
|
|
storeFile file("~/.android/debug.keystore")
|
|
|
|
}
|
|
|
|
}*/
|
|
|
|
|
2014-06-23 19:41:56 +00:00
|
|
|
compileSdkVersion Integer.parseInt(project.ANDROID_BUILD_SDK_VERSION)
|
|
|
|
|
2019-04-09 18:56:54 +00:00
|
|
|
testOptions.unitTests.includeAndroidResources = true
|
|
|
|
|
2014-01-24 08:45:36 +00:00
|
|
|
defaultConfig {
|
2014-06-23 19:41:56 +00:00
|
|
|
minSdkVersion Integer.parseInt(project.ANDROID_BUILD_MIN_SDK_VERSION)
|
|
|
|
targetSdkVersion Integer.parseInt(project.ANDROID_BUILD_TARGET_SDK_VERSION)
|
2015-09-18 11:33:16 +00:00
|
|
|
|
2019-03-30 08:07:27 +00:00
|
|
|
//testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
|
|
|
testInstrumentationRunner "de.luhmer.owncloudnewsreader.CustomTestRunner"
|
2019-04-08 14:35:23 +00:00
|
|
|
|
|
|
|
// 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'
|
|
|
|
|
2017-10-19 19:34:01 +00:00
|
|
|
vectorDrawables.useSupportLibrary = true
|
2014-01-24 08:45:36 +00:00
|
|
|
}
|
2014-06-23 19:41:56 +00:00
|
|
|
|
2019-04-08 14:35:23 +00:00
|
|
|
testOptions {
|
|
|
|
execution 'ANDROIDX_TEST_ORCHESTRATOR'
|
|
|
|
}
|
|
|
|
|
2019-03-30 08:07:27 +00:00
|
|
|
compileOptions {
|
|
|
|
sourceCompatibility JavaVersion.VERSION_1_8
|
|
|
|
targetCompatibility JavaVersion.VERSION_1_8
|
|
|
|
}
|
|
|
|
|
2014-01-24 08:45:36 +00:00
|
|
|
buildTypes {
|
2015-08-20 15:02:23 +00:00
|
|
|
debug {
|
2019-05-11 18:13:01 +00:00
|
|
|
shrinkResources false
|
|
|
|
minifyEnabled false
|
2019-03-30 08:43:48 +00:00
|
|
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
|
|
|
testProguardFiles 'proguard-test.pro'
|
2016-01-08 10:00:43 +00:00
|
|
|
pseudoLocalesEnabled true
|
2015-08-20 15:02:23 +00:00
|
|
|
}
|
2014-01-24 08:45:36 +00:00
|
|
|
release {
|
2018-01-21 14:05:53 +00:00
|
|
|
shrinkResources true
|
2017-05-26 22:42:59 +00:00
|
|
|
minifyEnabled true
|
2019-03-30 08:43:48 +00:00
|
|
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
|
|
|
testProguardFiles 'proguard-test.pro'
|
2017-10-25 15:46:54 +00:00
|
|
|
//signingConfig signingConfigs.debug
|
2014-01-24 08:45:36 +00:00
|
|
|
}
|
|
|
|
}
|
2014-11-08 11:53:00 +00:00
|
|
|
|
2017-11-07 19:17:52 +00:00
|
|
|
|
|
|
|
|
|
|
|
flavorDimensions "default"
|
|
|
|
|
2017-06-20 13:48:54 +00:00
|
|
|
productFlavors {
|
|
|
|
// 100% Open-Source Edition
|
|
|
|
oss {
|
2017-11-07 19:17:52 +00:00
|
|
|
dimension "default"
|
2017-06-20 13:48:54 +00:00
|
|
|
}
|
|
|
|
// 99% Open-source edition: uses the YouTube Player Jar
|
|
|
|
extra {
|
2017-11-07 19:17:52 +00:00
|
|
|
dimension "default"
|
2017-06-20 13:48:54 +00:00
|
|
|
}
|
2020-03-18 12:25:37 +00:00
|
|
|
// Used for continous integration, e.g. to test built .apk-files from pull requests
|
|
|
|
dev {
|
|
|
|
dimension "default"
|
|
|
|
applicationIdSuffix ".dev"
|
|
|
|
}
|
2017-06-20 13:48:54 +00:00
|
|
|
}
|
|
|
|
|
2014-07-07 20:15:08 +00:00
|
|
|
lintOptions {
|
2015-11-25 15:20:53 +00:00
|
|
|
// translations are imported from transifex, so no need to check here
|
|
|
|
disable 'MissingTranslation'
|
|
|
|
disable 'ExtraTranslation'
|
|
|
|
disable 'MissingQuantity'
|
|
|
|
disable 'InconsistentArrays'
|
|
|
|
disable 'TypographyEllipsis'
|
|
|
|
|
2015-04-07 18:59:39 +00:00
|
|
|
checkReleaseBuilds false
|
2014-07-07 20:15:08 +00:00
|
|
|
|
2019-03-30 08:07:27 +00:00
|
|
|
// if set to true (default), stops the build if errors are found.
|
|
|
|
abortOnError true
|
2014-11-08 11:53:00 +00:00
|
|
|
|
2019-03-30 08:07:27 +00:00
|
|
|
// if true, only report errors.
|
|
|
|
ignoreWarnings true
|
2014-07-07 20:15:08 +00:00
|
|
|
}
|
2014-11-08 11:53:00 +00:00
|
|
|
|
2015-06-21 11:04:52 +00:00
|
|
|
sourceSets {
|
|
|
|
main {
|
|
|
|
aidl.srcDirs = ['src/main/java']
|
|
|
|
}
|
2014-11-08 11:53:00 +00:00
|
|
|
}
|
2015-07-18 09:10:59 +00:00
|
|
|
|
|
|
|
|
|
|
|
packagingOptions {
|
|
|
|
exclude 'META-INF/LICENSE.txt'
|
|
|
|
exclude 'META-INF/NOTICE.txt'
|
2015-09-18 11:37:48 +00:00
|
|
|
exclude 'LICENSE.txt'
|
2016-01-08 09:52:15 +00:00
|
|
|
exclude 'META-INF/services/javax.annotation.processing.Processor'
|
2015-07-18 09:10:59 +00:00
|
|
|
}
|
2019-03-30 08:07:27 +00:00
|
|
|
|
|
|
|
// Gradle automatically adds 'android.test.runner' as a dependency.
|
|
|
|
useLibrary 'android.test.runner'
|
|
|
|
useLibrary 'android.test.base'
|
|
|
|
useLibrary 'android.test.mock'
|
|
|
|
|
2014-11-08 11:53:00 +00:00
|
|
|
}
|
|
|
|
|
2016-01-08 09:52:15 +00:00
|
|
|
repositories {
|
|
|
|
mavenCentral()
|
|
|
|
jcenter()
|
2019-03-30 08:07:27 +00:00
|
|
|
maven { url "https://jitpack.io" }
|
2018-06-21 07:36:52 +00:00
|
|
|
maven { url 'https://guardian.github.com/maven/repo-releases' } //needed for com.gu:option:1.3 in Android-DirectoryChooser
|
2020-02-05 20:43:06 +00:00
|
|
|
maven { url "https://dl.bintray.com/lukaville/maven" } //Needed for com.nbsp:library:1.8 in Material File Picker
|
2016-01-08 09:52:15 +00:00
|
|
|
}
|
|
|
|
|
2020-07-23 15:01:07 +00:00
|
|
|
final DAGGER_VERSION = '2.27'
|
2020-03-04 11:54:08 +00:00
|
|
|
final BUTTERKNIFE_VERSION = '10.2.1'
|
2020-11-11 16:33:19 +00:00
|
|
|
final ESPRESSO_VERSION = '3.3.0'
|
2020-03-04 11:54:08 +00:00
|
|
|
final OKHTTP_VERSION = '3.12.10'
|
2020-07-23 15:01:07 +00:00
|
|
|
final MOCKITO_VERSION = '3.3.3'
|
2020-07-23 17:26:19 +00:00
|
|
|
final RETROFIT_VERSION = '2.6.4'
|
2019-04-07 18:07:49 +00:00
|
|
|
|
2014-01-24 08:45:36 +00:00
|
|
|
dependencies {
|
2015-01-17 19:51:06 +00:00
|
|
|
// core android studio module
|
2020-02-19 21:59:08 +00:00
|
|
|
// compile project(':core')
|
2018-10-14 09:15:26 +00:00
|
|
|
// You must install or update the Google Repository through the SDK manager to use this dependency.
|
2014-04-20 13:54:33 +00:00
|
|
|
// The Google Repository (separate from the corresponding library) can be found in the Extras category.
|
2018-05-11 13:50:14 +00:00
|
|
|
// implementation 'com.google.android.gms:play-services:4.2.42'
|
2020-07-23 15:03:03 +00:00
|
|
|
//implementation project(':Android-SingleSignOn')
|
2020-02-19 21:59:08 +00:00
|
|
|
// implementation project(path: ':MaterialShowcaseView:library', configuration: 'default')
|
2020-11-11 16:33:19 +00:00
|
|
|
implementation 'com.github.nextcloud:Android-SingleSignOn:0.5.4'
|
2019-01-04 13:52:47 +00:00
|
|
|
implementation 'com.github.David-Development:MaterialShowcaseView:bf6afa225d'
|
2019-01-04 13:23:56 +00:00
|
|
|
|
2020-11-11 16:33:19 +00:00
|
|
|
implementation "androidx.core:core:1.3.2"
|
2020-01-24 18:48:49 +00:00
|
|
|
implementation 'androidx.annotation:annotation:1.1.0'
|
2020-11-11 16:33:19 +00:00
|
|
|
implementation "androidx.appcompat:appcompat:1.2.0"
|
2020-07-23 15:01:07 +00:00
|
|
|
implementation "androidx.preference:preference:1.1.1"
|
2019-03-30 08:07:27 +00:00
|
|
|
|
|
|
|
// https://mvnrepository.com/artifact/com.google.android.material/material
|
2020-11-11 16:33:19 +00:00
|
|
|
implementation "com.google.android.material:material:1.3.0-alpha03"
|
2019-05-11 12:27:53 +00:00
|
|
|
//implementation "com.google.android.material:material:1.0.0"
|
2019-03-30 08:07:27 +00:00
|
|
|
implementation "androidx.palette:palette:1.0.0"
|
2020-01-24 18:48:49 +00:00
|
|
|
implementation "androidx.recyclerview:recyclerview:1.1.0"
|
2020-01-19 17:28:23 +00:00
|
|
|
implementation "androidx.browser:browser:1.2.0"
|
2019-03-30 08:07:27 +00:00
|
|
|
implementation "androidx.cardview:cardview:1.0.0"
|
2018-10-20 08:59:20 +00:00
|
|
|
//implementation 'de.mrmaffen:holocircularprogressbar:1.0.1'
|
2018-09-18 15:08:38 +00:00
|
|
|
implementation 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'
|
2020-01-19 17:28:23 +00:00
|
|
|
implementation 'com.google.code.gson:gson:2.8.6'
|
2020-03-04 11:54:08 +00:00
|
|
|
implementation "com.jakewharton:butterknife:$BUTTERKNIFE_VERSION"
|
2020-11-11 16:33:19 +00:00
|
|
|
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
|
2020-03-04 11:54:08 +00:00
|
|
|
annotationProcessor "com.jakewharton:butterknife-compiler:$BUTTERKNIFE_VERSION"
|
2018-01-21 14:05:53 +00:00
|
|
|
|
2018-05-11 13:50:14 +00:00
|
|
|
implementation 'com.sothree.slidinguppanel:library:3.2.1'
|
2017-05-26 20:30:50 +00:00
|
|
|
|
2018-09-17 17:27:52 +00:00
|
|
|
implementation 'org.greenrobot:eventbus:3.1.1'
|
2018-05-11 13:50:14 +00:00
|
|
|
implementation 'de.greenrobot:greendao:2.0.0'
|
2019-03-30 08:07:27 +00:00
|
|
|
implementation ('de.greenrobot:greendao-generator:2.0.0') {
|
|
|
|
exclude group: 'org.freemarker'
|
|
|
|
}
|
2020-07-23 15:01:07 +00:00
|
|
|
//implementation 'org.freemarker:freemarker:2.3.23' // Required for DAO generation
|
2019-01-04 12:32:00 +00:00
|
|
|
//implementation 'org.apache.commons:commons-lang3:3.4'
|
2019-03-06 16:07:31 +00:00
|
|
|
implementation 'com.github.gabrielemariotti.changeloglib:changelog:2.1.0'
|
2020-03-04 11:54:08 +00:00
|
|
|
implementation 'org.jsoup:jsoup:1.13.1'
|
2019-04-12 11:12:33 +00:00
|
|
|
implementation ('net.rdrei.android.dirchooser:library:3.0@aar') {
|
|
|
|
exclude group: 'com.google.auto.value', module: 'auto-value'
|
|
|
|
transitive = true
|
|
|
|
}
|
2017-05-26 20:30:50 +00:00
|
|
|
|
2019-04-12 11:47:45 +00:00
|
|
|
implementation "com.google.dagger:dagger:${DAGGER_VERSION}"
|
|
|
|
annotationProcessor "com.google.dagger:dagger-compiler:${DAGGER_VERSION}"
|
2017-05-26 20:30:50 +00:00
|
|
|
|
2020-01-19 17:28:23 +00:00
|
|
|
implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'
|
2017-05-26 20:30:50 +00:00
|
|
|
// 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.
|
2020-07-23 15:01:07 +00:00
|
|
|
implementation 'io.reactivex.rxjava2:rxjava:2.2.19'
|
2019-04-17 06:38:24 +00:00
|
|
|
implementation "com.squareup.retrofit2:adapter-rxjava2:$RETROFIT_VERSION"
|
2017-05-26 20:30:50 +00:00
|
|
|
|
2019-04-17 06:38:24 +00:00
|
|
|
implementation "com.squareup.retrofit2:retrofit:$RETROFIT_VERSION"
|
|
|
|
implementation "com.squareup.retrofit2:converter-gson:$RETROFIT_VERSION"
|
2019-04-07 18:07:49 +00:00
|
|
|
implementation "com.squareup.okhttp3:okhttp:${OKHTTP_VERSION}"
|
|
|
|
implementation "com.squareup.okhttp3:logging-interceptor:${OKHTTP_VERSION}"
|
2017-05-26 20:30:50 +00:00
|
|
|
|
2020-01-19 17:28:23 +00:00
|
|
|
implementation 'com.nbsp:library:1.8' // MaterialFilePicker
|
2017-05-26 22:42:59 +00:00
|
|
|
|
2019-05-06 17:33:06 +00:00
|
|
|
//extraImplementation 'com.github.tommus:youtube-android-player-api:1.2.2'
|
2016-08-28 17:10:30 +00:00
|
|
|
|
2019-03-30 08:07:27 +00:00
|
|
|
|
2020-01-24 18:48:49 +00:00
|
|
|
testImplementation 'junit:junit:4.13'
|
2019-04-12 11:51:27 +00:00
|
|
|
testImplementation("org.mockito:mockito-core:$MOCKITO_VERSION") {
|
2016-03-19 19:07:43 +00:00
|
|
|
exclude group: 'org.hamcrest'
|
|
|
|
}
|
2018-05-11 13:50:14 +00:00
|
|
|
testImplementation 'com.google.dexmaker:dexmaker:1.2'
|
|
|
|
testImplementation 'com.google.dexmaker:dexmaker-mockito:1.2'
|
2019-04-07 18:07:49 +00:00
|
|
|
testImplementation "com.squareup.okhttp3:mockwebserver:${OKHTTP_VERSION}"
|
2016-03-19 19:07:43 +00:00
|
|
|
|
2019-04-05 17:47:00 +00:00
|
|
|
|
2019-04-12 11:47:45 +00:00
|
|
|
androidTestAnnotationProcessor "com.google.dagger:dagger-compiler:${DAGGER_VERSION}"
|
2019-04-05 17:47:00 +00:00
|
|
|
|
2017-03-21 20:52:40 +00:00
|
|
|
// https://mvnrepository.com/artifact/com.squareup.okhttp3/mockwebserver
|
2019-04-07 18:07:49 +00:00
|
|
|
//androidTestImplementation "com.squareup.okhttp3:mockwebserver:${OKHTTP_VERSION}"
|
2019-03-30 08:07:27 +00:00
|
|
|
|
2017-01-31 23:32:22 +00:00
|
|
|
|
2020-07-23 15:01:07 +00:00
|
|
|
androidTestImplementation 'tools.fastlane:screengrab:2.0.0'
|
2019-04-12 11:51:27 +00:00
|
|
|
//androidTestImplementation "org.mockito:mockito-core:MOCKITO_VERSION"
|
|
|
|
androidTestImplementation "org.mockito:mockito-android:$MOCKITO_VERSION"
|
2019-03-30 08:07:27 +00:00
|
|
|
|
|
|
|
|
|
|
|
//androidTestImplementation 'com.google.dexmaker:dexmaker:1.2'
|
|
|
|
//androidTestImplementation 'com.google.dexmaker:dexmaker-mockito:1.2'
|
|
|
|
|
2020-01-24 18:48:49 +00:00
|
|
|
testImplementation 'org.robolectric:robolectric:4.3.1'
|
2019-03-30 08:07:27 +00:00
|
|
|
|
|
|
|
// Core library
|
2020-11-11 16:33:19 +00:00
|
|
|
androidTestImplementation 'androidx.test:core:1.3.0'
|
2019-03-30 08:07:27 +00:00
|
|
|
|
|
|
|
// AndroidJUnitRunner and JUnit Rules
|
2020-11-11 16:33:19 +00:00
|
|
|
androidTestImplementation 'androidx.test:runner:1.3.0'
|
|
|
|
androidTestImplementation 'androidx.test:rules:1.3.0'
|
2019-03-30 08:07:27 +00:00
|
|
|
|
|
|
|
// Assertions
|
2020-11-11 16:33:19 +00:00
|
|
|
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
|
|
|
|
androidTestImplementation 'androidx.test.ext:truth:1.3.0'
|
2020-03-04 11:54:08 +00:00
|
|
|
androidTestImplementation 'com.google.truth:truth:1.0.1'
|
2019-03-30 08:07:27 +00:00
|
|
|
|
|
|
|
// Espresso dependencies
|
2020-03-04 11:54:08 +00:00
|
|
|
androidTestImplementation "androidx.test.espresso:espresso-core:$ESPRESSO_VERSION"
|
|
|
|
androidTestImplementation "androidx.test.espresso:espresso-contrib:$ESPRESSO_VERSION"
|
|
|
|
androidTestImplementation "androidx.test.espresso:espresso-intents:$ESPRESSO_VERSION"
|
|
|
|
androidTestImplementation "androidx.test.espresso:espresso-accessibility:$ESPRESSO_VERSION"
|
|
|
|
androidTestImplementation "androidx.test.espresso:espresso-web:$ESPRESSO_VERSION"
|
|
|
|
androidTestImplementation "androidx.test.espresso.idling:idling-concurrent:$ESPRESSO_VERSION"
|
2019-03-30 08:07:27 +00:00
|
|
|
|
2019-04-08 14:35:23 +00:00
|
|
|
// https://developer.android.com/training/testing/junit-runner.html#using-android-test-orchestrator
|
2020-11-11 16:33:19 +00:00
|
|
|
androidTestUtil 'androidx.test:orchestrator:1.3.0'
|
2019-04-08 14:35:23 +00:00
|
|
|
|
2019-03-30 08:07:27 +00:00
|
|
|
// 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'
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
2019-04-05 17:47:00 +00:00
|
|
|
// Workaround for https://github.com/mockito/mockito/issues/1511#issuecomment-458544398
|
2019-03-30 08:07:27 +00:00
|
|
|
configurations.all {
|
|
|
|
resolutionStrategy.eachDependency { details ->
|
|
|
|
if (details.requested.group == 'net.bytebuddy') {
|
|
|
|
details.useVersion "1.8.22"
|
|
|
|
}
|
2016-03-19 19:07:43 +00:00
|
|
|
}
|
2014-01-24 08:45:36 +00:00
|
|
|
}
|
2019-04-05 17:47:00 +00:00
|
|
|
*/
|