From c6072ab5ea81b5ff9f7d296abe3840b0d15cefcb Mon Sep 17 00:00:00 2001 From: Keyvan Fatehi Date: Sun, 19 Feb 2023 17:17:05 -0800 Subject: [PATCH] deal with collision by annotating https://github.com/capnproto/go-capnproto2/issues/457 --- .gitmodules | 3 +++ compile.sh | 13 ++++++++++--- go-capnproto2 | 1 + 3 files changed, 14 insertions(+), 3 deletions(-) create mode 160000 go-capnproto2 diff --git a/.gitmodules b/.gitmodules index ba7d5e2..060a3af 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,6 @@ [submodule "cereal"] path = cereal url = https://github.com/commaai/cereal.git +[submodule "go-capnproto2"] + path = go-capnproto2 + url = https://github.com/capnproto/go-capnproto2.git diff --git a/compile.sh b/compile.sh index 04b1cba..e39ab7e 100755 --- a/compile.sh +++ b/compile.sh @@ -11,11 +11,18 @@ for f in ../../*.capnp; do echo "using Go = import \"/go.capnp\";" > $out echo "\$Go.package(\"cereal\");" >> $out echo "\$Go.import(\"cereal\");" >> $out - cat $f | grep -v 'c++.capnp' | grep -v '$Cxx.namespace' >> $out + cat $f |\ + # Remove the C++ imports + grep -v 'c++.capnp' | grep -v '$Cxx.namespace' |\ + # Avoid collisions by annotating + sed 's/message @6 :Text;/message @6 :Text $Go.name("text");/'\ + >> $out done -go install capnproto.org/go/capnp/v3/capnpc-go@latest -capnp compile -I$(go env GOPATH)/src/capnproto.org/go/capnp/std -o go:../../gen/go *.capnp +# go install capnproto.org/go/capnp/v3/capnpc-go@latest +# capnp compile -I$(go env GOPATH)/src/capnproto.org/go/capnp/std -o go:../../gen/go *.capnp +capnp compile -I../../../go-capnproto2/std -o go:../../gen/go *.capnp popd # leave ./tmp/go +rm -rf tmp ## Services diff --git a/go-capnproto2 b/go-capnproto2 new file mode 160000 index 0000000..285a677 --- /dev/null +++ b/go-capnproto2 @@ -0,0 +1 @@ +Subproject commit 285a6770570e481c6e70743047af1c60ea21b6d8