-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathMakefile
38 lines (29 loc) · 1.21 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
PROJECT_DIR := $(shell dirname $(realpath $(firstword $(MAKEFILE_LIST))))
PROJECT_NAME := wolkenpinsel
define package
cd $(PROJECT_DIR)/dist && zip -r -FS $(PROJECT_DIR)/$(PROJECT_NAME)-$(1)-${release_tag}.$(2) *
endef
build:
npm run build
build-v3:
mv $(PROJECT_DIR)/src/manifest.json $(PROJECT_DIR)/src/manifest.json.tmp
jq '.manifest_version = 3 | del(.browser_specific_settings)' $(PROJECT_DIR)/src/manifest.json.tmp > $(PROJECT_DIR)/src/manifest.json
$(MAKE) build
mv $(PROJECT_DIR)/src/manifest.json.tmp $(PROJECT_DIR)/src/manifest.json
package-firefox:
[[ ! -z "$(release_tag)" ]]
$(call package,firefox,xpi)
git archive --format zip --output ./wolkenpinsel-$(release_tag).zip master
package-chrome:
[[ ! -z "$(release_tag)" ]]
$(call package,chrome,zip)
build-firefox: build package-firefox
build-chrome: build-v3 package-chrome
release:
[[ ! -z "$(release_tag)" ]]
[[ -z "$(shell git status -s)" ]]
tmpfile=$(shell mktemp) && jq '.version = "$(release_tag)"' $(PROJECT_DIR)/package.json > $${tmpfile} && mv $${tmpfile} $(PROJECT_DIR)/package.json
git add $(PROJECT_DIR)/package.json
git commit -m "Release of version $(release_tag)"
git tag $(release_tag)
full-release: release build-firefox build-chrome