74 lines
1.8 KiB
Bash
Executable File
74 lines
1.8 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
UUID="breezydesktop@xronlinux.com"
|
|
|
|
# fail on error
|
|
set -e
|
|
|
|
# https://stackoverflow.com/a/246128
|
|
SCRIPT_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd)
|
|
|
|
SRC_DIR="$SCRIPT_DIR/../src"
|
|
TMP_DIR=$(mktemp -d -t breezy-gnome-XXXXXXXXXX)
|
|
DEST_DIR="$TMP_DIR/$UUID"
|
|
OUT_DIR="$SCRIPT_DIR/../out"
|
|
rm -rf "$OUT_DIR"
|
|
|
|
cd "$SCRIPT_DIR" || exit 1
|
|
|
|
check_command() {
|
|
if ! command -v "$1" &>/dev/null; then
|
|
echo "Please install \"$1\" and make sure it's available in your \$PATH"
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
compile_schemas() {
|
|
check_command "glib-compile-schemas"
|
|
mkdir -p "$DEST_DIR/schemas/"
|
|
|
|
# the pack command also compiles the schemas but only into the zip file
|
|
glib-compile-schemas --targetdir="$DEST_DIR/schemas" "$SRC_DIR/schemas/"
|
|
}
|
|
|
|
copy_static_files() {
|
|
# Copy non generated files to destdir
|
|
cp $SRC_DIR/*.js $DEST_DIR/
|
|
cp $SRC_DIR/*.frag $DEST_DIR/
|
|
mkdir -p "$DEST_DIR/schemas/"
|
|
cp $SRC_DIR/schemas/*.xml $DEST_DIR/schemas/
|
|
mkdir -p $DEST_DIR/dbus-interfaces/
|
|
cp $SRC_DIR/dbus-interfaces/*.xml $DEST_DIR/dbus-interfaces/
|
|
mkdir -p $DEST_DIR/textures/
|
|
cp -rL $SRC_DIR/textures/* $DEST_DIR/textures/
|
|
cp $SRC_DIR/metadata.json $DEST_DIR/
|
|
}
|
|
|
|
pack() {
|
|
check_command "gnome-extensions"
|
|
|
|
# pack everything into a sharable zip file
|
|
extra_source=()
|
|
for file in "$DEST_DIR"/*; do
|
|
extra_source+=("--extra-source=$file")
|
|
done
|
|
|
|
mkdir -p "$OUT_DIR"
|
|
gnome-extensions pack --force "${extra_source[@]}" "$DEST_DIR" -o "$OUT_DIR"
|
|
}
|
|
|
|
if [ $# -eq 0 ]; then
|
|
# No arguments, do everything
|
|
compile_schemas
|
|
copy_static_files
|
|
pack
|
|
elif [ "$1" == "build_local" ]; then
|
|
compile_schemas
|
|
copy_static_files
|
|
elif [ "$1" == "pack" ]; then
|
|
pack
|
|
elif [ "$1" == "copy_static" ]; then
|
|
copy_static_files
|
|
fi
|
|
|
|
rm -rf "$TMP_DIR" |