build.gradle 3.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. apply plugin: 'com.android.application'
  2. apply plugin: 'kotlin-android'
  3. apply plugin: 'kotlin-android-extensions'
  4. apply plugin: 'kotlin-kapt'
  5. configurations.all {
  6. resolutionStrategy.eachDependency { DependencyResolveDetails details ->
  7. def requested = details.requested
  8. if (requested.group == "androidx") {
  9. if (!requested.name.startsWith("multidex")) {
  10. details.useVersion "${targetSdk}.+"
  11. }
  12. }
  13. }
  14. }
  15. android {
  16. compileSdkVersion 30
  17. compileOptions {
  18. sourceCompatibility JavaVersion.VERSION_1_8
  19. targetCompatibility JavaVersion.VERSION_1_8
  20. }
  21. kotlinOptions {
  22. jvmTarget = "1.8"
  23. }
  24. defaultConfig {
  25. applicationId "fr.forum_thalie.tsumugi"
  26. minSdkVersion 16
  27. targetSdkVersion 30
  28. versionCode 120
  29. versionName "1.2.0"
  30. testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
  31. vectorDrawables.useSupportLibrary = true
  32. }
  33. // Note: I noticed that enabling these make the release app crash on API19-.
  34. // So I'll disable it as of now for maximum compatibility, even if the app size is a tad bigger.
  35. /*
  36. buildTypes {
  37. release {
  38. minifyEnabled true
  39. shrinkResources true
  40. proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
  41. }
  42. }
  43. */
  44. }
  45. dependencies {
  46. implementation fileTree(dir: 'libs', include: ['*.jar'])
  47. /*
  48. implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
  49. implementation 'androidx.appcompat:appcompat:1.1.0'
  50. implementation 'androidx.core:core-ktx:1.1.0'
  51. implementation 'com.google.android.material:material:1.0.0'
  52. implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
  53. implementation 'androidx.navigation:navigation-fragment-ktx:2.1.0'
  54. implementation 'androidx.navigation:navigation-ui-ktx:2.1.0'
  55. implementation 'androidx.vectordrawable:vectordrawable:1.1.0'
  56. implementation 'androidx.lifecycle:lifecycle-extensions:2.1.0'
  57. implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.1.0'
  58. testImplementation 'junit:junit:4.12'
  59. androidTestImplementation 'androidx.test.ext:junit:1.1.1'
  60. androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
  61. */
  62. implementation "androidx.media:media:1.1.0"
  63. implementation 'com.google.android.exoplayer:exoplayer:2.11.3'
  64. //implementation project(':exoplayer-library') // uses local ExoPlayer clone, from dev-v2 branch (fixes ISO-8859-1 ICY metadata
  65. implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
  66. implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.2.0'
  67. implementation 'androidx.recyclerview:recyclerview:1.1.0'
  68. implementation 'androidx.preference:preference:1.1.0'
  69. // jsoup HTML parser library @ https://jsoup.org/
  70. // implementation 'org.jsoup:jsoup:1.12.1'
  71. // RSS parser library @ https://github.com/prof18/RSS-Parser
  72. implementation 'com.prof.rssparser:rssparser:2.0.4'
  73. // new implems
  74. implementation deps.kotlin.stdlib
  75. implementation deps.support.app_compat
  76. implementation deps.support.design
  77. implementation deps.support.core_ktx
  78. implementation deps.constraint_layout
  79. implementation deps.arch_core.runtime
  80. // Navigation
  81. implementation deps.navigation.runtime_ktx
  82. implementation deps.navigation.fragment_ktx
  83. implementation deps.navigation.ui_ktx
  84. // Android Testing Support Library's runner and rules
  85. /*
  86. androidTestImplementation deps.atsl.runner
  87. androidTestImplementation deps.atsl.rules
  88. androidTestImplementation deps.room.testing
  89. androidTestImplementation deps.arch_core.testing
  90. */
  91. // Espresso UI Testing
  92. androidTestImplementation deps.espresso.core
  93. androidTestImplementation deps.espresso.contrib
  94. androidTestImplementation deps.espresso.intents
  95. }