code wiki / _hdl_build / nx_presubmit.nx

nx_presubmit.nx source

↩ module page · 21 lines · 910 B

1// nx_presubmit.nx -- CLI for the pre-submit correctness guard. usage: nx_presubmit <organ-name> [hdl] [runtime] 2// exit 0 FREE (create it) | 4 EXISTS-in-hdl_build (edit, don't create) | 3 SHADOW/DUAL risk (rename or edit). 3// license_tier: ORIGINAL 4import "nx_presubmit_lib.nx" 5 6const PS_OUTBUF: i64 = 1024 // verdict JSON buffer (rule 11: named, not inline) 7 8func main(argc: i64, argv: *i64) -> i64 { 9 if argc < 2 { es_puts("usage: nx_presubmit <organ-name> [hdl-dir] [runtime-dir]\n" as *u8); sys_exit(2); return 2 } 10 let name: *u8 = argv[1] as *u8 11 var hdl: *u8 = "buildroot/runtime/_hdl_build" as *u8 12 var rt: *u8 = "buildroot/runtime" as *u8 13 if argc >= 3 { hdl = argv[2] as *u8 } 14 if argc >= 4 { rt = argv[3] as *u8 } 15 let out: *u8 = sys_mmap(PS_OUTBUF) 16 let rc: i64 = ps_check(name, hdl, rt, out) 17 es_puts(out) 18 es_puts("\n" as *u8) 19 sys_exit(rc) 20 return rc 21}