VariantDimension.kt 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  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. @file:Suppress("unused")
  9. package org.mjdev.gradle.extensions
  10. import com.android.build.api.dsl.ApplicationVariantDimension
  11. import kotlin.String
  12. fun ApplicationVariantDimension.buildConfigBoolean(
  13. vararg fields: Pair<String, Boolean>
  14. ) {
  15. fields.forEach { pair ->
  16. buildConfigField("Boolean", pair.first, pair.second.toString())
  17. }
  18. }
  19. fun ApplicationVariantDimension.buildConfigString(
  20. vararg fields: Pair<String, String>
  21. ) {
  22. fields.forEach { pair ->
  23. buildConfigField("String", pair.first, "\"${pair.second}\"")
  24. }
  25. }
  26. fun ApplicationVariantDimension.buildConfigStringWithPackageName(
  27. vararg fields: Pair<String, String>
  28. ) {
  29. fields.forEach { pair ->
  30. buildConfigField("String", pair.first, "APPLICATION_ID + \"${pair.second}\"")
  31. }
  32. }
  33. fun ApplicationVariantDimension.stringRes(
  34. vararg fields: Pair<String, String>
  35. ) {
  36. fields.forEach { pair ->
  37. resValue("string", pair.first, pair.second)
  38. }
  39. }
  40. fun ApplicationVariantDimension.stringRes(
  41. name: String,
  42. value: String
  43. ) {
  44. resValue("string", name, value)
  45. }
  46. fun ApplicationVariantDimension.stringResWithPackageName(
  47. vararg fields: Pair<String, String>
  48. ) {
  49. fields.forEach { pair ->
  50. resValue("string", pair.first, "\${applicationId}" + pair.second)
  51. }
  52. }
  53. fun ApplicationVariantDimension.addSyncProviderAuthString(
  54. name: String = "sync_auth",
  55. suffix: String = ".sync"
  56. ) {
  57. buildConfigStringWithPackageName(name.uppercase() to suffix)
  58. stringResWithPackageName(name to suffix)
  59. }
  60. //fun ApplicationVariantDimension.createSuffixedStringRes(
  61. // name: String,
  62. // base: String
  63. //) {
  64. // val suffix = if(applicationIdSuffix.isNullOrEmpty()) ""
  65. // else ( " - " + applicationIdSuffix.suffixToString())
  66. // resValue("string", name, base + suffix)
  67. //}
  68. fun ApplicationVariantDimension.manifestPlaceholders(
  69. vararg fields: Pair<String, Any>
  70. ) {
  71. manifestPlaceholders.apply {
  72. fields.forEach { pair ->
  73. put(pair.first, pair.second)
  74. }
  75. }
  76. }