mirror of
https://github.com/Telecominfraproject/ols-ucentral-schema.git
synced 2025-10-30 01:32:26 +00:00
- Rewrite generator code to support tracking location and all schema errors in generated reader code - Improve validation error messages - Remove further dead code Signed-off-by: Jo-Philipp Wich <jo@mein.io>
40 lines
892 B
Bash
Executable File
40 lines
892 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
./generate-reader.uc > schemareader.uc
|
|
if [ -n "$1" ]; then
|
|
cp $1 input.json
|
|
else
|
|
./generate-example.uc > input.json
|
|
fi
|
|
ucode -s '{%
|
|
push(REQUIRE_SEARCH_PATH,
|
|
"/usr/local/lib/ucode/*.so",
|
|
"tests/lib/*.uc",
|
|
"renderer/*.uc");
|
|
|
|
let mocklib = require("mocklib");
|
|
let fs = mocklib.require("fs");
|
|
|
|
let schemareader = require("schemareader");
|
|
let renderer = require("renderer");
|
|
|
|
let inputfile = fs.open("./input.json", "r");
|
|
let inputjson = json(inputfile.read("all"));
|
|
|
|
inputfile.close();
|
|
|
|
try {
|
|
let logs = [];
|
|
|
|
let state = schemareader.validate(inputjson, logs);
|
|
let batch = state ? renderer.render(state, logs) : "";
|
|
|
|
fs.stdout.write("Log messages:\n" + join("\n", logs) + "\n\n");
|
|
|
|
fs.stdout.write("UCI batch output:\n" + batch + "\n");
|
|
}
|
|
catch (e) {
|
|
warn("Fatal error while generating UCI: ", e, "\n", e.stacktrace[0].context, "\n");
|
|
}
|
|
%}'
|