43 lines
1.4 KiB
Plaintext
43 lines
1.4 KiB
Plaintext
defaultName = "wasmconv"
|
|
defaultTarget = "serve_dev"
|
|
|
|
def wasmconv_serve_dev():
|
|
shell.Exec("go run . -dev")
|
|
|
|
def wasmconv_dist():
|
|
distDir = "dist"
|
|
|
|
if file.Exists(distDir):
|
|
log.Warn("Found existing dist dir, replacing")
|
|
shell.Exec("rm -r " + distDir)
|
|
|
|
log.Info("Finding wasm_exec.js")
|
|
GOROOT = shell.Exec("go env GOROOT", output='return')
|
|
GOROOT = strings.TrimSpace(GOROOT)
|
|
WasmExecPath = GOROOT + "/misc/wasm/wasm_exec.js"
|
|
if not file.Exists(WasmExecPath):
|
|
log.Fatal("File wasm_exec.js not found")
|
|
log.Info("Found wasm_exec.js at " + WasmExecPath)
|
|
shell.Exec("mkdir " + distDir)
|
|
shell.Exec(fmt.Sprintf("cp -v %s %s/wasm_exec.js", WasmExecPath, distDir))
|
|
|
|
if shell.LookPath("vugugen") == -1:
|
|
log.Info("Command `vugugen` not found, installing")
|
|
shell.Exec("github.com/vugu/vugu/cmd/vugugen")
|
|
|
|
log.Info("Generating code and building wasm")
|
|
shell.Exec(fmt.Sprintf("""
|
|
go generate .
|
|
env GOOS=js GOARCH=wasm go build -o %s/main.wasm
|
|
""", distDir))
|
|
|
|
log.Info("Copying static assets")
|
|
shell.Exec("cp -rv assets/* " + distDir)
|
|
|
|
log.Info("Building server executables")
|
|
shell.Exec(fmt.Sprintf("""
|
|
env GOOS=linux GOARCH=amd64 go build -o %s/server-linux-x86_64
|
|
env GOOS=linux GOARCH=arm64 go build -o %s/server-linux-aarch64
|
|
""", distDir, distDir))
|
|
|
|
log.Info("Dist complete") |