wasmCloud / interfaces

Deprecated: wasmCloud API interfaces: smithy IDLs and shared libraries
https://wasmcloud.github.io/interfaces/
Apache License 2.0
34 stars 22 forks source link

Core Go Module #92

Closed jordan-rash closed 1 year ago

jordan-rash commented 2 years ago

This is the initial work for making core a go module so that we can use it in a actor/provider sdk. This will break the current actor-tinygo, but a PR from that will be coming as well.

wasmcloud/actor-tinygo#9

Signed-off-by: Jordan Rash 15827604+jordan-rash@users.noreply.github.com

stevelr commented 2 years ago

@jordan-rash I can fix this in the code generator ...

stevelr commented 2 years ago

code generator patch to generate json struct tags: https://github.com/wasmCloud/weld/pull/118

stevelr commented 2 years ago

updated interfaces with weld-codegen 0..5.1 https://github.com/wasmCloud/interfaces/pull/93

jordan-rash commented 2 years ago

Commit 2b6cbfe would deprecate wasmcloud/actor-tinygo. It moves the code generation and supporting files into interfaces.
The only other option is to move everything into actor-tinygo and do code generation there (which wouldnt be the worst, we could do it in the actions). What is the preferred approach? From the end users perspective, the only difference would be what library they are importing for actor development (github.com/wasmcloud/actor-tinygo vs github.com/wasmcloud/interfaces/actor/tinygo)

There are some changes to the code generation that would have to change before this is merged (addressing the imports). I have manually tested it on the other interfaces as well...appears to not break anything.

jordan-rash commented 2 years ago

Option 3 is that we create an sdk repo and place it there since the provider sdk is inbound as well. So the approaches are,

  1. do we want a single repo with all the sdks?
  2. do we want separate repos for the sdks?
  3. do we want the sdks to be inported from wasmcloud/interfaces?

The only thing that feels a little weird is that the wasmbus-rpc crate is whats providing similar capabilities to rust actors/providers...so how do we make things feel cohesive?

jordan-rash commented 2 years ago

This example has been updated to work with this version on the interface lib https://github.com/jordan-rash/wasmcloud-chat

brooksmtownsend commented 1 year ago

@jordan-rash closing since it's been a while, does this still need to merge?

jordan-rash commented 1 year ago

Ehh, it does, but so much has changed, that code probably isn't any good anymore. I think all the go projects pull from a dev branch 😬