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