Reticulum-Go/taskfiles/examples.yml

112 lines
3.3 KiB
YAML

version: '3'
tasks:
"example:wasm:build":
desc: Build WebAssembly example
env:
CGO_ENABLED: '0'
GOFLAGS: -mod=vendor
GOPROXY: 'off'
cmds:
- mkdir -p examples/wasm/public/static examples/wasm/public/js
- 'cd examples/wasm && GOOS=js GOARCH=wasm {{.GOCMD}} build -o public/static/reticulum-go.wasm .'
- |
GOROOT=$({{.GOCMD}} env GOROOT)
if [ -f "$GOROOT/lib/wasm/wasm_exec.js" ]; then
cp "$GOROOT/lib/wasm/wasm_exec.js" examples/wasm/public/js/
echo "wasm_exec.js copied successfully from $GOROOT/lib/wasm/"
elif [ -f "$GOROOT/misc/wasm/wasm_exec.js" ]; then
cp "$GOROOT/misc/wasm/wasm_exec.js" examples/wasm/public/js/
echo "wasm_exec.js copied successfully from $GOROOT/misc/wasm/"
else
echo "Warning: wasm_exec.js not found"
exit 1
fi
"example:wasm:run":
desc: Run WebAssembly example using a simple HTTP server
deps: ["example:wasm:build"]
cmds:
- echo "Starting server at http://localhost:8080"
- echo "Press Ctrl+C to stop"
- 'cd examples/wasm/public && python3 -m http.server 8080'
"example:wasm:test":
desc: Run tests for WASM example
cmds:
- task: test-wasm
"example:pageserver:build":
desc: Build pageserver example with vendored deps (release-style)
dir: examples/pageserver
env:
CGO_ENABLED: '0'
GOFLAGS: -mod=vendor
GOPROXY: 'off'
cmds:
- '{{.GOCMD}} build -ldflags="-s -w" -o example-pageserver .'
"example:pageserver":
desc: Run Go pageserver example (default)
dir: examples/pageserver
cmds:
- |
if [ ! -x ../../bin/reticulum-go ]; then
task -d ../.. build
fi
- ../../bin/reticulum-go pageserver {{.CLI_ARGS}}
"example:pageserver:go":
desc: Run Go pageserver example
cmds:
- task: example:pageserver
"example:pageserver:c":
desc: Build and run C librns pageserver
cmds:
- make -C bindings/c/examples/pageserver run ARGS='{{.CLI_ARGS}}'
"example:pageserver:odin":
desc: Build and run Odin librns pageserver
cmds:
- make -C bindings/odin/examples/pageserver run ARGS='{{.CLI_ARGS}}'
"example:pageserver:zig":
desc: Build and run Zig librns pageserver
cmds:
- make -C bindings/zig/examples/pageserver run ARGS='{{.CLI_ARGS}}'
"example:pageserver:cpp":
desc: Build and run C++ librns pageserver
cmds:
- make -C bindings/cpp/examples/pageserver run ARGS='{{.CLI_ARGS}}'
"example:pageserver:rust":
desc: Build and run Rust librns pageserver
cmds:
- make -C bindings/rust/examples/pageserver
"example:pageserver:python":
desc: Compile-check Python librns pageserver
cmds:
- make -C bindings/python/examples/pageserver
"example:pageserver:lua":
desc: Syntax-check Lua librns pageserver
cmds:
- make -C bindings/lua/examples/pageserver
"example:pageserver:swift":
desc: Build Swift librns pageserver
cmds:
- make -C bindings/swift/examples/pageserver
"example:pageserver:java":
desc: Compile-check Java librns pageserver
cmds:
- make -C bindings/java/examples/pageserver
"example:pageserver:kotlin":
desc: Compile-check Kotlin librns pageserver
cmds:
- make -C bindings/kotlin/examples/pageserver