atsushieno
09/01/2021, 8:51 AMjava.nio.file.Path.relativize()
? As far as I checked, okio Path/FileSystem and ktor Url don't seem to provide such a feature.tylerwilson
09/01/2021, 3:29 PMCompilation failed: The /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ command returned non-zero exit code: 1.
output:
clang (LLVM option parsing): for the --fast-isel option: may only occur zero or one times!
clang (LLVM option parsing): for the --global-isel option: may only occur zero or one times!
* Source files:
* Compiler version info: Konan: 1.5.30 / Kotlin: 1.5.30
* Output kind: FRAMEWORK
Sebastian
09/01/2021, 4:49 PMcoolcat
09/01/2021, 7:46 PM@
. So your build may run at: /Users/jenkins/workspace/MyKMMProject
, and a concurrent build runs at /Users/jenkins/workspace/MyKMMProject@2
.
In this scenario I get the error:
> Task :shared:compileKotlinIos FAILED
e: Could not find "/Users/jenkins/workspace/MyKMMProject" in [/Users/jenkins/workspace/MyKMMProject@2/Pods, /Users/jenkins/.konan/klib, /Users/jenkins/.konan/kotlin-native-prebuilt-macos-1.5.21/klib/common, /Users/jenkins/.konan/kotlin-native-prebuilt-macos-1.5.21/klib/platform/ios_arm64]
I think this is due to the @
because there is no reference in any environment variable to the path name without the separator.
I suspect something is wrongly parsing the file path and tripping up on the @
but I don’t know where this would be, and therefore where to raise this bug.
Does anybody have any suggestions for troubleshooting this (other than reconfiguring the separator Jenkins character).Lars Toft Jacobsen
09/02/2021, 9:10 AMTim Malseed
09/02/2021, 10:36 PMmylib.a
. Now, I'd like to include that library in a KMP jvm desktop application.
I know I need to call System.loadLibrary("myLib")
, but what I'm not sure about, is where the mylib.a
file needs to reside. Does it need to be extracted into .so
files first? How can I make the static native lib available to java?jw
09/03/2021, 2:15 AMDazai
09/03/2021, 3:37 AMSlackbot
09/03/2021, 12:58 PMAnton Afanasev
09/03/2021, 2:16 PM// Multiplatform
class KmmLibrary(private val listener: Listener) {
fun doSomething() {
listener.notifyResult("All good!")
}
interface Listener {
fun notifyResult(result: String)
}
}
// Native
struct ContentView: View {
@State private var message: String = ""
private let kmmLibrary: KmmLibrary
init() {
self.kmmLibrary = KmmLibrary(listener: NativeListener())
}
class NativeListener: Listener {
func notifyResult(result: String) {
print(result)
}
}
}
Does not this code created retain cycle on iOS (Native)?
Should I somehow wrap it with WeakReference using expect/actual mechanism or are there any other common practices?spierce7
09/03/2021, 7:21 PMnalaka
09/04/2021, 4:03 AMfoo-types
and foo-biz
Kotlin Multiplatform libraries that has the "data types" and "sharable business logic"
• This is consumed from Ktor backend services with Kotlin/JVM
• This is consumed from React webapp as a Node.js library with Kotlin/JS (IR)
• Need a way to consume this from a Flutter app
Hoping someone has already done this. 🙂 Thx.edwinRNDR
09/04/2021, 10:44 AMCannot access class 'org.openrndr.draw.FontImageMap'. Check your module classpath for missing or conflicting dependencies
ursus
09/04/2021, 5:34 PMTomasz Krakowiak
09/06/2021, 2:10 AMsetOf(singleElement)
)Nikolay Kasyanov
09/06/2021, 9:12 AMvalue class ValueClass(val impl: SomeOtherType) {
init {
this.impl = impl.somePreprocessingReturningAnotherImpl()
}
}
Didier Villevalois
09/06/2021, 6:34 PM*.api
files generated in a multiplatform project show all the public APIs of the library?Jamie Craane
09/07/2021, 12:29 PMdoLast {
copy {
from("${project.rootDir}/android-app/src/commonMain/resources/ios")
into("${targetDir}/shared.framework")
}
}
What is the best approach to do this with the embedAndSignAppleFrameworkForXcode task? I was trying something like this (in the build script of the shared module):
tasks {
named("embedAndSignAppleFrameworkForXcode") {
doLast {
val targetDir = findProperty("configuration.build.dir")
// Copy resources here
}
}
}
But the message I get is: Task with name ‘embedAndSignAppleFrameworkForXcode’ not found in project ‘:shared’.
I updated to Kotlin 1.5.30. The task is correctly ran from Xcode.Chris Fillmore
09/07/2021, 3:57 PMPeter Hsu
09/07/2021, 7:23 PMNikolay Kasyanov
09/08/2021, 10:57 AMiosArm64Test {
dependsOn iosX64Test
}
I mean, it works for ...Main
source sets, but apparently not for test ones.
Yes it’s a bit 🦕 but moving to HMPP takes time.
I only found out it wasn’t working by adding iosSimulatorArm64
slice and a similar dependsOn construct for it.kavi
09/08/2021, 11:45 AMhfhbd
09/08/2021, 3:48 PMspierce7
09/08/2021, 7:42 PM[!] Automatically assigning platform `iOS` with version `13.5` on target `App-iOS` because no platform was specified. Please specify a platform for this target in your Podfile. See `<https://guides.cocoapods.org/syntax/podfile.html#platform>`.
I can’t figure out how to specify the platform in gradle.Jan
09/08/2021, 11:34 PMxiaobailong24
09/09/2021, 12:56 PMabstract class JavaAbsClass
in java library, and a
class ObjcAbsClass
in objc library.
So
except abstract class CommonAbsClass
is defined in kmm commonMain module, and
actual typealias CommonAbsClass = JavaAbsClass
that's not a problem in kmm jvmMain module.
But in kmm iosMain module, not only
actual typealias CommonAbsClass = ObjcAbsClass`
is unsupported, but also
actual typealias CommonAbsClass = ObjcAbsClassWrapper
abstract class ObjcAbsClassWrapper:ObjcAbsClass()
will get a compiler error with Non-final Kotlin subclasses of Objective-C classes are not yet supported
.
So how should I do to interop abstract class with both jvm and objc library? Thanks very much!Andre Servidoni
09/09/2021, 1:17 PMTask 'embedAndSignAppleFrameworkForXcode' not found in project ':mobile_shared'.
what I need to do? I followed all the steps.Alfred Lopez
09/09/2021, 1:44 PMrootProject.plugins.withType(NodeJsRootPlugin::class) {
var nodeJsRootExt = rootProject.the<NodeJsRootExtension>()
nodeJsRootExt.download = false
nodeJsRootExt.nodeVersion = "16.15.4"
}
rootProject.plugins.withType(YarnPlugin::class) {
var gsmlYarnRootExt = rootProject.the<YarnRootExtension>()
gsmlYarnRootExt.download = false
gsmlYarnRootExt.version = "1.22.11"
}
For some reason, the build “sees” the assigned version numbers, but it ignores the download = false. Also, I’m using plugin version 1.5.20, and the YarnRootExtension class clearly has “download” as a field, but IntelliJ says otherwise and when I Cmd+Click to go to the definition of the class, the property is not there, which means to me that gradle is not pulling in the latest for some reason.
Do any of you have any insight to this?
Thanks!Marc Plano-Lesay
09/10/2021, 10:27 AMkevindmoore
09/10/2021, 3:48 PMkevindmoore
09/10/2021, 3:48 PMSam
09/10/2021, 5:31 PMkevindmoore
09/10/2021, 6:52 PMlouiscad
09/10/2021, 7:11 PMkevindmoore
09/10/2021, 9:24 PMdarkmoon_uk
09/11/2021, 1:34 AMkevindmoore
09/11/2021, 6:14 PM