2019-03-27 21:24:47 +01:00
|
|
|
apply plugin: 'com.android.application'
|
2019-03-28 01:14:55 +01:00
|
|
|
apply plugin: 'checkstyle'
|
2019-03-27 21:24:47 +01:00
|
|
|
|
|
|
|
android {
|
2019-05-04 00:27:02 +02:00
|
|
|
compileSdkVersion 28
|
2019-03-27 21:24:47 +01:00
|
|
|
defaultConfig {
|
2019-07-02 00:46:40 +02:00
|
|
|
applicationId "org.mercury_im.messenger"
|
2019-03-27 21:24:47 +01:00
|
|
|
minSdkVersion 19
|
2019-05-04 00:27:02 +02:00
|
|
|
targetSdkVersion 28
|
2019-03-27 21:24:47 +01:00
|
|
|
versionCode 1
|
|
|
|
versionName "1.0"
|
2019-05-18 10:06:16 +02:00
|
|
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
2019-04-14 18:11:29 +02:00
|
|
|
vectorDrawables.useSupportLibrary = true
|
2019-05-04 00:27:02 +02:00
|
|
|
multiDexEnabled true
|
2019-03-27 21:24:47 +01:00
|
|
|
}
|
2019-05-04 00:27:02 +02:00
|
|
|
|
2019-03-27 21:24:47 +01:00
|
|
|
buildTypes {
|
|
|
|
release {
|
|
|
|
minifyEnabled false
|
|
|
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
lintOptions {
|
|
|
|
disable 'GoogleAppIndexingWarning', 'AllowBackup'
|
|
|
|
// Warn about invalid packages instead of failing
|
|
|
|
warning 'InvalidPackage'
|
|
|
|
}
|
2019-04-05 00:38:01 +02:00
|
|
|
|
|
|
|
compileOptions {
|
|
|
|
sourceCompatibility 1.8
|
|
|
|
targetCompatibility 1.8
|
|
|
|
}
|
2019-05-04 00:27:02 +02:00
|
|
|
|
|
|
|
dataBinding {
|
|
|
|
enabled true
|
|
|
|
}
|
2019-03-27 21:24:47 +01:00
|
|
|
}
|
|
|
|
|
2019-03-28 01:37:09 +01:00
|
|
|
checkstyle {
|
|
|
|
toolVersion = '8.17'
|
2019-03-28 01:14:55 +01:00
|
|
|
configFile = rootProject.file('config/checkstyle/checkstyle.xml')
|
2019-03-28 01:37:09 +01:00
|
|
|
}
|
2019-03-28 01:14:55 +01:00
|
|
|
|
2019-03-28 01:37:09 +01:00
|
|
|
task checkstyleMain(type: Checkstyle) {
|
2019-03-28 01:14:55 +01:00
|
|
|
source 'src/main/java'
|
|
|
|
include '**/*.java'
|
|
|
|
exclude '**/gen/**'
|
2019-03-28 01:37:09 +01:00
|
|
|
classpath = files()
|
|
|
|
}
|
|
|
|
|
|
|
|
task checkstyleTest(type: Checkstyle) {
|
|
|
|
source 'src/test/java'
|
|
|
|
include '**/*.java'
|
|
|
|
exclude '**/gen/**'
|
|
|
|
classpath = files()
|
|
|
|
}
|
2019-03-28 01:14:55 +01:00
|
|
|
|
2019-03-28 01:37:09 +01:00
|
|
|
task checkstyleAndroidTest(type: Checkstyle) {
|
|
|
|
source 'src/androidTest/java'
|
|
|
|
include '**/*.java'
|
|
|
|
exclude '**/gen/**'
|
2019-03-28 01:14:55 +01:00
|
|
|
classpath = files()
|
|
|
|
}
|
|
|
|
|
2019-03-28 01:37:09 +01:00
|
|
|
check.configure {
|
2019-03-28 01:45:38 +01:00
|
|
|
dependsOn(checkstyleMain)
|
|
|
|
// dependsOn(checkstyleTest)
|
|
|
|
// dependsOn(checkstyleAndroidTest)
|
2019-03-28 01:14:55 +01:00
|
|
|
}
|
|
|
|
|
2019-04-14 18:11:29 +02:00
|
|
|
// Dependency versions are located in version.gradle
|
2019-03-27 21:24:47 +01:00
|
|
|
dependencies {
|
2019-05-19 02:00:33 +02:00
|
|
|
|
2019-07-31 22:59:46 +02:00
|
|
|
// Depend on the core project for XMPP related stuff
|
2019-08-03 19:05:50 +02:00
|
|
|
implementation project(':core')
|
2019-07-31 22:59:46 +02:00
|
|
|
|
|
|
|
// Plug a Room based implementation into the persistence api
|
2019-08-03 19:05:50 +02:00
|
|
|
implementation project(':persistence-room')
|
2019-05-19 02:00:33 +02:00
|
|
|
|
2019-08-01 00:17:27 +02:00
|
|
|
// Dagger 2 for dependency injection
|
|
|
|
implementation "com.google.dagger:dagger:$daggerVersion"
|
|
|
|
annotationProcessor "com.google.dagger:dagger-compiler:$daggerVersion"
|
|
|
|
|
2019-05-18 10:06:16 +02:00
|
|
|
// ViewModel and LiveData
|
|
|
|
implementation "androidx.lifecycle:lifecycle-extensions:$lifecycleVersion"
|
|
|
|
annotationProcessor "androidx.lifecycle:lifecycle-compiler:$lifecycleVersion"
|
2019-05-04 00:27:02 +02:00
|
|
|
|
2019-06-03 01:16:49 +02:00
|
|
|
// ButterKnife for View Binding
|
|
|
|
implementation "com.jakewharton:butterknife:$butterKnifeVersion"
|
|
|
|
annotationProcessor "com.jakewharton:butterknife-compiler:$butterKnifeVersion"
|
|
|
|
|
2019-04-14 18:11:29 +02:00
|
|
|
// support libraries
|
2019-08-03 19:05:50 +02:00
|
|
|
implementation "androidx.appcompat:appcompat:$appCompatVersion"
|
2019-05-18 10:06:16 +02:00
|
|
|
implementation 'com.google.android.material:material:1.0.0'
|
|
|
|
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
|
|
|
|
implementation 'androidx.vectordrawable:vectordrawable:1.0.1'
|
|
|
|
implementation 'androidx.cardview:cardview:1.0.0'
|
2019-06-20 17:20:23 +02:00
|
|
|
implementation 'androidx.constraintlayout:constraintlayout:2.0.0-beta2'
|
2019-06-03 01:16:49 +02:00
|
|
|
implementation 'androidx.recyclerview:recyclerview:1.0.0'
|
2019-04-14 18:11:29 +02:00
|
|
|
|
|
|
|
// circular image viewer for avatars
|
2019-07-31 22:59:46 +02:00
|
|
|
implementation 'de.hdodenhof:circleimageview:3.0.0'
|
2019-07-03 00:56:55 +02:00
|
|
|
|
2019-07-31 22:59:46 +02:00
|
|
|
// Android specific classes of Smacks API
|
2019-07-03 00:56:55 +02:00
|
|
|
implementation "org.igniterealtime.smack:smack-android-extensions:$smackAndroidExtensionsVersion"
|
2019-07-31 22:59:46 +02:00
|
|
|
|
|
|
|
// Testing - as if...
|
2019-08-03 19:05:50 +02:00
|
|
|
testImplementation "junit:junit:$junitVersion"
|
|
|
|
androidTestImplementation "androidx.test:runner:$andxTestRunnerVersion"
|
|
|
|
androidTestImplementation "androidx.test.espresso:espresso-core:$andxTestEspressoVersion"
|
2019-03-27 21:24:47 +01:00
|
|
|
}
|