Files
HY2XS_flamy/tools/build/build.sh
T

49 lines
1.1 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
BUILD_DIR="$ROOT_DIR/tools/build"
# shellcheck source=tools/build/lib/common.sh
. "$BUILD_DIR/lib/common.sh"
# shellcheck source=tools/build/lib/deps.sh
. "$BUILD_DIR/lib/deps.sh"
# shellcheck source=tools/build/lib/verify.sh
. "$BUILD_DIR/lib/verify.sh"
# shellcheck source=tools/build/lib/package.sh
. "$BUILD_DIR/lib/package.sh"
main() {
cd "$ROOT_DIR"
require_linux_debian12_amd64
require_repo_layout
ensure_build_dependencies
ensure_toolchain
PACKAGE_VERSION="${PACKAGE_VERSION:-0.1.0}"
BUILD_ID="${BUILD_ID:-$(date -u +%Y%m%dT%H%M%SZ)}"
log_step "Preparing package stage"
prepare_stage "$PACKAGE_VERSION" "$BUILD_ID"
log_step "Building install-only orchestrator"
build_orchestrator
log_step "Bundling HY2XS admin fork"
bundle_ui
log_step "Writing metadata"
write_metadata "$PACKAGE_VERSION" "$BUILD_ID"
log_step "Creating final archive"
create_archive "$PACKAGE_VERSION"
log_step "Verifying final archive"
verify_archive "$PACKAGE_VERSION"
log_info "Built dist/hy2xs-install-${PACKAGE_VERSION}.tar.gz"
}
main "$@"