You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

38 lines
1.2 KiB
Bash

#!/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."