2026-09-14 16:32:07 +08:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
set -euo pipefail
|
|
|
|
|
|
2026-10-14 11:32:31 +08:00
|
|
|
readonly EXPECTED_SHA256="e439bd1c48ce654748c4f333b874a61465702ceb18f29ee017c3f9bc47738c23"
|
2026-09-14 16:32:07 +08:00
|
|
|
readonly MAVEN_REPOSITORY="${HOME}/.m2/repository"
|
2026-10-14 11:32:31 +08:00
|
|
|
readonly INSTALLED_JAR="${MAVEN_REPOSITORY}/cn/com/kingbase/kingbase8/9.0.0/kingbase8-9.0.0.jar"
|
2026-09-14 16:32:07 +08:00
|
|
|
|
|
|
|
|
sha256_file() {
|
|
|
|
|
if command -v sha256sum >/dev/null 2>&1; then
|
|
|
|
|
sha256sum "$1" | awk '{print $1}'
|
|
|
|
|
elif command -v shasum >/dev/null 2>&1; then
|
|
|
|
|
shasum -a 256 "$1" | awk '{print $1}'
|
|
|
|
|
else
|
|
|
|
|
echo "No SHA256 utility is available; install sha256sum or shasum." >&2
|
|
|
|
|
return 1
|
|
|
|
|
fi
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if [[ -z "${KINGBASE_JDBC_JAR:-}" ]]; then
|
|
|
|
|
echo "KINGBASE_JDBC_JAR is not set." >&2
|
2026-10-14 11:32:31 +08:00
|
|
|
echo "Set it to the absolute path of the authorized Kingbase JDBC 9.0.0 vendor driver." >&2
|
2026-09-14 16:32:07 +08:00
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if [[ ! -f "${KINGBASE_JDBC_JAR}" ]]; then
|
|
|
|
|
echo "KINGBASE_JDBC_JAR does not point to an existing regular file." >&2
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
source_sha256="$(sha256_file "${KINGBASE_JDBC_JAR}")"
|
|
|
|
|
if [[ "${source_sha256}" != "${EXPECTED_SHA256}" ]]; then
|
2026-10-14 11:32:31 +08:00
|
|
|
echo "Kingbase JDBC 9.0.0 source checksum mismatch." >&2
|
2026-09-14 16:32:07 +08:00
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
|
2026-10-14 11:32:31 +08:00
|
|
|
mvn org.apache.maven.plugins:maven-install-plugin:3.1.2:install-file \
|
2026-09-14 16:32:07 +08:00
|
|
|
-Dfile="${KINGBASE_JDBC_JAR}" \
|
2026-10-14 11:32:31 +08:00
|
|
|
-DgroupId=cn.com.kingbase \
|
2026-09-14 16:32:07 +08:00
|
|
|
-DartifactId=kingbase8 \
|
2026-10-14 11:32:31 +08:00
|
|
|
-Dversion=9.0.0 \
|
2026-09-14 16:32:07 +08:00
|
|
|
-Dpackaging=jar \
|
|
|
|
|
-DgeneratePom=true \
|
|
|
|
|
-Dmaven.repo.local="${MAVEN_REPOSITORY}"
|
|
|
|
|
|
|
|
|
|
if [[ ! -f "${INSTALLED_JAR}" ]]; then
|
2026-10-14 11:32:31 +08:00
|
|
|
echo "Kingbase JDBC 9.0.0 installation failed: local Maven artifact is missing." >&2
|
2026-09-14 16:32:07 +08:00
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
installed_sha256="$(sha256_file "${INSTALLED_JAR}")"
|
|
|
|
|
if [[ "${installed_sha256}" != "${EXPECTED_SHA256}" ]]; then
|
2026-10-14 11:32:31 +08:00
|
|
|
echo "Kingbase JDBC 9.0.0 installed artifact checksum mismatch." >&2
|
2026-09-14 16:32:07 +08:00
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
|
2026-10-14 11:32:31 +08:00
|
|
|
echo "Kingbase JDBC 9.0.0 provisioning PASS."
|