build.gradle.kts 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. plugins {
  2. kotlin("multiplatform")
  3. kotlin("native.cocoapods")
  4. id("com.android.library")
  5. id("org.jetbrains.compose")
  6. }
  7. kotlin {
  8. android {
  9. compilations.all {
  10. kotlinOptions {
  11. jvmTarget = "1.8"
  12. }
  13. }
  14. }
  15. jvm("desktop")
  16. iosX64()
  17. iosArm64()
  18. iosSimulatorArm64()
  19. cocoapods {
  20. version = "1.0.0"
  21. summary = "Some description for the Shared Module"
  22. homepage = "Link to the Shared Module homepage"
  23. ios.deploymentTarget = "14.1"
  24. podfile = project.file("../iosApp/Podfile")
  25. framework {
  26. baseName = "shared"
  27. isStatic = true
  28. }
  29. extraSpecAttributes["resources"] = "['src/commonMain/resources/**', 'src/iosMain/resources/**']"
  30. }
  31. sourceSets {
  32. val commonMain by getting {
  33. dependencies {
  34. implementation(compose.runtime)
  35. implementation(compose.foundation)
  36. implementation(compose.material)
  37. @OptIn(org.jetbrains.compose.ExperimentalComposeLibrary::class)
  38. implementation(compose.components.resources)
  39. }
  40. }
  41. val androidMain by getting {
  42. dependencies {
  43. api("androidx.activity:activity-compose:1.6.1")
  44. api("androidx.appcompat:appcompat:1.6.1")
  45. api("androidx.core:core-ktx:1.9.0")
  46. }
  47. }
  48. val iosX64Main by getting
  49. val iosArm64Main by getting
  50. val iosSimulatorArm64Main by getting
  51. val iosMain by creating {
  52. dependsOn(commonMain)
  53. iosX64Main.dependsOn(this)
  54. iosArm64Main.dependsOn(this)
  55. iosSimulatorArm64Main.dependsOn(this)
  56. }
  57. val desktopMain by getting {
  58. dependencies {
  59. implementation(compose.desktop.common)
  60. }
  61. }
  62. }
  63. }
  64. android {
  65. compileSdk = (findProperty("android.compileSdk") as String).toInt()
  66. namespace = "com.myapplication.common"
  67. sourceSets["main"].manifest.srcFile("src/androidMain/AndroidManifest.xml")
  68. sourceSets["main"].res.srcDirs("src/androidMain/res")
  69. sourceSets["main"].resources.srcDirs("src/commonMain/resources")
  70. defaultConfig {
  71. minSdk = (findProperty("android.minSdk") as String).toInt()
  72. targetSdk = (findProperty("android.targetSdk") as String).toInt()
  73. }
  74. compileOptions {
  75. sourceCompatibility = JavaVersion.VERSION_1_8
  76. targetCompatibility = JavaVersion.VERSION_1_8
  77. }
  78. }