simplify build
parent
2a17029751
commit
db11fff026
@ -0,0 +1,56 @@
|
|||||||
|
BUILD_DIR := build
|
||||||
|
DIST_DIR := $(BUILD_DIR)/dist
|
||||||
|
OUTPUT_DIR := output
|
||||||
|
|
||||||
|
CHROME_ZIP := $(OUTPUT_DIR)/chrome/redmine-reactions.zip
|
||||||
|
FIREFOX_XPI := $(OUTPUT_DIR)/firefox/redmine-reactions.xpi
|
||||||
|
|
||||||
|
DOCKER_COMPOSE_RUN := docker-compose run --rm builder
|
||||||
|
|
||||||
|
ifneq (,$(wildcard .env))
|
||||||
|
include .env
|
||||||
|
export AMO_JWT_ISSUER AMO_JWT_SECRET
|
||||||
|
endif
|
||||||
|
|
||||||
|
include .aibuild
|
||||||
|
BUILD := $(shell echo $$(($(BUILD) + 1)))
|
||||||
|
|
||||||
|
.PHONY: all chrome firefox clean
|
||||||
|
|
||||||
|
all: chrome firefox
|
||||||
|
|
||||||
|
chrome: build output builder aibuild
|
||||||
|
@echo "==> 🏗️ Building for Chrome..."
|
||||||
|
sed -e "s/AI_BUILD/$(BUILD)/" manifest-chrome.json > ./build/manifest.json
|
||||||
|
$(DOCKER_COMPOSE_RUN) npm run build
|
||||||
|
@echo "==> 📦 Packaging Chrome extension..."
|
||||||
|
mkdir -p $(OUTPUT_DIR)/chrome
|
||||||
|
cd $(DIST_DIR) && zip -rq ../../$(CHROME_ZIP) .
|
||||||
|
@echo "==> ✅ Chrome package is ready: $(CHROME_ZIP)"
|
||||||
|
|
||||||
|
firefox: build output builder aibuild
|
||||||
|
@echo "==> 🏗️ Building for Firefox..."
|
||||||
|
sed -e "s/AI_BUILD/$(BUILD)/" manifest-firefox.json > ./build/manifest.json
|
||||||
|
$(DOCKER_COMPOSE_RUN) npm run build
|
||||||
|
@echo "==> ✍️ Signing Firefox extension (this may take a moment)..."
|
||||||
|
$(DOCKER_COMPOSE_RUN) npm run sign:firefox
|
||||||
|
@echo "==> 🚚 Moving signed XPI to output..."
|
||||||
|
mkdir -p $(OUTPUT_DIR)/firefox
|
||||||
|
find $(BUILD_DIR)/amo -name "*.xpi" -exec mv {} $(FIREFOX_XPI) \;
|
||||||
|
@echo "==> ✅ Firefox package is ready: $(FIREFOX_XPI)"
|
||||||
|
|
||||||
|
aibuild:
|
||||||
|
@echo BUILD=$(BUILD) > .aibuild
|
||||||
|
|
||||||
|
output:
|
||||||
|
mkdir output
|
||||||
|
|
||||||
|
build:
|
||||||
|
mkdir build
|
||||||
|
|
||||||
|
builder:
|
||||||
|
docker-compose build
|
||||||
|
|
||||||
|
clean:
|
||||||
|
@echo "==> 🧹 Cleaning up build artifacts..."
|
||||||
|
rm -rf $(BUILD_DIR) $(OUTPUT_DIR)
|
||||||
@ -1,18 +1,16 @@
|
|||||||
Build
|
Build
|
||||||
=====
|
=====
|
||||||
|
|
||||||
docker-compose run --rm builder npm run build:chrome
|
make chrome
|
||||||
|
|
||||||
or
|
or
|
||||||
|
|
||||||
docker-compose run --rm builder npm run build:firefox
|
make firefox
|
||||||
|
|
||||||
Signed
|
Signed
|
||||||
======
|
======
|
||||||
|
|
||||||
Needs AMO API key from Mozilla.
|
Needs AMO API key from Mozilla. Place it to the `.env` file.
|
||||||
|
|
||||||
docker-compose run --rm \
|
AMO_JWT_ISSUER=$USER
|
||||||
-e AMO_JWT_ISSUER="$USER" \
|
AMO_JWT_SECRET=$SECRET
|
||||||
-e AMO_JWT_SECRET="$SECRET" \
|
|
||||||
builder npm run package:firefox-signed
|
|
||||||
|
|||||||
Loading…
Reference in New Issue