mirror of
https://github.com/wesnoth/wesnoth
synced 2025-04-22 17:05:28 +00:00
Color more schema validation messages
Also simplified the implementation a bit and made it POSIX conform since it didn't really need any bash features.
This commit is contained in:
parent
848381ae2a
commit
a63e6c47c2
@ -1,102 +1,71 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
function validate_core()
|
reset=$(tput sgr0)
|
||||||
{
|
red=$(tput setaf 1)
|
||||||
SUCCESS="Yes"
|
green=$(tput setaf 2)
|
||||||
NAME="$1"
|
blue=$(tput bold; tput setaf 4)
|
||||||
|
|
||||||
echo "------"
|
print() { printf '%s%s%s\n' "$blue" "$*" "$reset"; }
|
||||||
echo "Validating $NAME..."
|
error() { printf '%s%s%s\n' "$red" "$*" "$reset"; }
|
||||||
|
success() { printf '%s%s%s\n' "$green" "$*" "$reset"; }
|
||||||
|
|
||||||
./wesnoth --validate data/_main.cfg &> temp.log || SUCCESS="No"
|
validate() {
|
||||||
if [ "$SUCCESS" == "No" ]; then
|
local name="$1"
|
||||||
echo -e "\e[1;31m$NAME failed validation!\e[0m"
|
|
||||||
cat temp.log
|
|
||||||
rm temp.log
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "$NAME validation complete! Success: $SUCCESS"
|
|
||||||
echo "------"
|
|
||||||
|
|
||||||
[ "$SUCCESS" == "Yes" ]
|
|
||||||
}
|
|
||||||
|
|
||||||
function validate_misc()
|
|
||||||
{
|
|
||||||
SUCCESS="Yes"
|
|
||||||
NAME="$1"
|
|
||||||
DEFINE="$2"
|
|
||||||
|
|
||||||
echo "------"
|
|
||||||
echo "Validating $NAME..."
|
|
||||||
|
|
||||||
./wesnoth --data-dir=. --validate=data/_main.cfg --preprocess-defines=$DEFINE &> temp.log || SUCCESS="No"
|
|
||||||
if [ "$SUCCESS" == "No" ]; then
|
|
||||||
echo -e "\e[1;31m$NAME failed validation!\e[0m"
|
|
||||||
cat temp.log
|
|
||||||
rm temp.log
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "$NAME validation complete! Success: $SUCCESS"
|
|
||||||
echo "------"
|
|
||||||
|
|
||||||
[ "$SUCCESS" == "Yes" ]
|
|
||||||
}
|
|
||||||
|
|
||||||
function validate_schema()
|
|
||||||
{
|
|
||||||
SUCCESS="Yes"
|
|
||||||
NAME="$1"
|
|
||||||
FILE="$2"
|
|
||||||
|
|
||||||
echo "------"
|
|
||||||
echo "Validating schema $NAME..."
|
|
||||||
|
|
||||||
./wesnoth --data-dir=. --validate-schema=data/schema/$FILE.cfg &> temp.log || SUCCESS="No"
|
|
||||||
if [ "$SUCCESS" == "No" ]; then
|
|
||||||
echo -e "\e[1;31m$NAME failed validation!\e[0m"
|
|
||||||
cat temp.log
|
|
||||||
rm temp.log
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "$NAME validation complete! Success: $SUCCESS"
|
|
||||||
echo "------"
|
|
||||||
|
|
||||||
[ "$SUCCESS" == "Yes" ]
|
|
||||||
}
|
|
||||||
|
|
||||||
function validate_campaign()
|
|
||||||
{
|
|
||||||
SUCCESS="Yes"
|
|
||||||
NAME="$1"
|
|
||||||
DEFINE="$2"
|
|
||||||
shift
|
shift
|
||||||
shift
|
|
||||||
DIFFICULTIES=("$@")
|
|
||||||
|
|
||||||
echo "------"
|
echo "------"
|
||||||
echo "Validating $NAME..."
|
print "Validating $name..."
|
||||||
|
|
||||||
for DIFFICULTY in ${DIFFICULTIES[@]}; do
|
if "$@" > temp.log 2>&1; then
|
||||||
if [ "$SUCCESS" == "Yes" ]; then
|
rm temp.log
|
||||||
echo "Validating $DIFFICULTY..."
|
success "$name validation complete! Success: Yes"
|
||||||
./wesnoth --data-dir=. --validate=data/_main.cfg --preprocess-defines=$DEFINE,$DIFFICULTY &> temp.log || SUCCESS="No"
|
echo "------"
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
error "$name failed validation!"
|
||||||
|
cat temp.log
|
||||||
|
rm temp.log
|
||||||
|
error "$name validation complete! Success: No"
|
||||||
|
echo "------"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
if [ "$SUCCESS" == "No" ]; then
|
validate_core() { validate "$1" ./wesnoth --validate data/_main.cfg; }
|
||||||
echo -e "\e[1;31m$NAME failed $DIFFICULTY validation!\e[0m"
|
validate_misc() { validate "$1" ./wesnoth --data-dir=. --validate=data/_main.cfg --preprocess-defines="$2"; }
|
||||||
|
validate_schema() { validate "$1" ./wesnoth --data-dir=. --validate-schema=data/schema/"$2".cfg; }
|
||||||
|
|
||||||
|
validate_campaign() {
|
||||||
|
local success=Yes name="$1" define="$2"
|
||||||
|
shift 2
|
||||||
|
|
||||||
|
echo "------"
|
||||||
|
print "Validating $name..."
|
||||||
|
|
||||||
|
for difficulty in "$@"; do
|
||||||
|
if [ "$success" = "Yes" ]; then
|
||||||
|
print "Validating $difficulty..."
|
||||||
|
if ! ./wesnoth --data-dir=. --validate=data/_main.cfg --preprocess-defines="$define,$difficulty" > temp.log 2>&1; then
|
||||||
|
success=No
|
||||||
|
error "$name failed $difficulty validation!"
|
||||||
cat temp.log
|
cat temp.log
|
||||||
fi
|
fi
|
||||||
|
|
||||||
rm temp.log
|
rm temp.log
|
||||||
else
|
else
|
||||||
echo "Skipping $DIFFICULTY validation"
|
echo "Skipping $difficulty validation"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
echo "$NAME validation complete! Success: $SUCCESS"
|
if [ "$success" = "Yes" ]; then
|
||||||
echo "------"
|
success "$name validation complete! Success: Yes"
|
||||||
|
echo "------"
|
||||||
[ "$SUCCESS" == "Yes" ]
|
return 0
|
||||||
|
else
|
||||||
|
error "$name validation complete! Success: No"
|
||||||
|
echo "------"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
RET=0
|
RET=0
|
||||||
|
Loading…
x
Reference in New Issue
Block a user