dimsuz
12/21/2022, 12:43 PMCiaran Sloan
12/21/2022, 7:59 PMConrad Kramer
12/21/2022, 10:16 PM> Task :Shared:macosArm64Test FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':Shared:macosArm64Test'.
> command '/Users/conradev/Projects/Wallet/Shared/build/bin/macosArm64/debugTest/test.kexe' exited with errors (exit code: 137)
and the corresponding log in the system log is generated:
default 14:14:45.212066-0800 kernel ASP: Security policy would not allow process: 43402, /Users/conradev/Projects/Wallet/Shared/build/bin/macosArm64/debugTest/test.kexe
martmists
12/22/2022, 1:10 AMxxfast
12/22/2022, 1:57 AM:app
⎿:feature-1
⎿:feature-2
:app
is the only module I'm depending on from iOS, but I am exporting my feature modules. I can export sealed types from :app
just fine
sealed class AppSealedType {
object AppTypeA: AppSealedType()
object AppTypeB: AppSealedType()
}
And they do show up on the swift side. However, when I define a seal type on one of the :feature-x
modules
sealed class FeatureSealedType {
object FeatureTypeA: AppSealedType()
object FeatureTypeB: AppSealedType()
}
Only the top seal interface is exported. I can trick the tooling to "force" export the sealed child types by referencing them in the iosMain
of the :app
as a workaround
val FeatureTypeA = FeatureSealedType.FeatureTypeA
When I do that, the child types are exported
Is this a known bug/limitation? Is there a way export all child types of my sealed types? More details in the 🧵Shubham Singh
12/23/2022, 6:05 AMimplementation("dev.icerock.moko:kswift-runtime:0.6.1")
is only available for KMM but my project supports Android, iOS, and Web as well. So can I instruct KMP to not fetch its deps for JS?ManApart
12/23/2022, 8:43 PMEugene Maksymenko
12/24/2022, 1:11 AMhumblehacker
12/24/2022, 8:49 PMKirill Zhukov
12/25/2022, 3:49 AMjvmMain
source set access is not provided by Kotlin DSL (unsure how this works…)? For example, following:
kotlin {
android()
jvm()
sourceSets {
val commonMain by getting {
// ...
}
val androidMain by getting {
// ...
}
val jvmMain by getting {
// ...
}
}
}
Can be replaced with this, except for jvmMain
:
kotlin {
android()
jvm()
sourceSets {
commonMain {
// ...
}
androidMain {
// ...
}
// `jvmMain` extension is not provided
val jvmMain by getting {
// ...
}
}
}
spierce7
12/25/2022, 4:07 AMIdan
12/25/2022, 1:31 PMShubham Singh
12/25/2022, 2:41 PMspierce7
12/26/2022, 4:40 AMVitaliy Zarubin
12/26/2022, 8:44 AMElio Maroun
12/27/2022, 8:59 AMTung97 Hl
12/27/2022, 4:39 PMChristian Würthenr
12/29/2022, 10:50 AMFAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':shared-br-network:iosSimulatorArm64Test'.
> No value present
If I open the project in 2021.3 everything works as expected, also when I use ./gradlew :shared-network:iosSimulatorArm64Test
Did somebody experience the same and has a solution?Elio Maroun
12/29/2022, 1:47 PMMendess
12/29/2022, 2:17 PM= runTest
and internally it uses GlobalScope.launch
but this call is blocking forever and the callback I'm passing to it doesn't ever run, how can I debug this?tylerwilson
12/29/2022, 4:22 PMMultiplatform/Android-V1-SourceSetLayout: Multiplatform/Android-V1-SourceSetLayout is deprecated...
I add it then I get new warnings:
Multiplatform/Android-V2-SourceSetLayout: Usage of 'Android Style' source directory
are there any docs on this new V2 layout. Migration guide perhaps?tylerwilson
12/29/2022, 5:08 PMParvez Qureshi
12/30/2022, 3:00 AMKLiveData
, can anyone give an example ?Shubhasai Mohapatra
12/30/2022, 5:30 AMHakan
12/30/2022, 7:00 AMDataDog
library in iosMain part of the KMM project.
But Somehow I can not import the library into Kotlin file.
Here is the ticket that I opened yesterday.
https://youtrack.jetbrains.com/issue/KT-55687/Can-not-add-DataDog-Dependency-via-CocoaPods-in-Kotlin-Multiplatform-Mobile-Project
I really appreciate if you guide me. Thanks.andylamax
12/30/2022, 7:04 AMElio Maroun
12/30/2022, 10:08 AMVasileios Chroniadis
12/30/2022, 12:51 PMpodPublishDebugXCFramework
it failsSam Gammon
01/01/2023, 2:55 AMnative-image
is supported out of the box.
• 🚀 Trying it out
curl -sSL --tlsv1.2 dl.elide.dev/cli/install.sh | bash -s -
👆 the one liner works on Darwin (amd64/arm64), and Linux (amd64) so far.If you prefer NPX:
npx @elide-dev/elide@alpha shell
K Building Kotlin apps with it
•
Elide can be used as a plain library with a regular Micronaut server, and Ktor support is on the way. There are Maven artifacts in a custom repository which is easy to use during the alpha; you can see a sample here.
• G Gradle plugin
You can easily install the Gradle plugin to build your frontend assets and your Kotlin/JS, and package it into your server binary. It will handle building for SSR and CSR both, so you can easily switch between browser rendering modes. Check it out here. Maven and Bazel support are planned.
• 🖥️ Using the shell
elide shell
drops you into a shell just like Node (see attached screenshot), the difference being the URL
class we're using here is implemented in Kotlin, backed by the road-tested power of Micronaut, KotlinX, Netty, and the Java standard library. It has simply been adapted for use in JavaScript, according to the WhatWG URL Spec.
• js Use Kotlin/JS or regular Node stack
Elide packages and consumes your JS/TS with built-in support for esbuild
, so you can use a standard Node toolchain or the Kotlin/JS stack.
• 💨 Super fast React SSR
Because Elide is basically Kotlin with a super-fast JS runtime attached, it can do JS SSR without leaving the JVM. This can soon be drop-in compatible with many React apps. You can see a live sample here to confirm it is fast and server-rendered. The code for that sample is pasted below to show how simple it is to call back and forth between Kotlin and your React app:
@Page class Index : PageWithProps<YourProps>(YourProps.serializer()) {
// Serve React SSR.
@Get("/") suspend fun indexPage(request: HttpRequest<*>) = ssr(request) { // 1: tell the server we're going to do SSR for this request
head {
title { +"Hello, Elide!" }
stylesheet("/styles/base.css")
stylesheet("/styles/main.css")
script("/scripts/ui.js", defer = true) // <-- 2: serve the CSR bundle so it can hydrate the react SSR response
}
body {
injectSSR(this@Index, request) // <-- 3: execute the JS VM to produce the SSR response, and splice it into the server response
}
}
}
• 🐙 Contributors needed
The future of software is much more polyglot than today's paradigm: developers love to fight about frameworks, but at the end of the day, we're all writing code, and eliminating barriers between languages means easier collaboration and more value for all of us. It shouldn't be a Node vs. The World or a Rust vs. The World argument; we should get to pick and pull the best code we want from anywhere and use it to build our apps, especially from a multi-platform language like Kotlin.
This runtime and framework are designed for that future. *If you agree, join us and make a dent in the universe*; you'll have a chance to be impactful and shape a brave new idea from the ground up.
• 🙏 Thank you
We chose Kotlin because of the fantastic community. 2023 will be a massive year for Kotlin, and we think that betting the farm on it is reasonable and smart. We are super excited about what JetBrains and Kotlin have in store for us with K2, context receivers, value classes... just so much to look forward to.
Cheers and happy new year, Kotlin devs,
K sam
Slack Conversationsdeleuze
01/02/2023, 5:16 PM