Files
2025-04-25 10:24:08 -04:00

66 lines
2.3 KiB
Bash
Executable File

#!/bin/bash
SHA1SUM=$1
OUTCODE=$2
# quote to allow space
if [ -z "${SHA1SUM}" ]; then echo "$0: missing argument: SHA1SUM"; exit 1; fi
if [ -z "${OUTCODE}" ]; then echo "$0: missing argument: OUTCODE"; exit 1; fi
# no quotes on SHA1SUM to allow padding command line arguments from parent
${SHA1SUM} -c ge007.${OUTCODE}.sha1
retVal=$?
if [ $retVal -ne 0 ]; then
echo -e "\n\n\033[1;41;37m"
echo -e " "
echo -e " ERROR: NOT MATCH! "
echo -e " \033[m"
echo -e "\n\n"
RESPONSE=0
read -t 5 -p "Do you want to check Source Files (y/n)? " choice
case "$choice" in
y|Y ) RESPONSE=1; ;;
n|N ) RESPONSE=2; ;;
* ) RESPONSE=3; ;;
esac
echo ""
if [ $RESPONSE -eq 1 ]; then
echo "Please wait while we determine which files are affected..."
# scripts file relative to root source control directory
./scripts/test_files.sh -c -i scripts/ge007.${OUTCODE}-test_basis.csv
echo "Dumping map diff..."
diff --suppress-common-lines build/${OUTCODE}-match/ge007.${OUTCODE}.map build/${OUTCODE}/ge007.${OUTCODE}.map
fi
else
echo -e "\n\n\033[1;42;37m"
echo -e " "
echo -e " MATCH! "
echo -e " \033[m"
echo -e "\n\n"
RESPONSE=0
read -t 5 -p "Do you want to update the matching hashtable (recommended but slow) (y/n)?" choice
case "$choice" in
y|Y ) RESPONSE=1; ;;
n|N ) RESPONSE=2; ;;
* ) RESPONSE=3; ;;
esac
echo ""
if [ $RESPONSE -eq 1 ]; then
echo "Please wait while we rebuild the hashtable..."
cp -r build/${OUTCODE}/* build/${OUTCODE}-match
# cp build/${OUTCODE}/ge007.${OUTCODE}.map build/${OUTCODE}-match/ge007.$(OUTCODE).map
# scripts file relative to root source control directory
./scripts/make/build_hashtable.sh -v ${OUTCODE} -o scripts/ge007.${OUTCODE}-test_basis.csv
fi
fi
exit $retVal