build.gradle 3.9KB

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