#!/usr/bin/bash
printf " _ _____ \r\n"
printf " ___| |_ __ _ _ __ ___ _ __ ___/__ \/ \ /\ \r\n"
printf "/ __| __/ _\` | '_ \` _ \| '_ \` _ \ / /\/\ \ / / \r\n"
printf "\__ \ || (_| | | | | | | | | | | / / \ V / \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."