Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Wasm target implementation #3849

Merged
merged 1 commit into from
Dec 1, 2023
Merged

Wasm target implementation #3849

merged 1 commit into from
Dec 1, 2023

Conversation

igoriakovlev
Copy link
Contributor

@igoriakovlev igoriakovlev commented Aug 14, 2023

This is Kotlin/Wasm/JS target implementation for kotlinx.corourines. Mostly this is a port of Kotlin/JS implementation with wasm-related changes, like Kotlin <-> JS interop.

There is dependency to intermediate version to AtomicFU which is not published yet officially into repository. This is why we need atomicFU bootstrap version 0.21.0-wasm0 in wasm experimental repo.

There a lit of similar code with JS and Native implementations. I have tried my best to combine this code into separate shared directory, but there is some number of copy-pasted code for now which is similar but not the same. I look forward to hear possible solutions to avoid this.

Dokka documentation apparently generates links that point to a branch different from master, because adding similar, but not equal declarations for several targets makes different links, which is not exists in current master.

Copy link
Collaborator

@qwwdfsad qwwdfsad left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please provide a detailed description of the PR as one would do for other Kotlin subsystems:

  • Briefly explain what exactly is done in the scope of the PR
    • Including new targets, publication structure and what is left to do
  • If the code has any explicit or implicit TODOs or leftovers, please spell them out
  • If the PR contains any non-trivial parts that are hard to understand without diving too deep -- please explain them
    • Example 1: PR is red on the CI, cannot be built or imported. Nothing in the PR indicates why so and when should we proceed
    • Example 2: PR has some number of copy-pasted code (which is twice the maintenance and divergence bugs) but no explanation why so and whether there is anything that prevents us from avoiding doing so
    • Example 3: there are innocuously-looking tests that are ignored without any explanation
    • Example 4: Dokka documentation apparently generates links that point to a branch different from master?

README.md Show resolved Hide resolved
build.gradle Outdated Show resolved Hide resolved
build.gradle Show resolved Hide resolved
gradle/compile-wasm-multiplatform.gradle Outdated Show resolved Hide resolved
kotlinx-coroutines-core/build.gradle Outdated Show resolved Hide resolved
kotlinx-coroutines-core/build.gradle Outdated Show resolved Hide resolved
kotlinx-coroutines-core/wasm/src/Promise.kt Outdated Show resolved Hide resolved
build.gradle Outdated Show resolved Hide resolved
build.gradle Show resolved Hide resolved
build.gradle Outdated Show resolved Hide resolved
gradle/dokka.gradle.kts Outdated Show resolved Hide resolved
gradle/compile-wasm-multiplatform.gradle Outdated Show resolved Hide resolved
kotlinx-coroutines-core/wasmJs/src/CoroutineContext.kt Outdated Show resolved Hide resolved
kotlinx-coroutines-core/wasmJs/src/CoroutineContext.kt Outdated Show resolved Hide resolved
kotlinx-coroutines-core/wasmJs/src/JSDispatcher.kt Outdated Show resolved Hide resolved
kotlinx-coroutines-core/wasmJs/src/Promise.kt Outdated Show resolved Hide resolved
kotlinx-coroutines-test/build.gradle.kts Show resolved Hide resolved
@qwwdfsad qwwdfsad self-requested a review September 14, 2023 11:52
Copy link
Collaborator

@qwwdfsad qwwdfsad left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Almost there.

There are a few comments left, and I believe that's it.
Then I'll tweak stuff here and there (mostly our specific documentation and build scripts) and will merge it the moment atomicfu is released

Copy link
Collaborator

@qwwdfsad qwwdfsad left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, tremendous job

@qwwdfsad qwwdfsad merged commit 85afa72 into develop Dec 1, 2023
@qwwdfsad qwwdfsad deleted the wasm_develop branch December 1, 2023 12:57
woainikk added a commit that referenced this pull request Dec 4, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants