mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-26 12:23:58 +01:00
* Add Traceur for getting meaningful RxJava stack traces (#1832) * Hotfix for overwrite issue in 2.8.0 (#1838) * This solution is an hotfix for overrite issue came back on 2.8.0 version. What I did is checking the extension, and if it is null, adding .jpg suffix. Because commons files always have suffixes, and we should compare file names after adding suffixes. Othervise overrides are possible. * Check if file title includes an extension already, by checking if is there any dot in it. * Fix logic error * Add uncovered tests * Remove unecessary line breaks * Make Javadocs more explicit * Versioning and changelog for v2.8.2 (#1842) * Versioning for v2.8.2 * Changelog for v2.8.2 * Add logs in wiki data edit and session refresh flow (#1874) * Fix logout (#1875) * [WIP] Refactor feedback and quiz to reduce possibility of NPE (#1881) * Refactor feedback and quiz to reduce possibility of NPE * Handle throwables in quiz checker * Minor refactoring * Set Traceur to only work in DEBUG mode (#1884) * Bug fix for uploaded images count in achievements activity (#1885) * Versioning and changelog for v2.8.3 (#1886) * Update changelog.md * Versioning for v2.8.3
199 lines
11 KiB
Groovy
199 lines
11 KiB
Groovy
apply from: '../gitutils.gradle'
|
|
apply plugin: 'com.android.application'
|
|
apply plugin: 'kotlin-android'
|
|
apply plugin: 'kotlin-kapt'
|
|
apply plugin: 'jacoco-android'
|
|
apply from: 'quality.gradle'
|
|
apply plugin: 'com.getkeepsafe.dexcount'
|
|
|
|
dependencies {
|
|
implementation 'com.prof.rssparser:rssparser:1.1'
|
|
implementation 'com.github.nicolas-raoul:Quadtree:ac16ea8035bf07'
|
|
implementation 'fr.avianey.com.viewpagerindicator:library:2.4.1.1@aar'
|
|
implementation 'in.yuvi:http.fluent:1.3'
|
|
implementation 'com.github.chrisbanes:PhotoView:2.0.0'
|
|
implementation 'ch.acra:acra:4.9.2'
|
|
implementation 'org.mediawiki:api:1.3'
|
|
implementation 'commons-codec:commons-codec:1.10'
|
|
implementation 'com.github.pedrovgs:renderers:3.3.3'
|
|
implementation 'com.google.code.gson:gson:2.8.1'
|
|
implementation 'com.jakewharton.timber:timber:4.5.1'
|
|
implementation 'info.debatty:java-string-similarity:0.24'
|
|
implementation 'com.borjabravo:readmoretextview:2.1.0'
|
|
|
|
implementation 'com.android.support.constraint:constraint-layout:1.1.0'
|
|
implementation('com.mapbox.mapboxsdk:mapbox-android-sdk:5.5.0@aar') {
|
|
transitive = true
|
|
}
|
|
implementation 'com.github.deano2390:MaterialShowcaseView:1.2.0'
|
|
//noinspection GradleCompatible
|
|
implementation "com.android.support:support-v4:$SUPPORT_LIB_VERSION"
|
|
implementation "com.android.support:appcompat-v7:$SUPPORT_LIB_VERSION"
|
|
implementation "com.android.support:design:$SUPPORT_LIB_VERSION"
|
|
implementation "com.android.support:customtabs:$SUPPORT_LIB_VERSION"
|
|
implementation "com.android.support:cardview-v7:$SUPPORT_LIB_VERSION"
|
|
implementation "com.jakewharton:butterknife:$BUTTERKNIFE_VERSION"
|
|
kapt "com.jakewharton:butterknife-compiler:$BUTTERKNIFE_VERSION"
|
|
implementation 'com.squareup.okhttp3:okhttp:3.9.1'
|
|
implementation 'com.squareup.okio:okio:1.13.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.2'
|
|
implementation 'com.jakewharton.rxbinding2:rxbinding:2.0.0'
|
|
implementation 'com.jakewharton.rxbinding2:rxbinding-support-v4:2.0.0'
|
|
implementation 'com.jakewharton.rxbinding2:rxbinding-appcompat-v7:2.0.0'
|
|
implementation 'com.jakewharton.rxbinding2:rxbinding-design:2.0.0'
|
|
implementation 'org.jsoup:jsoup:1.11.3'
|
|
implementation 'com.facebook.fresco:fresco:1.5.0'
|
|
implementation 'com.facebook.stetho:stetho:1.5.0'
|
|
implementation "com.google.dagger:dagger:$DAGGER_VERSION"
|
|
implementation "com.google.dagger:dagger-android-support:$DAGGER_VERSION"
|
|
kapt "com.google.dagger:dagger-android-processor:$DAGGER_VERSION"
|
|
kapt "com.google.dagger:dagger-compiler:$DAGGER_VERSION"
|
|
testImplementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
|
|
testImplementation "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
|
|
testImplementation 'junit:junit:4.12'
|
|
testImplementation 'org.robolectric:robolectric:3.7.1'
|
|
testImplementation 'com.nhaarman:mockito-kotlin:1.5.0'
|
|
testImplementation 'com.squareup.okhttp3:mockwebserver:3.8.1'
|
|
implementation 'com.dinuscxj:circleprogressbar:1.1.1'
|
|
|
|
implementation 'com.tspoon.traceur:traceur:1.0.1'
|
|
|
|
androidTestImplementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
|
|
androidTestImplementation 'com.squareup.okhttp3:mockwebserver:3.8.1'
|
|
androidTestImplementation "com.android.support:support-annotations:$SUPPORT_LIB_VERSION"
|
|
androidTestImplementation 'com.android.support.test:rules:1.0.2'
|
|
androidTestImplementation 'com.android.support.test:runner:1.0.2'
|
|
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
|
|
|
|
debugImplementation "com.squareup.leakcanary:leakcanary-android:$LEAK_CANARY"
|
|
releaseImplementation "com.squareup.leakcanary:leakcanary-android-no-op:$LEAK_CANARY"
|
|
testImplementation "com.squareup.leakcanary:leakcanary-android-no-op:$LEAK_CANARY"
|
|
|
|
//For handling runtime permissions
|
|
implementation 'com.karumi:dexter:5.0.0'
|
|
|
|
}
|
|
|
|
android {
|
|
compileSdkVersion project.compileSdkVersion
|
|
buildToolsVersion project.buildToolsVersion
|
|
|
|
useLibrary 'org.apache.http.legacy'
|
|
|
|
defaultConfig {
|
|
applicationId 'fr.free.nrw.commons'
|
|
versionCode 90
|
|
versionName '2.8.3'
|
|
setProperty("archivesBaseName", "app-commons-v$versionName-" + getBranchName())
|
|
|
|
minSdkVersion project.minSdkVersion
|
|
targetSdkVersion project.targetSdkVersion
|
|
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
|
|
vectorDrawables.useSupportLibrary = true
|
|
}
|
|
|
|
testOptions {
|
|
unitTests.all {
|
|
jvmArgs '-noverify'
|
|
}
|
|
}
|
|
|
|
sourceSets {
|
|
// use kotlin only in tests (for now)
|
|
test.java.srcDirs += 'src/test/kotlin'
|
|
|
|
// use main assets and resources in test
|
|
test.assets.srcDirs += 'src/main/assets'
|
|
test.resources.srcDirs += 'src/main/resoures'
|
|
}
|
|
|
|
buildTypes {
|
|
release {
|
|
minifyEnabled false // See https://stackoverflow.com/questions/40232404/google-play-apk-and-android-studio-apk-usb-debug-behaving-differently - proguard.cfg modification alone insufficient.
|
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
|
|
}
|
|
debug {
|
|
testCoverageEnabled true
|
|
versionNameSuffix "-debug-" + getBranchName() + "~" + getBuildVersion()
|
|
}
|
|
}
|
|
|
|
flavorDimensions 'tier'
|
|
productFlavors {
|
|
prod {
|
|
|
|
applicationId 'fr.free.nrw.commons'
|
|
|
|
buildConfigField "String", "WIKIMEDIA_API_POTD", "\"https://commons.wikimedia.org/w/api.php?action=featuredfeed&feed=potd&feedformat=rss&language=en\""
|
|
buildConfigField "String", "WIKIMEDIA_API_HOST", "\"https://commons.wikimedia.org/w/api.php\""
|
|
buildConfigField "String", "WIKIDATA_API_HOST", "\"https://www.wikidata.org/w/api.php\""
|
|
buildConfigField "String", "WIKIMEDIA_FORGE_API_HOST", "\"https://tools.wmflabs.org/\""
|
|
buildConfigField "String", "IMAGE_URL_BASE", "\"https://upload.wikimedia.org/wikipedia/commons\""
|
|
buildConfigField "String", "HOME_URL", "\"https://commons.wikimedia.org/wiki/\""
|
|
buildConfigField "String", "COMMONS_URL", "\"https://commons.wikimedia.org\""
|
|
buildConfigField "String", "MOBILE_HOME_URL", "\"https://commons.m.wikimedia.org/wiki/\""
|
|
buildConfigField "String", "EVENTLOG_URL", "\"https://www.wikimedia.org/beacon/event\""
|
|
buildConfigField "String", "EVENTLOG_WIKI", "\"commonswiki\""
|
|
buildConfigField "String", "SIGNUP_LANDING_URL", "\"https://commons.m.wikimedia.org/w/index.php?title=Special:CreateAccount&returnto=Main+Page&returntoquery=welcome%3Dyes\""
|
|
buildConfigField "String", "SIGNUP_SUCCESS_REDIRECTION_URL", "\"https://commons.m.wikimedia.org/w/index.php?title=Main_Page&welcome=yes\""
|
|
buildConfigField "String", "FORGOT_PASSWORD_URL", "\"https://commons.wikimedia.org/wiki/Special:PasswordReset\""
|
|
|
|
buildConfigField "String", "ACCOUNT_TYPE", "\"fr.free.nrw.commons\""
|
|
buildConfigField "String", "CONTRIBUTION_AUTHORITY", "\"fr.free.nrw.commons.contributions.contentprovider\""
|
|
buildConfigField "String", "MODIFICATION_AUTHORITY", "\"fr.free.nrw.commons.modifications.contentprovider\""
|
|
buildConfigField "String", "CATEGORY_AUTHORITY", "\"fr.free.nrw.commons.categories.contentprovider\""
|
|
buildConfigField "String", "RECENT_SEARCH_AUTHORITY", "\"fr.free.nrw.commons.explore.recentsearches.contentprovider\""
|
|
|
|
dimension 'tier'
|
|
}
|
|
|
|
beta {
|
|
applicationId 'fr.free.nrw.commons.beta'
|
|
|
|
// What values do we need to hit the BETA versions of the site / api ?
|
|
buildConfigField "String", "WIKIMEDIA_API_POTD", "\"https://commons.wikimedia.org/w/api.php?action=featuredfeed&feed=potd&feedformat=rss&language=en\""
|
|
buildConfigField "String", "WIKIMEDIA_API_HOST", "\"https://commons.wikimedia.beta.wmflabs.org/w/api.php\""
|
|
buildConfigField "String", "WIKIDATA_API_HOST", "\"https://www.wikidata.org/w/api.php\""
|
|
buildConfigField "String", "WIKIMEDIA_FORGE_API_HOST", "\"https://tools.wmflabs.org/\""
|
|
buildConfigField "String", "IMAGE_URL_BASE", "\"https://upload.beta.wmflabs.org/wikipedia/commons\""
|
|
buildConfigField "String", "HOME_URL", "\"https://commons.wikimedia.beta.wmflabs.org/wiki/\""
|
|
buildConfigField "String", "COMMONS_URL", "\"https://commons.wikimedia.beta.wmflabs.org\""
|
|
buildConfigField "String", "MOBILE_HOME_URL", "\"https://commons.m.wikimedia.beta.wmflabs.org/wiki/\""
|
|
buildConfigField "String", "EVENTLOG_URL", "\"https://commons.wikimedia.beta.wmflabs.org/beacon/event\""
|
|
buildConfigField "String", "EVENTLOG_WIKI", "\"commonswiki\""
|
|
buildConfigField "String", "SIGNUP_LANDING_URL", "\"https://commons.m.wikimedia.beta.wmflabs.org/w/index.php?title=Special:CreateAccount&returnto=Main+Page&returntoquery=welcome%3Dyes\""
|
|
buildConfigField "String", "SIGNUP_SUCCESS_REDIRECTION_URL", "\"https://commons.m.wikimedia.beta.wmflabs.org/w/index.php?title=Main_Page&welcome=yes\""
|
|
buildConfigField "String", "FORGOT_PASSWORD_URL", "\"https://commons.wikimedia.beta.wmflabs.org/wiki/Special:PasswordReset\""
|
|
|
|
buildConfigField "String", "ACCOUNT_TYPE", "\"fr.free.nrw.commons.beta\""
|
|
buildConfigField "String", "CONTRIBUTION_AUTHORITY", "\"fr.free.nrw.commons.beta.contributions.contentprovider\""
|
|
buildConfigField "String", "MODIFICATION_AUTHORITY", "\"fr.free.nrw.commons.beta.modifications.contentprovider\""
|
|
buildConfigField "String", "CATEGORY_AUTHORITY", "\"fr.free.nrw.commons.beta.categories.contentprovider\""
|
|
buildConfigField "String", "RECENT_SEARCH_AUTHORITY", "\"fr.free.nrw.commons.beta.explore.recentsearches.contentprovider\""
|
|
|
|
dimension 'tier'
|
|
}
|
|
}
|
|
|
|
lintOptions {
|
|
disable 'MissingTranslation'
|
|
disable 'ExtraTranslation'
|
|
abortOnError false
|
|
}
|
|
|
|
compileOptions {
|
|
sourceCompatibility JavaVersion.VERSION_1_8
|
|
targetCompatibility JavaVersion.VERSION_1_8
|
|
}
|
|
|
|
//FIXME: Temporary fix for https://github.com/commons-app/apps-android-commons/issues/709
|
|
configurations.all {
|
|
resolutionStrategy.force 'com.android.support:support-annotations:25.2.0'
|
|
exclude module: 'httpclient'
|
|
exclude module: 'commons-logging'
|
|
}
|
|
buildToolsVersion buildToolsVersion
|
|
}
|