收紧TRSRN资产清单校验
This commit is contained in:
@@ -363,6 +363,14 @@ validate_generator_cli_contract() {
|
||||
local cli_manifest_with_unused_postgui
|
||||
local cli_manifest_with_unused_remap
|
||||
local cli_manifest_with_unused_tooldata
|
||||
local cli_trsrn_manifest
|
||||
local cli_trsrn_without_g531_asset
|
||||
local cli_trsrn_without_g69_asset
|
||||
local cli_trsrn_without_halcmd_asset
|
||||
local cli_trsrn_without_halcmd_import_asset
|
||||
local cli_trsrn_without_on_abort_asset
|
||||
local cli_trsrn_without_python_import_asset
|
||||
local cli_trsrn_without_python_toplevel_asset
|
||||
local cli_manifest_without_ini
|
||||
local cli_manifest_without_hal
|
||||
local cli_manifest_without_postgui
|
||||
@@ -380,6 +388,14 @@ validate_generator_cli_contract() {
|
||||
cli_manifest_with_unused_postgui="$cli_dir/bridgemill-manifest-with-unused-postgui.txt"
|
||||
cli_manifest_with_unused_remap="$cli_dir/bridgemill-manifest-with-unused-remap.txt"
|
||||
cli_manifest_with_unused_tooldata="$cli_dir/bridgemill-manifest-with-unused-tooldata.txt"
|
||||
cli_trsrn_manifest="$cli_dir/trsrn-manifest.txt"
|
||||
cli_trsrn_without_g531_asset="$cli_dir/trsrn-manifest-without-g531-asset.txt"
|
||||
cli_trsrn_without_g69_asset="$cli_dir/trsrn-manifest-without-g69-asset.txt"
|
||||
cli_trsrn_without_halcmd_asset="$cli_dir/trsrn-manifest-without-halcmd-asset.txt"
|
||||
cli_trsrn_without_halcmd_import_asset="$cli_dir/trsrn-manifest-without-halcmd-import-asset.txt"
|
||||
cli_trsrn_without_on_abort_asset="$cli_dir/trsrn-manifest-without-on-abort-asset.txt"
|
||||
cli_trsrn_without_python_import_asset="$cli_dir/trsrn-manifest-without-python-import-asset.txt"
|
||||
cli_trsrn_without_python_toplevel_asset="$cli_dir/trsrn-manifest-without-python-toplevel-asset.txt"
|
||||
cli_manifest_without_ini="$cli_dir/bridgemill-manifest-without-ini.txt"
|
||||
cli_manifest_without_hal="$cli_dir/bridgemill-manifest-without-hal.txt"
|
||||
cli_manifest_without_postgui="$cli_dir/bridgemill-manifest-without-postgui.txt"
|
||||
@@ -549,6 +565,118 @@ validate_generator_cli_contract() {
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! awk -F: -v manifest="$manifest_file" '
|
||||
function require(key) {
|
||||
expected[++expected_count] = key
|
||||
expected_keys[key] = 1
|
||||
}
|
||||
BEGIN {
|
||||
require("config:configs/sim/axis/vismach/5axis/table-rotary_spindle-rotary-nutating/xyzacb-trsrn_twp/xyzacb-trsrn.ini")
|
||||
require("config:configs/sim/axis/vismach/5axis/table-rotary_spindle-rotary-nutating/xyzacb-trsrn_twp/xyzacb-trsrn_postgui.hal")
|
||||
require("config:configs/sim/axis/vismach/5axis/table-rotary_spindle-rotary-nutating/xyzbca-trsrn_twp/xyzbca-trsrn.ini")
|
||||
require("config:configs/sim/axis/vismach/5axis/table-rotary_spindle-rotary-nutating/xyzbca-trsrn_twp/xyzbca-trsrn_postgui.hal")
|
||||
require("remap:configs/sim/axis/vismach/5axis/table-rotary_spindle-rotary-nutating/remap_subs/428remap.ngc")
|
||||
require("remap:configs/sim/axis/vismach/5axis/table-rotary_spindle-rotary-nutating/remap_subs/429remap.ngc")
|
||||
require("remap:configs/sim/axis/vismach/5axis/table-rotary_spindle-rotary-nutating/remap_subs/430remap.ngc")
|
||||
require("tooldata:configs/sim/axis/vismach/5axis/table-rotary_spindle-rotary-nutating/xyzacb-trsrn_twp/xyzacb-trsrn.tbl")
|
||||
require("tooldata:configs/sim/axis/vismach/5axis/table-rotary_spindle-rotary-nutating/xyzbca-trsrn_twp/xyzbca-trsrn.tbl")
|
||||
require("asset:configs/sim/axis/vismach/5axis/table-rotary_spindle-rotary-nutating/python/remap.py")
|
||||
require("asset:configs/sim/axis/vismach/5axis/table-rotary_spindle-rotary-nutating/python/toplevel.py")
|
||||
require("asset:configs/sim/axis/vismach/5axis/table-rotary_spindle-rotary-nutating/python/twp-helper-comp.py")
|
||||
require("asset:configs/sim/axis/vismach/5axis/table-rotary_spindle-rotary-nutating/python/util.py")
|
||||
require("asset:configs/sim/axis/vismach/5axis/table-rotary_spindle-rotary-nutating/remap_subs/g531remap.ngc")
|
||||
require("asset:configs/sim/axis/vismach/5axis/table-rotary_spindle-rotary-nutating/remap_subs/g533remap.ngc")
|
||||
require("asset:configs/sim/axis/vismach/5axis/table-rotary_spindle-rotary-nutating/remap_subs/g536remap.ngc")
|
||||
require("asset:configs/sim/axis/vismach/5axis/table-rotary_spindle-rotary-nutating/remap_subs/g69remap.ngc")
|
||||
require("asset:configs/sim/axis/vismach/5axis/table-rotary_spindle-rotary-nutating/remap_subs/on_abort_no_twp_reset.ngc")
|
||||
require("asset:configs/sim/axis/vismach/5axis/table-rotary_spindle-rotary-nutating/remap_subs/on_abort_with_twp_reset.ngc")
|
||||
require("asset:configs/sim/axis/vismach/5axis/table-rotary_spindle-rotary-nutating/vismach/twp_vismach.py")
|
||||
require("asset:configs/sim/axis/vismach/5axis/table-rotary_spindle-rotary-nutating/vismach/xyzacb-trsrn-gui.py")
|
||||
require("asset:configs/sim/axis/vismach/5axis/table-rotary_spindle-rotary-nutating/vismach/xyzbca-trsrn-gui.py")
|
||||
}
|
||||
{
|
||||
key = $1 ":" $2
|
||||
if (key in expected_keys) {
|
||||
if (key in manifest_line) {
|
||||
print "duplicate TRSRN switchkins source in " manifest ": " key > "/dev/stderr"
|
||||
duplicate = 1
|
||||
}
|
||||
manifest_line[key] = $0
|
||||
}
|
||||
}
|
||||
END {
|
||||
missing = 0
|
||||
for (expected_index = 1; expected_index <= expected_count; expected_index++) {
|
||||
key = expected[expected_index]
|
||||
if (!(key in manifest_line)) {
|
||||
print "TRSRN switchkins source is not listed in " manifest ": " key > "/dev/stderr"
|
||||
missing = 1
|
||||
continue
|
||||
}
|
||||
print manifest_line[key]
|
||||
}
|
||||
exit missing || duplicate
|
||||
}
|
||||
' "$manifest_file" >"$cli_trsrn_manifest"; then
|
||||
exit 1
|
||||
fi
|
||||
grep -Fv \
|
||||
'asset:configs/sim/axis/vismach/5axis/table-rotary_spindle-rotary-nutating/python/toplevel.py:' \
|
||||
"$cli_trsrn_manifest" >"$cli_trsrn_without_python_toplevel_asset"
|
||||
if LINUXCNC_ROOT="$linuxcnc_root" ./generate-linuxcnc-switchkins-remap-table.sh \
|
||||
"$cli_trsrn_without_python_toplevel_asset" >/dev/null 2>&1; then
|
||||
echo "switchkins remap generator accepted manifest missing LinuxCNC PYTHON TOPLEVEL asset source" >&2
|
||||
exit 1
|
||||
fi
|
||||
grep -Fv \
|
||||
'asset:configs/sim/axis/vismach/5axis/table-rotary_spindle-rotary-nutating/python/util.py:' \
|
||||
"$cli_trsrn_manifest" >"$cli_trsrn_without_python_import_asset"
|
||||
if LINUXCNC_ROOT="$linuxcnc_root" ./generate-linuxcnc-switchkins-remap-table.sh \
|
||||
"$cli_trsrn_without_python_import_asset" >/dev/null 2>&1; then
|
||||
echo "switchkins remap generator accepted manifest missing LinuxCNC Python import asset source" >&2
|
||||
exit 1
|
||||
fi
|
||||
grep -Fv \
|
||||
'asset:configs/sim/axis/vismach/5axis/table-rotary_spindle-rotary-nutating/python/twp-helper-comp.py:' \
|
||||
"$cli_trsrn_manifest" >"$cli_trsrn_without_halcmd_asset"
|
||||
if LINUXCNC_ROOT="$linuxcnc_root" ./generate-linuxcnc-switchkins-remap-table.sh \
|
||||
"$cli_trsrn_without_halcmd_asset" >/dev/null 2>&1; then
|
||||
echo "switchkins remap generator accepted manifest missing LinuxCNC HALCMD loadusr asset source" >&2
|
||||
exit 1
|
||||
fi
|
||||
grep -Fv \
|
||||
'asset:configs/sim/axis/vismach/5axis/table-rotary_spindle-rotary-nutating/vismach/twp_vismach.py:' \
|
||||
"$cli_trsrn_manifest" >"$cli_trsrn_without_halcmd_import_asset"
|
||||
if LINUXCNC_ROOT="$linuxcnc_root" ./generate-linuxcnc-switchkins-remap-table.sh \
|
||||
"$cli_trsrn_without_halcmd_import_asset" >/dev/null 2>&1; then
|
||||
echo "switchkins remap generator accepted manifest missing LinuxCNC HALCMD Python import asset source" >&2
|
||||
exit 1
|
||||
fi
|
||||
grep -Fv \
|
||||
'asset:configs/sim/axis/vismach/5axis/table-rotary_spindle-rotary-nutating/remap_subs/g531remap.ngc:' \
|
||||
"$cli_trsrn_manifest" >"$cli_trsrn_without_g531_asset"
|
||||
if LINUXCNC_ROOT="$linuxcnc_root" ./generate-linuxcnc-switchkins-remap-table.sh \
|
||||
"$cli_trsrn_without_g531_asset" >/dev/null 2>&1; then
|
||||
echo "switchkins remap generator accepted manifest missing LinuxCNC G53.1 remap asset source" >&2
|
||||
exit 1
|
||||
fi
|
||||
grep -Fv \
|
||||
'asset:configs/sim/axis/vismach/5axis/table-rotary_spindle-rotary-nutating/remap_subs/g69remap.ngc:' \
|
||||
"$cli_trsrn_manifest" >"$cli_trsrn_without_g69_asset"
|
||||
if LINUXCNC_ROOT="$linuxcnc_root" ./generate-linuxcnc-switchkins-remap-table.sh \
|
||||
"$cli_trsrn_without_g69_asset" >/dev/null 2>&1; then
|
||||
echo "switchkins remap generator accepted manifest missing LinuxCNC G69 remap asset source" >&2
|
||||
exit 1
|
||||
fi
|
||||
grep -Fv \
|
||||
'asset:configs/sim/axis/vismach/5axis/table-rotary_spindle-rotary-nutating/remap_subs/on_abort_no_twp_reset.ngc:' \
|
||||
"$cli_trsrn_manifest" >"$cli_trsrn_without_on_abort_asset"
|
||||
if LINUXCNC_ROOT="$linuxcnc_root" ./generate-linuxcnc-switchkins-remap-table.sh \
|
||||
"$cli_trsrn_without_on_abort_asset" >/dev/null 2>&1; then
|
||||
echo "switchkins remap generator accepted manifest missing LinuxCNC ON_ABORT_COMMAND asset source" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LINUXCNC_ROOT="$linuxcnc_root" ./generate-linuxcnc-switchkins-remap-table.sh --all-output-dir "$cli_dir/out" "$cli_manifest"
|
||||
LINUXCNC_ROOT="$linuxcnc_root" ./generate-linuxcnc-switchkins-remap-table.sh "$cli_manifest" \
|
||||
>"$cli_dir/linuxcnc_switchkins_remap_table.stdout.inc"
|
||||
|
||||
Reference in New Issue
Block a user