adev_one
05/05/2018, 11:28 AM.gradle
file should be
apply plugin: 'kotlin'
apply plugin: 'konan'
konan.targets = [
'ios_arm64', 'ios_x64'
]
konanArtifacts {
framework('KotlinNativeFramework')
}
when build multimodule project?olonho
05/05/2018, 12:52 PMadev_one
05/05/2018, 1:44 PM/ios
|--/ios (xcode project)
|--/KotlinNativeFramework
| |--/log-native
| |--build.gradle
| |--settings.gradle
common module log
placed in other directory
log
module `build.gradle`:
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`:
apply plugin: 'konan'
konan.targets = [
'ios_arm64', 'ios_x64'
]
konanArtifacts {
framework('Log') {
enableMultiplatform true
}
}
dependencies {
expectedBy project(':log')
}
root `build.gradle`:
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`:
include ':log',
':log-native'
project(':log').projectDir = new File('../../core/logger/log')
./gradlew build
I have following output:
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
olonho
05/05/2018, 2:47 PMsudo xcode-select --switch /Applications/Xcode.app
help?adev_one
05/05/2018, 3:19 PMdependencies {
compile project(':log')
compile project(':log-native')
expectedBy project(<other common module>)
}
gradle prints me
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.
konanArtifacts.library
through framework.libraries.artifact
common module of that artifact still not accessible.