build.gradle.kts 2.5 KB

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