This seems to break device compatibility with a ZTE Blade L3, Android 5.0.2, stock ROM - even though the Google Play Developer Console views the device as supported. Not sure how long we want to stick to Java 8, but we should at least give everyone who had v1.2.0 installed the chance to get to v1.2.2, to get a version with the recent security vulerability fix. This reverts commit 80f23f1f3c798dd650dffb3f24b2d957a16e4743. Change-Id: If599d9154e9385a33f10b6df17469cd86deccb7b
195 lines
7.0 KiB
Groovy
195 lines
7.0 KiB
Groovy
apply plugin: 'com.android.library'
|
|
apply plugin: 'kotlin-android'
|
|
apply plugin: 'kotlin-kapt'
|
|
apply plugin: 'kotlin-parcelize'
|
|
apply plugin: 'realm-android'
|
|
|
|
buildscript {
|
|
repositories {
|
|
mavenCentral()
|
|
}
|
|
dependencies {
|
|
classpath "io.realm:realm-gradle-plugin:10.8.0"
|
|
}
|
|
}
|
|
|
|
android {
|
|
compileSdkVersion 30
|
|
testOptions.unitTests.includeAndroidResources = true
|
|
|
|
defaultConfig {
|
|
minSdkVersion 21
|
|
targetSdkVersion 30
|
|
versionCode 1
|
|
versionName "0.0.1"
|
|
// Multidex is useful for tests
|
|
multiDexEnabled true
|
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
|
|
|
// 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'
|
|
|
|
// Seems that the build tools 4.1.0 does not generate BuildConfig.VERSION_NAME anymore.
|
|
// Add it manually here. We may remove this trick in the future
|
|
buildConfigField "String", "VERSION_NAME", "\"0.0.1\""
|
|
|
|
buildConfigField "String", "GIT_SDK_REVISION", "\"${gitRevision()}\""
|
|
resValue "string", "git_sdk_revision", "\"${gitRevision()}\""
|
|
resValue "string", "git_sdk_revision_unix_date", "\"${gitRevisionUnixDate()}\""
|
|
resValue "string", "git_sdk_revision_date", "\"${gitRevisionDate()}\""
|
|
|
|
defaultConfig {
|
|
consumerProguardFiles 'proguard-rules.pro'
|
|
}
|
|
}
|
|
|
|
testOptions {
|
|
execution 'ANDROIDX_TEST_ORCHESTRATOR'
|
|
}
|
|
|
|
buildTypes {
|
|
debug {
|
|
// Set to true to log privacy or sensible data, such as token
|
|
buildConfigField "boolean", "LOG_PRIVATE_DATA", project.property("vector.debugPrivateData")
|
|
// Set to BODY instead of NONE to enable logging
|
|
buildConfigField "okhttp3.logging.HttpLoggingInterceptor.Level", "OKHTTP_LOGGING_LEVEL", "okhttp3.logging.HttpLoggingInterceptor.Level." + project.property("vector.httpLogLevel")
|
|
}
|
|
|
|
release {
|
|
buildConfigField "boolean", "LOG_PRIVATE_DATA", "false"
|
|
buildConfigField "okhttp3.logging.HttpLoggingInterceptor.Level", "OKHTTP_LOGGING_LEVEL", "okhttp3.logging.HttpLoggingInterceptor.Level.BASIC"
|
|
}
|
|
}
|
|
|
|
adbOptions {
|
|
installOptions "-g"
|
|
}
|
|
|
|
compileOptions {
|
|
sourceCompatibility JavaVersion.VERSION_1_8
|
|
targetCompatibility JavaVersion.VERSION_1_8
|
|
}
|
|
|
|
kotlinOptions {
|
|
jvmTarget = "1.8"
|
|
}
|
|
|
|
sourceSets {
|
|
androidTest {
|
|
java.srcDirs += "src/sharedTest/java"
|
|
}
|
|
test {
|
|
java.srcDirs += "src/sharedTest/java"
|
|
}
|
|
}
|
|
}
|
|
|
|
static def gitRevision() {
|
|
def cmd = "git rev-parse --short=8 HEAD"
|
|
return cmd.execute().text.trim()
|
|
}
|
|
|
|
static def gitRevisionUnixDate() {
|
|
def cmd = "git show -s --format=%ct HEAD^{commit}"
|
|
return cmd.execute().text.trim()
|
|
}
|
|
|
|
static def gitRevisionDate() {
|
|
def cmd = "git show -s --format=%ci HEAD^{commit}"
|
|
return cmd.execute().text.trim()
|
|
}
|
|
|
|
dependencies {
|
|
|
|
def arrow_version = "0.8.2"
|
|
def moshi_version = '1.12.0'
|
|
def lifecycle_version = '2.2.0'
|
|
def arch_version = '2.1.0'
|
|
def markwon_version = '3.1.0'
|
|
def daggerVersion = '2.38.1'
|
|
def work_version = '2.5.0'
|
|
def retrofit_version = '2.9.0'
|
|
|
|
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
|
|
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlin_coroutines_version"
|
|
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$kotlin_coroutines_version"
|
|
|
|
implementation "androidx.appcompat:appcompat:1.3.1"
|
|
implementation "androidx.core:core-ktx:1.6.0"
|
|
|
|
implementation "androidx.lifecycle:lifecycle-extensions:$lifecycle_version"
|
|
implementation "androidx.lifecycle:lifecycle-common-java8:$lifecycle_version"
|
|
|
|
// Network
|
|
implementation "com.squareup.retrofit2:retrofit:$retrofit_version"
|
|
implementation "com.squareup.retrofit2:converter-moshi:$retrofit_version"
|
|
|
|
implementation(platform("com.squareup.okhttp3:okhttp-bom:4.9.1"))
|
|
implementation 'com.squareup.okhttp3:okhttp'
|
|
implementation 'com.squareup.okhttp3:logging-interceptor'
|
|
implementation 'com.squareup.okhttp3:okhttp-urlconnection'
|
|
|
|
implementation "com.squareup.moshi:moshi-adapters:$moshi_version"
|
|
kapt "com.squareup.moshi:moshi-kotlin-codegen:$moshi_version"
|
|
|
|
implementation "ru.noties.markwon:core:$markwon_version"
|
|
|
|
// Image
|
|
implementation 'androidx.exifinterface:exifinterface:1.3.3'
|
|
|
|
// Database
|
|
implementation 'com.github.Zhuinden:realm-monarchy:0.7.1'
|
|
kapt 'dk.ilios:realmfieldnameshelper:2.0.0'
|
|
|
|
// Work
|
|
implementation "androidx.work:work-runtime-ktx:$work_version"
|
|
|
|
// FP
|
|
implementation "io.arrow-kt:arrow-core:$arrow_version"
|
|
implementation "io.arrow-kt:arrow-instances-core:$arrow_version"
|
|
|
|
// olm lib is now hosted by jitpack: https://jitpack.io/#org.matrix.gitlab.matrix-org/olm
|
|
implementation 'org.matrix.gitlab.matrix-org:olm:3.2.4'
|
|
|
|
// DI
|
|
implementation "com.google.dagger:dagger:$daggerVersion"
|
|
kapt "com.google.dagger:dagger-compiler:$daggerVersion"
|
|
|
|
// Logging
|
|
implementation 'com.jakewharton.timber:timber:5.0.1'
|
|
implementation 'com.facebook.stetho:stetho-okhttp3:1.6.0'
|
|
|
|
// Video compression
|
|
implementation 'com.otaliastudios:transcoder:0.10.3'
|
|
|
|
// Phone number https://github.com/google/libphonenumber
|
|
implementation 'com.googlecode.libphonenumber:libphonenumber:8.12.31'
|
|
|
|
testImplementation 'junit:junit:4.13.2'
|
|
testImplementation 'org.robolectric:robolectric:4.5.1'
|
|
//testImplementation 'org.robolectric:shadows-support-v4:3.0'
|
|
// Note: version sticks to 1.9.2 due to https://github.com/mockk/mockk/issues/281
|
|
testImplementation 'io.mockk:mockk:1.12.0'
|
|
testImplementation 'org.amshove.kluent:kluent-android:1.68'
|
|
testImplementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$kotlin_coroutines_version"
|
|
// Plant Timber tree for test
|
|
testImplementation 'net.lachlanmckee:timber-junit-rule:1.0.1'
|
|
|
|
kaptAndroidTest "com.google.dagger:dagger-compiler:$daggerVersion"
|
|
androidTestImplementation 'androidx.test:core:1.4.0'
|
|
androidTestImplementation 'androidx.test:runner:1.4.0'
|
|
androidTestImplementation 'androidx.test:rules:1.4.0'
|
|
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
|
|
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
|
|
androidTestImplementation 'org.amshove.kluent:kluent-android:1.68'
|
|
androidTestImplementation 'io.mockk:mockk-android:1.12.0'
|
|
androidTestImplementation "androidx.arch.core:core-testing:$arch_version"
|
|
androidTestImplementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$kotlin_coroutines_version"
|
|
// Plant Timber tree for test
|
|
androidTestImplementation 'net.lachlanmckee:timber-junit-rule:1.0.1'
|
|
|
|
androidTestUtil 'androidx.test:orchestrator:1.4.0'
|
|
}
|