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

Add WebAssembly target #334

Merged
merged 22 commits into from
Nov 14, 2023
Merged

Add WebAssembly target #334

merged 22 commits into from
Nov 14, 2023

Conversation

igoriakovlev
Copy link
Contributor

Same implementation as in K/JS but without @JsName annotations

@igoriakovlev igoriakovlev changed the base branch from master to develop August 14, 2023 11:00
atomicfu/build.gradle Outdated Show resolved Hide resolved
@mvicsokolova
Copy link
Collaborator

Could you please also elaborate on the publication process of wasm artifacts?

For now, Deploy build has always been red, as wasm target was published from the separate branch. Is the configuration going to be fixed?

@mvicsokolova
Copy link
Collaborator

Can we also set up a test build of coroutines with the enabled wasm target and atomicfu dependency before merging this, so that we are sure that no transformations are applied, all dependencies are present and all the necessary artefacts are published?

@igoriakovlev
Copy link
Contributor Author

igoriakovlev commented Aug 14, 2023

Could you please also elaborate on the publication process of wasm artifacts?

For now, Deploy build has always been red, as wasm target was published from the separate branch. Is the configuration going to be fixed?

This tests already runs perfectly with your main teamcity configuration. We are going remove that red wasm configuration as soon as this MR will be merged.

@igoriakovlev
Copy link
Contributor Author

Can we also set up a test build of coroutines with the enabled wasm target and atomicfu dependency before merging this, so that we are sure that no transformations are applied, all dependencies are present and all the necessary artefacts are published?

I do not know how to do that. I have already made MR for coroutines and this coroutines branch works perfectly with this Wasm AtomicFU on local machine (using train build). But I dont know how to use this train mode on CI.

@igoriakovlev igoriakovlev force-pushed the wasm_develop branch 2 times, most recently from d9e4fd9 to 8508b5f Compare August 15, 2023 10:07
@mvicsokolova
Copy link
Collaborator

mvicsokolova commented Aug 30, 2023

Could you please add a test project for atomicfu-gradle-plugin, simillar to this JS project test: https://github.com/Kotlin/kotlinx-atomicfu/blob/3a3deb61243d69740fbded19f02472873e6942b9/atomicfu-gradle-plugin/src/test/kotlin/kotlinx/atomicfu/plugin/gradle/test/JsProjectTest.kt

  • to be sure that when the plugin is applied, no transformations are performed, checking that only compile tasks are present
  • to check that atomicfu-wasm dependency is present in both compile and runtime classpath

In overall all the changes look good to me 🙏🏻

@igoriakovlev igoriakovlev force-pushed the wasm_develop branch 2 times, most recently from 1c55c5a to f37bd1d Compare September 21, 2023 17:17
@hfhbd
Copy link

hfhbd commented Nov 4, 2023

Do you also have plans to add wasmWasi?

@fzhinkin
Copy link
Contributor

BTW, should we also update the README to mention the new target there?
@mvicsokolova

@mvicsokolova
Copy link
Collaborator

Rebased the branch on the latest develop branch with Integration tests

@mvicsokolova
Copy link
Collaborator

@hfhbd yes, I've added support of wasmWasi target as well 🙏🏻

@mvicsokolova
Copy link
Collaborator

I've introduced wasmJs and wasmWasi targets in integration tests: they check atomicfu-gradle-plugin application to the mpp project with both wasm targets declared.

For wasm targets atomicfu-gradle-plugin does not perform any transformations, just adds the implementation kotlinx-atomicfu dependency.

@mvicsokolova
Copy link
Collaborator

Mentioned in README that the library provides support of all platforms including Wasm (since Kotlin 1.9.20)

build.gradle Outdated Show resolved Hide resolved
Co-authored-by: Filipp Zhinkin <filipp.zhinkin@gmail.com>
Co-authored-by: Filipp Zhinkin <filipp.zhinkin@gmail.com>
README.md Show resolved Hide resolved
mvicsokolova and others added 2 commits November 13, 2023 15:02
@fzhinkin fzhinkin self-requested a review November 14, 2023 14:32
@mvicsokolova mvicsokolova merged commit 5fe6c0d into develop Nov 14, 2023
1 check passed
@mvicsokolova mvicsokolova deleted the wasm_develop branch November 14, 2023 16:15
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.

6 participants