mirror of
https://github.com/kiwix/kiwix-js.git
synced 2025-09-08 06:37:04 -04:00
50 lines
2.1 KiB
Bash
Executable File
50 lines
2.1 KiB
Bash
Executable File
#!/bin/bash
|
|
BASEDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"/..
|
|
cd "$BASEDIR"
|
|
|
|
# Reading arguments
|
|
while getopts m:tdv: option; do
|
|
case "${option}" in
|
|
m) MV=$OPTARG;; # Optionally indicates the manifest version we're using (2 or 3); if present, the version will be added to filename
|
|
t) TAG="-t";; # Indicates that we're releasing a public version from a tag
|
|
d) DRYRUN="-d";; # Indicates a dryrun test, that does not modify anything on the network
|
|
v) VERSION=${OPTARG};;
|
|
esac
|
|
done
|
|
if [ -n $MV ]; then
|
|
echo -e "\nManifest version requested: $MV"
|
|
VERSION="mv$MV-$VERSION"
|
|
fi
|
|
echo "Packaging unsigned Chrome extension, version $VERSION"
|
|
cd tmp
|
|
if [ $MV -eq 2 ]; then
|
|
echo "Packing MV2 extension"
|
|
pwd & ls -l
|
|
cat manifest.json
|
|
zip -r ../build/kiwix-chrome-unsigned-extension-$VERSION.zip www _locales i18n backgroundscript.js manifest.json LICENSE-GPLv3.txt service-worker.js README.md
|
|
else
|
|
echo "Packing MV3 extension"
|
|
pwd & ls -l
|
|
cat manifest.json
|
|
zip -r ../build/kiwix-chrome-unsigned-extension-$VERSION.zip www _locales i18n manifest.json LICENSE-GPLv3.txt service-worker.js README.md
|
|
fi
|
|
cd ..
|
|
ls -l build/kiwix-chrome-unsigned-extension-$VERSION.zip
|
|
if [ -n $TAG ]; then
|
|
echo "This unsigned extension must be manually uploaded to Google to be signed and distributed from their store"
|
|
fi
|
|
# Package the extension with Chrome or Chromium and sign it
|
|
if hash chromium-browser 2>/dev/null
|
|
then
|
|
echo "Chromium is available"
|
|
CHROME_BIN=chromium-browser
|
|
else
|
|
echo "Chromium is not available: trying to use Chrome"
|
|
CHROME_BIN=google-chrome-stable
|
|
fi
|
|
echo "Signing the extension for $CHROME_BIN, version $VERSION"
|
|
$CHROME_BIN --no-sandbox --pack-extension=tmp --pack-extension-key=./scripts/kiwix-html5.pem
|
|
mv tmp.crx build/kiwix-chrome-signed-extension-$VERSION.zip
|
|
ls -l build/kiwix-chrome-signed-extension-$VERSION.zip
|
|
echo "This signed extension can be installed by dragging and dropping it into Chromium with developer mode turned on. It is a .crx file renamed to .zip, so that it can be downloaded."
|