2017-11-25 11:29:06 -08:00
|
|
|
SHELL:=/bin/bash
|
2019-03-26 21:45:54 -07:00
|
|
|
BROWSERS=chromium firefox
|
2017-11-25 11:29:06 -08:00
|
|
|
DIST_DIR=dist
|
2019-03-26 21:45:54 -07:00
|
|
|
CRX2_KEY=burlesco-rsa-key.pem
|
2019-03-27 09:01:41 -07:00
|
|
|
CRX3_KEY=burlesco-pkcs8-key.pem
|
2017-11-27 13:59:58 -08:00
|
|
|
.PHONY: all clean lint pre-build build
|
|
|
|
all: clean lint pre-build build
|
2017-11-25 11:29:06 -08:00
|
|
|
clean:
|
2017-11-27 13:59:58 -08:00
|
|
|
rm -rf "$(DIST_DIR)"
|
2017-11-25 11:29:06 -08:00
|
|
|
lint:
|
|
|
|
find . -name '*.json' -exec python -c 'import json; json.load(open("{}"))' \;
|
2017-11-27 13:59:58 -08:00
|
|
|
eslint webext userscript
|
2019-03-26 21:45:54 -07:00
|
|
|
pre-build: clean
|
2017-11-25 11:29:06 -08:00
|
|
|
set -e ; \
|
|
|
|
for i in $(BROWSERS) ; do \
|
|
|
|
SRC_DIR="$(DIST_DIR)/$$i/src" ; \
|
|
|
|
mkdir -p "$$SRC_DIR" ; \
|
|
|
|
cp -r webext/* "$$SRC_DIR" ; \
|
|
|
|
if [ $$i != "firefox" ]; then \
|
|
|
|
perl -0pe 's/,\s+"applications": \{(.*?\}){2}//s' \
|
2017-11-27 13:59:58 -08:00
|
|
|
webext/manifest.json > "$$SRC_DIR/manifest.json" ; \
|
2017-11-25 11:29:06 -08:00
|
|
|
fi ; \
|
|
|
|
done
|
2018-06-11 21:49:05 -07:00
|
|
|
python3 userscript/build.py userscript/burlesco.user.js > "$(DIST_DIR)/burlesco.user.js"
|
2019-03-26 21:45:54 -07:00
|
|
|
build: pre-build
|
2017-11-25 11:29:06 -08:00
|
|
|
set -e ; \
|
|
|
|
for i in $(BROWSERS) ; do \
|
2017-11-27 13:59:58 -08:00
|
|
|
echo $$i; \
|
2017-11-25 11:29:06 -08:00
|
|
|
DIR="$(DIST_DIR)/$$i" ; \
|
|
|
|
FILE=burlesco-$$i.zip ; \
|
|
|
|
if [ $$i = "chromium" ]; then \
|
2019-03-26 21:45:54 -07:00
|
|
|
zip -jr9X "$$DIR/$$FILE" $$DIR/src/* ; \
|
|
|
|
cat "$$DIR/$$FILE" | crx3 --crxPath="$$DIR/burlesco-chromium.crx" \
|
|
|
|
--keyPath="$(CRX3_KEY)" >/dev/null 2>&1 ; \
|
2017-11-25 11:29:06 -08:00
|
|
|
fi ; \
|
|
|
|
if [ $$i = "firefox" ]; then \
|
2017-11-27 13:59:58 -08:00
|
|
|
zip -j "$$DIR/$$FILE" $$DIR/src/* ; \
|
2019-03-26 21:45:54 -07:00
|
|
|
web-ext sign --source-dir="dist/firefox/src" \
|
|
|
|
--artifacts-dir="dist/firefox" \
|
|
|
|
--api-key="{{api_key}}" \
|
|
|
|
--api-secret="{{api_secret}}" >/dev/null 2>&1 ; \
|
|
|
|
mv "$$(ls $$DIR/burlesco*.xpi)" "$$DIR/burlesco-$$i.xpi" ; \
|
2017-11-25 11:29:06 -08:00
|
|
|
fi ; \
|
|
|
|
done
|