Open nascentcore-eng opened 1 year ago
We have thought about this, the quick conclusion at this point is that using bazel to build WASM code is not as good as using shell tooling.
The reason is that these code is developed by different teams from different organizations. Which means the porting cost from them to bazel becomes very costly.
On the other hand, from an organizational perspective, the owner of their WASM code would have reservation of adopting Bazel (since it's costly for Tricorder team to fully own that).
A more ambitious direction is for Tricorder to implement compiler and toolchain, which embodies our own preference, and works the best in Tricorder's own ecosystem, and offer that to the community, so that we might have an easier time to integration bazel (or some other build system).
Currently we done it through Makefile with wasi CPP https://github.com/tricorder-observability/starship/blob/main/src/agent/wasm/testdata/pico/Makefile Using local machine's wasi sdk toolchain: https://github.com/WebAssembly/wasi-sdk
https://fossies.org/linux/envoy/bazel/wasm/wasm.bzl https://hackernoon.com/c-to-webassembly-using-bazel-and-emscripten-4him3ymc
Consider use
cmd_bash
ofgenrule
.