mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2025-12-05 20:39:59 -08:00
* update format.sh add shellcheck to format.sh add statement macros to .clang-format add no clang format to format.sh add changed file list to format.sh diff rename --cf-version to --print-version in format.sh lint files * enable --shell on ci runs * remove useless semicolons removes the semicolons after empty function definitions these semicolons are optional, they don't do anything this will have functions be consistently formatted if we want to keep the option to have these on the same line like they were before we should use the option AllowShortFunctionsOnASingleLine: None * fix script * update echo line in lint_cpp.sh which doesn't lint cpp only at all
37 lines
1.2 KiB
Bash
Executable File
37 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
version_line="$(grep 'INSERT INTO cockatrice_schema_version' servatrice/servatrice.sql)"
|
|
version_line="${version_line#*VALUES(}"
|
|
declare -i schema_ver="${version_line%%)*}"
|
|
|
|
# shellcheck disable=2012
|
|
latest_migration="$(ls -1 servatrice/migrations/ | tail -n1)"
|
|
xtoysql="${latest_migration#servatrice_}"
|
|
xtoy="${xtoysql%.sql}"
|
|
declare -i old_ver="10#${xtoy%_to_*}" #declare as integer with base 10, numbers with a leading 0 are normally interpreted as base 16
|
|
declare -i new_ver="10#${xtoy#*_to_}"
|
|
|
|
if ((old_ver >= new_ver)); then
|
|
echo "New version $new_ver is not newer than $old_ver"
|
|
exit 1
|
|
fi
|
|
|
|
if ((schema_ver != new_ver)); then
|
|
echo "Schema version $schema_ver does not equal new version $new_ver"
|
|
exit 1
|
|
fi
|
|
|
|
expected_sql="^UPDATE cockatrice_schema_version SET version=${new_ver} WHERE version=${old_ver};$"
|
|
if ! grep -q "$expected_sql" "servatrice/migrations/$latest_migration"; then
|
|
echo "$latest_migration does not contain expected sql: $expected_sql"
|
|
exit 1
|
|
fi
|
|
|
|
expected_define="^#define DATABASE_SCHEMA_VERSION $new_ver$"
|
|
if ! grep -q "$expected_define" servatrice/src/servatrice_database_interface.h; then
|
|
echo "servatrice_database_interface.h does not contain expected #define: $expected_define"
|
|
exit 1
|
|
fi
|