File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -12,6 +12,7 @@ REPO_DIR="$( cd "${SCRIPT_DIR}/.." && pwd )"
1212
1313SCHEMA_YAML=${1:- BAD}
1414YAML_DIR=${2:- BAD}
15+ REF_SCHEMA_YAML=${3:- }
1516if [ " ${SCHEMA_YAML} " = " BAD" ]; then
1617 echo " ERROR: schema file not specified"
1718 echo " Usage: $0 <schema.yaml> <target_dir>"
@@ -29,6 +30,11 @@ if [ ! -f "${SCHEMA_YAML}" ]; then
2930 exit 1
3031fi
3132
33+ if [ -n " ${REF_SCHEMA_YAML} " ] && [ ! -f " ${REF_SCHEMA_YAML} " ]; then
34+ echo " ERROR: ref schema file not found: ${REF_SCHEMA_YAML} "
35+ exit 1
36+ fi
37+
3238# check that ajv is installed
3339if ! command -v ajv > /dev/null; then
3440 echo " ERROR: ajv is not installed: try 'npm install -g ajv-cli'"
@@ -39,11 +45,20 @@ echo "INFO: validation starting at $(date -u +'%Y-%m-%dT%H:%M:%SZ')"
3945
4046for YAML_FILE in " ${YAML_DIR} " /* .yaml; do
4147 echo " INFO: validating ${YAML_FILE} "
42- ajv validate \
43- --errors=text \
44- --spec=draft2020 \
45- -s " ${SCHEMA_YAML} " \
46- -d " ${YAML_FILE} "
48+ if [ -z " ${REF_SCHEMA_YAML} " ]; then
49+ ajv validate \
50+ --errors=text \
51+ --spec=draft2020 \
52+ -s " ${SCHEMA_YAML} " \
53+ -d " ${YAML_FILE} "
54+ else
55+ ajv validate \
56+ --errors=text \
57+ --spec=draft2020 \
58+ -s " ${SCHEMA_YAML} " \
59+ -d " ${YAML_FILE} " \
60+ -r " ${REF_SCHEMA_YAML} "
61+ fi
4762done
4863
4964echo " INFO: validation complete at $( date -u +' %Y-%m-%dT%H:%M:%SZ' ) "
Original file line number Diff line number Diff line change @@ -11,6 +11,7 @@ SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
1111REPO_DIR=" $( cd " ${SCRIPT_DIR} /.." && pwd ) "
1212
1313SCHEMA_YAML=" ${REPO_DIR} /docs/namelint-config-schema.yaml"
14+ REF_SCHEMA_YAML=" ${REPO_DIR} /docs/namelint-rule-schema.yaml"
1415YAML_DIR=" ${REPO_DIR} /config"
1516
16- " ${SCRIPT_DIR} /_validate.sh" " ${SCHEMA_YAML} " " ${YAML_DIR} "
17+ " ${SCRIPT_DIR} /_validate.sh" " ${SCHEMA_YAML} " " ${YAML_DIR} " " ${REF_SCHEMA_YAML} "
Original file line number Diff line number Diff line change 33#
44dirs : [ "." ]
55lints :
6- - paths :
6+ - lint_id : default
7+ paths :
78 - " **/*"
89 rules :
910 - no-msdos-reserved
Original file line number Diff line number Diff line change @@ -8,7 +8,8 @@ ignore-dirs:
88 - " target"
99 - " _site"
1010lints :
11- - paths :
11+ - lint_id : self
12+ paths :
1213 - " **/*"
1314 rules :
1415 - no-msdos-reserved
You can’t perform that action at this time.
0 commit comments