napperley
07/17/2018, 3:08 AMgildor
07/17/2018, 3:11 AMthis.<autocomplete>
works pretty well if you don’t want to see suggestions from top level DSLs
Ultimate solution, works also for Groovy, just open plugin/extension/task class and check public methodsnapperley
07/17/2018, 3:13 AMsourceSets["main"].component {
target("linux_x64")
outputKinds(EXECUTABLE)
}
gildor
07/17/2018, 3:23 AMsourceSets["main"].component {
target("linux_x64")
if (this is KotlinNativeMainComponent) {
outputKinds.add(OutputKind.KLIBRARY)
outputKinds.add(OutputKind.EXECUTABLE)
}
}
unfortunately all this sourceSets DSL is too dynamicJust checked sources of K/N plugin, it’s just looks like Java plugin dsl, but implementation is completely different and not so dynamic. I suppose K/N should provide type safe accessor for
main
sourceSet, so it will allow to configure outputKinds in a type safe waymain
source set, we have to check sourceSet typenapperley
07/17/2018, 3:41 AMgildor
07/17/2018, 3:41 AMsourceSets.filterIsInstance<KotlinNativeMainComponent>().first().apply {
target("linux_x64")
outputKinds.add(OutputKind.KLIBRARY)
outputKinds.add(OutputKind.EXECUTABLE)
}
But imho it’s too muchnapperley
07/17/2018, 3:48 AMgildor
07/17/2018, 3:54 AMnapperley
07/17/2018, 4:20 AMif (this is AbstractKotlinNativeBinary) {
additionalCompilerOptions.add("-e")
additionalCompilerOptions.add("org.example.http_client_test.main")
}
Doesn't have any effect.gildor
07/17/2018, 5:25 AMthis
?additionalCompilerOptions
is related on K/N compile task, not extensionsourceSets["main"].component {
binaries.configureEach {
additionalCompilerOptions.add("-e")
}
}