build.gradle.kts 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. import org.jetbrains.kotlin.gradle.internal.AndroidExtensionsExtension
  2. plugins {
  3. id("com.android.application")
  4. id("kotlin-android")
  5. id("kotlin-android-extensions")
  6. }
  7. androidExtensions {
  8. // fixme: https://youtrack.jetbrains.com/issue/KT-22213
  9. configure(delegateClosureOf<AndroidExtensionsExtension> {
  10. isExperimental = true
  11. })
  12. }
  13. android {
  14. compileSdkVersion(28)
  15. buildToolsVersion("28.0.3")
  16. defaultConfig {
  17. applicationId = "com.sirekanyan.knigopis"
  18. minSdkVersion(16)
  19. targetSdkVersion(28)
  20. versionCode = 24
  21. versionName = "0.2.2"
  22. setProperty("archivesBaseName", "$applicationId-$versionName-$versionCode")
  23. vectorDrawables.useSupportLibrary = true
  24. }
  25. buildTypes {
  26. getByName("release") {
  27. isMinifyEnabled = true
  28. proguardFiles(getDefaultProguardFile("proguard-android.txt"), "proguard")
  29. }
  30. getByName("debug") {
  31. applicationIdSuffix = ".debug"
  32. }
  33. }
  34. }
  35. dependencies {
  36. // kotlin standard library
  37. implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.10")
  38. // support libraries
  39. implementation("com.android.support:appcompat-v7:28.0.0")
  40. implementation("com.android.support:design:28.0.0")
  41. implementation("com.android.support:support-vector-drawable:28.0.0")
  42. implementation("com.android.support.constraint:constraint-layout:1.1.3")
  43. // rxjava
  44. implementation("io.reactivex.rxjava2:rxjava:2.2.2")
  45. implementation("io.reactivex.rxjava2:rxkotlin:2.3.0")
  46. implementation("io.reactivex.rxjava2:rxandroid:2.1.0")
  47. implementation("com.tbruyelle.rxpermissions2:rxpermissions:0.9.4@aar")
  48. // retrofit & okhttp
  49. implementation("com.squareup.retrofit2:retrofit:2.4.0")
  50. implementation("com.squareup.retrofit2:adapter-rxjava2:2.4.0")
  51. implementation("com.squareup.retrofit2:converter-gson:2.4.0")
  52. implementation("com.squareup.okhttp3:logging-interceptor:3.11.0")
  53. // etc
  54. implementation("com.github.bumptech.glide:glide:4.8.0")
  55. implementation(files("libs/ulogin-sdk-v1.1.aar"))
  56. }
  57. task("updateReadme") {
  58. dependsOn("assembleRelease")
  59. doLast {
  60. val releaseVariant = android.applicationVariants.first { it.name == "release" }
  61. val releaseFiles = releaseVariant.outputs.map { it.outputFile }
  62. val apkFile = releaseFiles.single { it.exists() && it.extension == "apk" }
  63. val apkSize = "%.2f".format(apkFile.length().toFloat() / 1024 / 1024)
  64. rootProject.file("README.md").printWriter().use { readme ->
  65. rootProject.file("readme.md").forEachLine { line ->
  66. readme.appendln(line.replace("{{apkSize}}", apkSize))
  67. }
  68. }
  69. }
  70. }