diff --git a/jq_all_the_things.sh b/jq_all_the_things.sh index 16e241e..2d9cc62 100755 --- a/jq_all_the_things.sh +++ b/jq_all_the_things.sh @@ -1,17 +1,28 @@ #!/bin/bash +# Seeds sponge, from moreutils + +#Validate all Jsons first +for dir in `find . -name "*.json"` +do + echo validating ${dir} + cat ${dir} | jq . >/dev/null + rc=$? + if [[ $rc != 0 ]]; then exit $rc; fi +done + set -e set -x -# Seeds sponge, from moreutils - for dir in clusters/*.json do + # Beautify it cat ${dir} | jq . | sponge ${dir} done for dir in galaxies/*.json do + # Beautify it cat ${dir} | jq . | sponge ${dir} done diff --git a/validate_all.sh b/validate_all.sh index bcf0640..31f47d7 100755 --- a/validate_all.sh +++ b/validate_all.sh @@ -1,21 +1,39 @@ #!/bin/bash +# This file launch all validation of the jsons and schemas +# By default, It stop on file not commited. + +# you could test with command ./validate_all.sh something + + +# Check Jsons format, and beautify +./jq_all_the_things.sh +rc=$? +if [[ $rc != 0 ]]; then + exit $rc +fi + set -e set -x -./jq_all_the_things.sh - diffs=`git status --porcelain | wc -l` - if ! [ $diffs -eq 0 ]; then - echo "Please make sure you run ./jq_all_the_things.sh before commiting." - exit 1 + echo "Please make sure you run ./jq_all_the_things.sh before commiting." + if [ $# -eq 0 ]; then + exit 1 + fi fi +# Validate schemas for dir in clusters/*.json do echo -n "${dir}: " jsonschema -i ${dir} schema_clusters.json + rc=$? + if [[ $rc != 0 ]]; then + echo "Error on ${dir}" + exit $rc + fi echo '' done @@ -23,6 +41,10 @@ for dir in galaxies/*.json do echo -n "${dir}: " jsonschema -i ${dir} schema_galaxies.json + rc=$? + if [[ $rc != 0 ]]; then + echo "Error on ${dir}" + exit $rc + fi echo '' done -