automerge / automerge-go

MIT License
98 stars 6 forks source link

generate/gen.go not found #4

Closed cristaloleg closed 1 year ago

cristaloleg commented 1 year ago

Hi, currently it's not possible to generate cgo bindigs:

$ go generate
stat generate/gen.go: no such file or directory
cgo.go:3: running "go": exit status 1

Looks like the tool wasn't committed to the repo.

Thanks.

ConradIrwin commented 1 year ago

Sorry about that!

I moved the tool to deps/generate/gen.go to tidy up the root directory (it just outputs https://github.com/automerge/automerge-go/blob/main/cgo.go#L21-L41, and it is not very clever about it).

I am in the middle of working on a rewrite to use a rewrite of automerge's c library (https://github.com/automerge/automerge/pull/530). This should not change the public API at all, but it will mean that the generate command is no longer needed, as we can use the new AMitemToX functions instead.

Out of interest, what are you trying to do with automerge-go, is there anything that I could help improve about the library?

cristaloleg commented 1 year ago

Oh, I missed this file in deps folder 😬 Fixed in #5

Out of interest, what are you trying to do with automerge-go, is there anything that I could help improve about the library?

I was surfing over my bookmarks and found automerge v2 release and was curious how Go package looks like (and found that something is missing). I don't have a a well defined goal to use automerge but I'm somewhat curious to write it in pure Go (without CGO bindings).

But probably that's a thing that should be discussed by the automerge team first.

(also I've few idea how Go API can be improved, maybe I will try to make PoC and we will see how it goes).

ConradIrwin commented 1 year ago

Great!

I don't think anyone's depending on this yet, so PR's welcome :D.

Feel free to join us in Slack: https://join.slack.com/t/automerge/shared_invite/zt-e4p3760n-kKh7r3KRH1YwwNfiZM8ktw.

I have some debug code that implements a mostly complete parser for the file format (though not re-usable in anyway, could be a start for trying a pure go version). I'll try and push it up for you this evening