build.gradle 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. apply plugin: 'com.android.application'
  2. apply plugin: 'kotlin-android'
  3. apply plugin: 'kotlin-kapt'
  4. apply plugin: 'kotlin-android-extensions'
  5. android {
  6. compileSdkVersion build_versions.target_sdk
  7. buildToolsVersion build_versions.build_tools
  8. defaultConfig {
  9. applicationId "com.leopold.mvvm"
  10. versionCode 1
  11. versionName "1.0.0"
  12. testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
  13. minSdkVersion build_versions.min_sdk
  14. targetSdkVersion build_versions.target_sdk
  15. }
  16. dataBinding {
  17. enabled = true
  18. }
  19. kapt {
  20. generateStubs = true
  21. }
  22. sourceSets {
  23. main {
  24. jniLibs.srcDir 'libs'
  25. }
  26. }
  27. packagingOptions {
  28. exclude 'LICENSE.txt'
  29. exclude 'LICENSE'
  30. exclude 'META-INF/LICENSE'
  31. exclude 'META-INF/LICENSE.txt'
  32. exclude 'META-INF/NOTICE'
  33. exclude 'META-INF/NOTICE.txt'
  34. exclude 'META-INF/rxjava.properties'
  35. }
  36. compileOptions {
  37. sourceCompatibility JavaVersion.VERSION_1_8
  38. targetCompatibility JavaVersion.VERSION_1_8
  39. }
  40. lintOptions {
  41. abortOnError false
  42. disable 'GoogleAppIndexingWarning'
  43. }
  44. testOptions {
  45. unitTests.returnDefaultValues = true
  46. }
  47. buildTypes {
  48. release {
  49. minifyEnabled false
  50. proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
  51. }
  52. }
  53. }
  54. dependencies {
  55. implementation fileTree(include: ['*.jar'], dir: 'libs')
  56. // Support Libraries
  57. implementation deps.support.app_compat
  58. implementation deps.support.v4
  59. implementation deps.support.design
  60. implementation deps.support.recyclerview
  61. implementation deps.constraint_layout
  62. // Architecture components
  63. implementation deps.lifecycle.runtime
  64. implementation deps.lifecycle.extensions
  65. implementation deps.room.runtime
  66. implementation deps.room.rxjava2
  67. implementation deps.paging_ktx
  68. // Compiler
  69. kapt deps.lifecycle.compiler
  70. kapt deps.room.compiler
  71. // RxJava
  72. implementation deps.rx_android
  73. implementation deps.rxjava2
  74. // Kotlin
  75. implementation deps.kotlin.stdlib
  76. // Koin
  77. implementation deps.koin.core
  78. implementation deps.koin.android
  79. implementation deps.koin.architecture
  80. // Retrofit
  81. implementation deps.retrofit.runtime
  82. implementation deps.retrofit.rx_adapter
  83. implementation deps.retrofit.gson
  84. // OkHttp
  85. implementation deps.okhttp_logging_interceptor
  86. // Dependencies for local unit tests
  87. testImplementation deps.junit
  88. testImplementation deps.mockito.all
  89. testImplementation deps.hamcrest
  90. testImplementation deps.kotlin.stdlib
  91. testImplementation deps.kotlin.test
  92. testImplementation deps.koin.test, { exclude group: 'org.mockito' }
  93. // Android Testing Support Library's runner and rules
  94. androidTestImplementation deps.axt.runner
  95. androidTestImplementation deps.axt.rules
  96. // Dependencies for Android unit tests
  97. androidTestImplementation deps.junit
  98. androidTestImplementation deps.mockito.core, { exclude group: 'net.bytebuddy' }
  99. // Espresso UI Testing
  100. androidTestImplementation deps.espresso.core
  101. androidTestImplementation deps.espresso.contrib
  102. androidTestImplementation deps.espresso.intents
  103. // Resolve conflicts between main and test APK:
  104. androidTestImplementation deps.support.annotations
  105. androidTestImplementation deps.support.v4
  106. androidTestImplementation deps.support.app_compat
  107. androidTestImplementation deps.support.design
  108. }