In which `.gradle` file should be ``` apply plugin...
# kotlin-native
a
In which
.gradle
file should be
Copy code
apply plugin: 'kotlin'
apply plugin: 'konan'

konan.targets = [
    'ios_arm64', 'ios_x64'
]

konanArtifacts {
    framework('KotlinNativeFramework')
}
when build multimodule project?
o
This question is hard to answer without context, please read docs in https://github.com/JetBrains/kotlin-native/blob/master/MULTIPLATFORM.md and check samples
a
I have project with following stucture:
Copy code
/ios
|--/ios (xcode project)
|--/KotlinNativeFramework
|   |--/log-native
|   |--build.gradle
|   |--settings.gradle
common module
log
placed in other directory
log
module `build.gradle`:
Copy code
apply plugin: 'kotlin-platform-common'

dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib-common:$kotlin_version"
    testImplementation "org.jetbrains.kotlin:kotlin-test-annotations-common:$kotlin_version"
    testImplementation "org.jetbrains.kotlin:kotlin-test-common:$kotlin_version"
}
log-native
module `build.gradle`:
Copy code
apply plugin: 'konan'

konan.targets = [
    'ios_arm64', 'ios_x64'
]

konanArtifacts {
    framework('Log') {
        enableMultiplatform true
    }
}

dependencies {
    expectedBy project(':log')
}
root `build.gradle`:
Copy code
buildscript {
    ext.kotlin_version = '1.2.41'
    repositories {
        jcenter()
        maven {
            url "<https://dl.bintray.com/jetbrains/kotlin-native-dependencies>"
        }
    }

    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-native-gradle-plugin:0.7"
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

subprojects {
    repositories {
        jcenter()
    }
}
`settings.gradle`:
Copy code
include ':log',
        ':log-native'

project(':log').projectDir = new File('../../core/logger/log')
When I run
./gradlew build
I have following output:
Copy code
Parallel execution is an incubating feature.

> Task :log-native:compileKonanLogIos_arm64 FAILED
xcrun: error: SDK "iphoneos" cannot be located
xcrun: error: SDK "iphoneos" cannot be located
xcrun: error: unable to lookup item 'Path' in SDK 'iphoneos'
exception: org.jetbrains.kotlin.konan.KonanExternalToolFailure: The /usr/bin/xcrun command returned non-zero exit code: 1.
        at org.jetbrains.kotlin.konan.exec.Command.handleExitCode(ExecuteCommand.kt:100)
        at org.jetbrains.kotlin.konan.exec.Command.getOutputLines(ExecuteCommand.kt:91)
        at org.jetbrains.kotlin.konan.exec.Command.getOutputLines$default(ExecuteCommand.kt:72)
        at org.jetbrains.kotlin.konan.target.CurrentXcode.xcrun(Xcode.kt:54)
        at org.jetbrains.kotlin.konan.target.CurrentXcode.getSdkPath(Xcode.kt:56)
        at org.jetbrains.kotlin.konan.target.CurrentXcode.access$getSdkPath(Xcode.kt:37)
        at org.jetbrains.kotlin.konan.target.CurrentXcode$iphoneosSdk$2.invoke(Xcode.kt:45)
        at org.jetbrains.kotlin.konan.target.CurrentXcode$iphoneosSdk$2.invoke(Xcode.kt:37)
        at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:79)
        at org.jetbrains.kotlin.konan.target.CurrentXcode.getIphoneosSdk(Xcode.kt)
        at org.jetbrains.kotlin.konan.target.AppleConfigurablesImpl.getAbsoluteTargetSysRoot(Apple.kt:35)
        at org.jetbrains.kotlin.konan.target.ClangArgs.getAbsoluteTargetSysRoot(ClangArgs.kt)
        at org.jetbrains.kotlin.konan.target.ClangArgs.getSpecificClangArgs(ClangArgs.kt:59)
        at org.jetbrains.kotlin.konan.target.ClangArgs.<init>(ClangArgs.kt:180)
        at org.jetbrains.kotlin.konan.target.Platform$clang$2.invoke(Platform.kt:25)
        at org.jetbrains.kotlin.konan.target.Platform$clang$2.invoke(Platform.kt:21)
        at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:79)
        at org.jetbrains.kotlin.konan.target.Platform.getClang(Platform.kt)
        at org.jetbrains.kotlin.backend.konan.KonanConfig.<init>(KonanConfig.kt:69)
        at org.jetbrains.kotlin.cli.bc.K2Native.doExecute(K2Native.kt:55)
        at org.jetbrains.kotlin.cli.bc.K2Native.doExecute(K2Native.kt:40)
        at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.java:107)
        at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.java:51)
        at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:96)
        at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:72)
        at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:38)
        at org.jetbrains.kotlin.cli.common.CLITool$Companion.doMainNoExit(CLITool.kt:171)
        at org.jetbrains.kotlin.cli.common.CLITool$Companion.doMain(CLITool.kt:162)
        at org.jetbrains.kotlin.cli.bc.K2Native$Companion$main$1.invoke(K2Native.kt:190)
        at org.jetbrains.kotlin.cli.bc.K2Native$Companion$main$1.invoke(K2Native.kt:181)
        at org.jetbrains.kotlin.backend.konan.util.UtilKt.profileIf(util.kt:34)
        at org.jetbrains.kotlin.backend.konan.util.UtilKt.profile(util.kt:29)
        at org.jetbrains.kotlin.cli.bc.K2Native$Companion.main(K2Native.kt:183)
        at org.jetbrains.kotlin.cli.bc.K2NativeKt.main(K2Native.kt:195)
        at org.jetbrains.kotlin.cli.utilities.MainKt.main(main.kt:27)



FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':log-native:compileKonanLogIos_arm64'.
> Process 'command '/Library/Java/JavaVirtualMachines/jdk1.8.0_162.jdk/Contents/Home/bin/java'' finished with non-zero exit value 2
o
does
sudo xcode-select --switch /Applications/Xcode.app
help?
🤘 1
a
It works! Thank you!
But when I try to connect this module to other like
Copy code
dependencies {
    compile project(':log')
    compile project(':log-native')

    expectedBy project(<other common module>)
}
gradle prints me
Copy code
Build file '/code/newsfeed/ios/KotlinNativeFramework/feed-native/build.gradle' line: 14

* What went wrong:
A problem occurred evaluating project ':feed-native'.
> Could not find method compile() for arguments [project ':log'] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.
Problem solved by expecting all common modules by one artifact. Its OK at the moment. But is there better solution? When I connect module compiled with
konanArtifacts.library
through
framework.libraries.artifact
common module of that artifact still not accessible.