#!/usr/bin/bash
printf ' __ ___\r\n'
printf '(__|_ _.._ _ ._ _ |\ /\r\n'
printf '__)|_(_|| | || | || \/\r\n'
# Define paths
BASE_DIR = base
MANIFEST_DIR = firefox
OUTPUT_DIR = out/artifacts/firefox
OUTPUT_FILE = ${ OUTPUT_DIR } /extension.zip
printf "Base dir: \t%s\r\n" " $BASE_DIR "
printf "Manifest dir: \t%s\r\n" " $MANIFEST_DIR "
printf "Output dir: \t%s\r\n" " $OUTPUT_DIR "
printf "\r\n"
# Create output directory, if not existing
mkdir -p " ${ OUTPUT_DIR } "
# Remove previous build, if existing
[ -f ${ OUTPUT_FILE } ] && rm -f ${ OUTPUT_FILE }
# Add base components to zip
pushd ${ BASE_DIR } 1> /dev/null || exit
zip -r ../${ OUTPUT_FILE } * 1> /dev/null
popd 1> /dev/null || exit
# Add firefox manifest to zip
pushd ${ MANIFEST_DIR } 1> /dev/null || exit
zip ../${ OUTPUT_FILE } manifest.json 1> /dev/null
popd 1> /dev/null || exit
# Feedback
[ -f ${ OUTPUT_FILE } ] && echo " ✔ Successfully created $( file ${ OUTPUT_FILE } ) " || echo "❌ Failed to build extension. See output printed above for more details."