Advertisement
Guest User

Untitled

a guest
Sep 17th, 2019
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Kotlin 3.73 KB | None | 0 0
  1. plugins {
  2.     id 'org.jetbrains.kotlin.multiplatform'
  3. }
  4. repositories {
  5.     google()
  6.     jcenter()
  7.     mavenCentral()
  8.     maven { url "https://kotlin.bintray.com/ktor" }
  9.     maven { url 'https://dl.bintray.com/kotlin/kotlin-eap' }
  10. }
  11. apply plugin: 'com.android.application'
  12. apply plugin: 'kotlin-android-extensions'
  13. apply plugin: 'kotlin-multiplatform'
  14. apply plugin: 'kotlinx-serialization'
  15.  
  16. android {
  17.     compileSdkVersion 28
  18.     defaultConfig {
  19.         applicationId 'org.jetbrains.kotlin.mpp_app_android'
  20.         minSdkVersion 15
  21.         targetSdkVersion 28
  22.         versionCode 1
  23.         versionName '1.0'
  24.     }
  25.     buildTypes {
  26.         release {
  27.             minifyEnabled false
  28.         }
  29.     }
  30.     packagingOptions {
  31.         exclude 'META-INF/*.kotlin_module'
  32.     }
  33. }
  34.  
  35. dependencies {
  36.     implementation fileTree(dir: 'libs', include: ['*.jar'])
  37.     implementation 'com.android.support:appcompat-v7:28.0.0'
  38.     implementation 'com.android.support.constraint:constraint-layout:1.1.3'
  39.     implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.40"
  40. }
  41.  
  42. kotlin {
  43.     android("android")
  44.     iosX64("ios") { binaries { framework() } }
  45.  
  46.     sourceSets {
  47.         commonMain {
  48.             apply plugin: 'kotlinx-serialization'
  49.             dependencies {
  50.                 implementation 'org.jetbrains.kotlin:kotlin-stdlib'
  51.                 implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.1'
  52.                 api("io.ktor:ktor-client-core:1.2.4")
  53.                 implementation "io.ktor:ktor-client-json:1.2.4"
  54.                 implementation "io.ktor:ktor-client-serialization:1.2.1"
  55.                 implementation "org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.12.0"
  56.             }
  57.         }
  58.         androidMain {
  59.             dependencies {
  60.                 implementation kotlin('stdlib')
  61.                 implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.1'
  62.                 implementation "io.ktor:ktor-client-android:1.2.4"
  63.                 implementation "io.ktor:ktor-client-core-jvm:1.2.4"
  64.                 implementation "io.ktor:ktor-client-json-jvm:1.2.4"
  65.                 implementation "io.ktor:ktor-client-logging-jvm:1.2.4"
  66.                 implementation "io.ktor:ktor-client-serialization-jvm:1.2.4"
  67.                 implementation "org.jetbrains.kotlinx:kotlinx-serialization-runtime-common:0.12.0"
  68.                 implementation 'com.android.support:recyclerview-v7:28.0.0'
  69.             }
  70.         }
  71.         iosMain {
  72.             kotlin.srcDir('src/iosMain/kotlin')
  73.             dependencies {
  74.                 implementation kotlin('stdlib-common')
  75.                 implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core-native:1.3.0"
  76.                 implementation "org.jetbrains.kotlinx:kotlinx-serialization-runtime-native:0.12.0"
  77.                 implementation "io.ktor:ktor-client-ios:1.2.4"
  78.                 implementation "io.ktor:ktor-client-json-native:1.2.4"
  79.                 implementation "io.ktor:ktor-client-core-native:1.2.4"
  80.                 implementation "io.ktor:ktor-client-serialization-native:1.2.4"
  81.             }
  82.         }
  83.     }
  84. }
  85. task copyFramework {
  86.     def buildType = project.findProperty('kotlin.build.type') ?: 'DEBUG'
  87.     def target = project.findProperty('kotlin.target') ?: 'ios'
  88.     dependsOn kotlin.targets."$target".binaries.getFramework(buildType).linkTask
  89.  
  90.     doLast {
  91.         def srcFile = kotlin.targets."$target".binaries.getFramework(buildType).outputFile
  92.         def targetDir = "${rootProject.rootDir}/ios"
  93.         copy {
  94.             from srcFile.parent
  95.             into targetDir
  96.             include 'helloWorld.framework/**'
  97.             include 'helloWorld.framework.dSYM'
  98.         }
  99.     }
  100. } // ./gradlew :helloWorld:copyFramework
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement