forked from Archive/PX4-Autopilot
metadata: run json schema validation for actuators + parameter metadata
This commit is contained in:
parent
2809dd8944
commit
312d84ca23
|
@ -5,6 +5,7 @@ https://json-schema.org/"""
|
||||||
import argparse
|
import argparse
|
||||||
import sys
|
import sys
|
||||||
import json
|
import json
|
||||||
|
import os
|
||||||
|
|
||||||
try:
|
try:
|
||||||
from jsonschema import validate
|
from jsonschema import validate
|
||||||
|
@ -21,6 +22,8 @@ parser = argparse.ArgumentParser(description='Validate JSON file(s) against a sc
|
||||||
parser.add_argument('json_file', nargs='+', help='JSON config file(s)')
|
parser.add_argument('json_file', nargs='+', help='JSON config file(s)')
|
||||||
parser.add_argument('--schema-file', type=str, action='store',
|
parser.add_argument('--schema-file', type=str, action='store',
|
||||||
help='JSON schema file', required=True)
|
help='JSON schema file', required=True)
|
||||||
|
parser.add_argument('--skip-if-no-schema', dest='skip_if_no_schema', action='store_true',
|
||||||
|
help='Skip test if schema file does not exist')
|
||||||
parser.add_argument('-v', '--verbose', dest='verbose', action='store_true',
|
parser.add_argument('-v', '--verbose', dest='verbose', action='store_true',
|
||||||
help='Verbose Output')
|
help='Verbose Output')
|
||||||
|
|
||||||
|
@ -29,6 +32,9 @@ schema_file = args.schema_file
|
||||||
json_files = args.json_file
|
json_files = args.json_file
|
||||||
verbose = args.verbose
|
verbose = args.verbose
|
||||||
|
|
||||||
|
if args.skip_if_no_schema and not os.path.isfile(schema_file):
|
||||||
|
sys.exit(0)
|
||||||
|
|
||||||
# load the schema
|
# load the schema
|
||||||
with open(schema_file, 'r') as stream:
|
with open(schema_file, 'r') as stream:
|
||||||
schema = json.load(stream)
|
schema = json.load(stream)
|
||||||
|
|
|
@ -46,6 +46,11 @@ add_custom_command(OUTPUT ${generated_actuators_metadata_file}
|
||||||
--compress
|
--compress
|
||||||
--board ${PX4_BOARD}
|
--board ${PX4_BOARD}
|
||||||
--output-file ${generated_actuators_metadata_file}
|
--output-file ${generated_actuators_metadata_file}
|
||||||
|
COMMAND ${PYTHON_EXECUTABLE} ${PX4_SOURCE_DIR}/Tools/validate_json.py
|
||||||
|
--schema-file ${PX4_SOURCE_DIR}/src/modules/mavlink/mavlink/component_information/actuators.schema.json
|
||||||
|
${generated_actuators_metadata_file}
|
||||||
|
--skip-if-no-schema # mavlink submodule might not exist for current target if built in CI
|
||||||
|
#--verbose
|
||||||
DEPENDS
|
DEPENDS
|
||||||
${module_config_files}
|
${module_config_files}
|
||||||
${PX4_SOURCE_DIR}/Tools/module_config/generate_actuators_metadata.py
|
${PX4_SOURCE_DIR}/Tools/module_config/generate_actuators_metadata.py
|
||||||
|
|
|
@ -117,6 +117,11 @@ add_custom_command(OUTPUT ${parameters_xml} ${parameters_json} ${parameters_json
|
||||||
--overrides ${PARAM_DEFAULT_OVERRIDES}
|
--overrides ${PARAM_DEFAULT_OVERRIDES}
|
||||||
--board ${PX4_BOARD}
|
--board ${PX4_BOARD}
|
||||||
#--verbose
|
#--verbose
|
||||||
|
COMMAND ${PYTHON_EXECUTABLE} ${PX4_SOURCE_DIR}/Tools/validate_json.py
|
||||||
|
--schema-file ${PX4_SOURCE_DIR}/src/modules/mavlink/mavlink/component_information/parameter.schema.json
|
||||||
|
${parameters_json}
|
||||||
|
--skip-if-no-schema # mavlink submodule might not exist for current target if built in CI
|
||||||
|
#--verbose
|
||||||
DEPENDS
|
DEPENDS
|
||||||
${param_src_files}
|
${param_src_files}
|
||||||
${generated_serial_params_file}
|
${generated_serial_params_file}
|
||||||
|
|
Loading…
Reference in New Issue