Skip to content

Commit 8a46cd8

Browse files
mattkenneyfileformat
authored andcommitted
add: lint_id in lints + validate with ref
1 parent c6f16f0 commit 8a46cd8

4 files changed

Lines changed: 26 additions & 8 deletions

File tree

bin/_validate.sh

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ REPO_DIR="$( cd "${SCRIPT_DIR}/.." && pwd )"
1212

1313
SCHEMA_YAML=${1:-BAD}
1414
YAML_DIR=${2:-BAD}
15+
REF_SCHEMA_YAML=${3:-}
1516
if [ "${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
3031
fi
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
3339
if ! 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

4046
for 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
4762
done
4863

4964
echo "INFO: validation complete at $(date -u +'%Y-%m-%dT%H:%M:%SZ')"

bin/validate-configs.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
1111
REPO_DIR="$( cd "${SCRIPT_DIR}/.." && pwd )"
1212

1313
SCHEMA_YAML="${REPO_DIR}/docs/namelint-config-schema.yaml"
14+
REF_SCHEMA_YAML="${REPO_DIR}/docs/namelint-rule-schema.yaml"
1415
YAML_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}"

config/default.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
#
44
dirs: [ "." ]
55
lints:
6-
- paths:
6+
- lint_id: default
7+
paths:
78
- "**/*"
89
rules:
910
- no-msdos-reserved

config/self.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@ ignore-dirs:
88
- "target"
99
- "_site"
1010
lints:
11-
- paths:
11+
- lint_id: self
12+
paths:
1213
- "**/*"
1314
rules:
1415
- no-msdos-reserved

0 commit comments

Comments
 (0)