40 lines
901 B
Bash
Executable File
40 lines
901 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
repo_root="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
blender_bin="${BLENDER_BIN:-blender}"
|
|
repository="${BLENDER_EXTENSION_REPO:-user_default}"
|
|
build_marker="$(mktemp)"
|
|
|
|
cleanup() {
|
|
rm -f "$build_marker"
|
|
}
|
|
trap cleanup EXIT
|
|
|
|
"$repo_root/build-all.sh"
|
|
|
|
mapfile -d '' packages < <(
|
|
find "$repo_root/dist" \
|
|
-maxdepth 1 \
|
|
-type f \
|
|
-name '*.zip' \
|
|
-newer "$build_marker" \
|
|
-print0 \
|
|
| sort -z
|
|
)
|
|
|
|
if (( ${#packages[@]} == 0 )); then
|
|
echo "No Blender extension packages were produced by build-all.sh." >&2
|
|
exit 1
|
|
fi
|
|
|
|
for package in "${packages[@]}"; do
|
|
echo "Installing Blender extension: ${package#"$repo_root/"}"
|
|
"$blender_bin" --factory-startup --command extension install-file \
|
|
-r "$repository" \
|
|
-e "$package"
|
|
done
|
|
|
|
echo "Installed and enabled ${#packages[@]} Blender extension(s) in repository '$repository'."
|
|
|