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.
39 lines
1.2 KiB
Bash
39 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
|
|
[ ! -d "${OUTPUT_DIR}" ] && 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})"
|
|
[ ! -f ${OUTPUT_FILE} ] && echo "❌ Failed to build extension. See output printed above for more details."
|