mirror of
https://github.com/Sylius/Sylius.git
synced 2026-07-14 09:02:12 +00:00
78 lines
2 KiB
Bash
Executable file
78 lines
2 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
source "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/../etc/bash/common.lib.sh"
|
|
|
|
build_package() {
|
|
[[ "$(echo "$2" | grep -c "no-install")" = "1" ]] && local install=false
|
|
[[ "$(echo "$2" | grep -c "no-validate")" = "1" ]] && local validate=false
|
|
[[ "$(echo "$2" | grep -c "no-test")" = "1" ]] && local test=false
|
|
[[ "$(echo "$2" | grep -c "no-clean")" = "1" ]] && local clean=false
|
|
|
|
if ${install}; then
|
|
eval "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/install-package $1"
|
|
fi
|
|
|
|
if ${validate}; then
|
|
eval "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/validate-package $1"
|
|
fi
|
|
|
|
if ${test}; then
|
|
eval "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/test-package $1"
|
|
fi
|
|
|
|
if ${clean}; then
|
|
eval "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/clean-package $1"
|
|
fi
|
|
}
|
|
|
|
display_help_message() {
|
|
print_error "Usage: $0 [--no-install] [--no-validate] [--no-test] [--no-clean] <package paths or names>"
|
|
}
|
|
|
|
main() {
|
|
local packages=() options=() package_path
|
|
|
|
while [[ $# -gt 0 ]]; do
|
|
case "$1" in
|
|
--no-install)
|
|
options+=("no-install")
|
|
;;
|
|
--no-validate)
|
|
options+=("no-validate")
|
|
;;
|
|
--no-test)
|
|
options+=("no-test")
|
|
;;
|
|
--no-clean)
|
|
options+=("no-clean")
|
|
;;
|
|
--help)
|
|
display_help_message
|
|
exit 0
|
|
;;
|
|
-*)
|
|
print_error "Unknown option \"$1\""
|
|
exit 1
|
|
;;
|
|
*)
|
|
packages+=("$1")
|
|
;;
|
|
esac
|
|
|
|
shift
|
|
done
|
|
|
|
if [[ "${packages[@]}" = "" ]]; then
|
|
display_help_message
|
|
exit 1
|
|
fi
|
|
|
|
for package in "${packages[@]}"; do
|
|
package_path="$(cast_package_argument_to_package_path "${package}")"
|
|
exit_on_error "Package \"${package}\" is not found"
|
|
|
|
build_package "${package_path}" "${options[*]}"
|
|
done
|
|
}
|
|
|
|
main "$@"
|