build.gradle.kts 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. /*
  2. * Copyright (c) Milan Jurkulák 2024.
  3. * Contact:
  4. * e: mimoccc@gmail.com
  5. * e: mj@mjdev.org
  6. * w: https://mjdev.org
  7. */
  8. import org.mjdev.gradle.extensions.buildConfigString
  9. import org.mjdev.gradle.extensions.manifestPlaceholders
  10. import org.mjdev.gradle.extensions.stringRes
  11. import org.mjdev.gradle.extensions.suffixToString
  12. plugins {
  13. id("org.jetbrains.kotlin.android")
  14. id("com.android.application")
  15. id("AppPlugin")
  16. }
  17. appConfig {
  18. packageName = "org.mjdev.tvapp"
  19. minSdk = 21
  20. compileSdk = 34
  21. autoCorrectCode = false
  22. createDocumentation = false
  23. createReleaseNotes = true
  24. renameApkOutputByAppID = false
  25. updateDependencies = false
  26. createReleaseZip = true
  27. createInfoClass = false
  28. buildTypeInLauncherIcon = false
  29. signingConfigName = "Any"
  30. signingPropertiesFile = "config/keystore.properties"
  31. versionPropertiesFile = "config/version.properties"
  32. }
  33. android {
  34. defaultConfig {
  35. buildConfigString(
  36. "IPTV_API_URL" to "https://iptv-org.github.io/api/",
  37. "GITHUB_USER" to "mimoccc",
  38. "GITHUB_REPOSITORY" to "tvapp"
  39. )
  40. manifestPlaceholders(
  41. "auth0Domain" to "@string/com_auth0_domain",
  42. "auth0Scheme" to "demo"
  43. )
  44. }
  45. buildTypes {
  46. debug {
  47. applicationIdSuffix = ".debug"
  48. isDebuggable = true
  49. isMinifyEnabled = false
  50. isShrinkResources = false
  51. isCrunchPngs = false
  52. isEmbedMicroApp = true
  53. buildConfigString(
  54. "SYNC_AUTH" to "${defaultConfig.applicationId}$applicationIdSuffix.sync"
  55. )
  56. stringRes(
  57. "sync_auth" to "${defaultConfig.applicationId}$applicationIdSuffix.sync",
  58. "app_name" to "TV App ${applicationIdSuffix.suffixToString()}"
  59. )
  60. }
  61. release {
  62. applicationIdSuffix = ""
  63. isDebuggable = false
  64. isMinifyEnabled = true
  65. isShrinkResources = true
  66. isCrunchPngs = true
  67. isEmbedMicroApp = true
  68. buildConfigString(
  69. "SYNC_AUTH" to "${defaultConfig.applicationId}$applicationIdSuffix.sync"
  70. )
  71. stringRes(
  72. "sync_auth" to "${defaultConfig.applicationId}$applicationIdSuffix.sync",
  73. "app_name" to "TV App ${applicationIdSuffix.suffixToString()}"
  74. )
  75. }
  76. }
  77. }