mirror of
https://gitlab.nic.cz/turris/reforis/foris-js.git
synced 2024-11-13 17:25:34 +01:00
Makefile: Divide phony targets & restructure recipes
This commit is contained in:
parent
0a23506a38
commit
2161fc0b32
49
Makefile
49
Makefile
|
@ -3,8 +3,6 @@
|
|||
# This is free software, licensed under the GNU General Public License v3.
|
||||
# See /LICENSE for more information.
|
||||
|
||||
.PHONY: all install-js watch-js build-js collect-files pack publish-beta publish-latest lint test test-js-update-snapshots create-messages update-messages docs docs-watch clean
|
||||
|
||||
PROJECT="Foris JS"
|
||||
# Retrieve Foris JS version from package.json
|
||||
VERSION= $(shell sed -En "s/.*version['\"]: ['\"](.+)['\"].*/\1/p" package.json)
|
||||
|
@ -15,6 +13,7 @@ DEV_PYTHON=python3
|
|||
VENV_NAME?=venv
|
||||
VENV_BIN=$(shell pwd)/$(VENV_NAME)/bin
|
||||
|
||||
.PHONY: all
|
||||
all:
|
||||
@echo "make install-js"
|
||||
@echo " Install dependencies"
|
||||
|
@ -37,43 +36,89 @@ all:
|
|||
@echo "make clean"
|
||||
@echo " Remove python artifacts and virtualenv."
|
||||
|
||||
|
||||
# Preparation
|
||||
|
||||
.PHONY: venv
|
||||
venv: $(VENV_NAME)/bin/activate
|
||||
$(VENV_NAME)/bin/activate:
|
||||
test -d $(VENV_NAME) || $(DEV_PYTHON) -m virtualenv -p $(DEV_PYTHON) $(VENV_NAME)
|
||||
$(VENV_BIN)/$(DEV_PYTHON) -m pip install -r requirements.txt
|
||||
touch $(VENV_NAME)/bin/activate
|
||||
|
||||
|
||||
# Installation
|
||||
|
||||
.PHONY: install-js
|
||||
install-js: package.json
|
||||
npm install --save-dev
|
||||
|
||||
|
||||
# Publishing
|
||||
|
||||
.PHONY: collect-files
|
||||
collect-files:
|
||||
sh scripts/collect_files.sh
|
||||
|
||||
.PHONY: pack
|
||||
pack: collect-files
|
||||
cd dist && npm pack
|
||||
|
||||
.PHONY: publish-beta
|
||||
publish-beta: collect-files
|
||||
sh scripts/publish.sh beta
|
||||
|
||||
.PHONY: publish-latest
|
||||
publish-latest: collect-files
|
||||
sh scripts/publish.sh latest
|
||||
|
||||
|
||||
# Linting
|
||||
|
||||
.PHONY: lint
|
||||
lint:
|
||||
npm run lint
|
||||
|
||||
.PHONY: lint-js-fix
|
||||
lint-js-fix:
|
||||
npm run lint:fix
|
||||
|
||||
|
||||
# Testing
|
||||
|
||||
.PHONY: test
|
||||
test:
|
||||
npm test
|
||||
|
||||
.PHONY: test-js-update-snapshots
|
||||
test-js-update-snapshots:
|
||||
npm test -- -u
|
||||
|
||||
|
||||
# Translations
|
||||
|
||||
.PHONY: create-messages
|
||||
create-messages: venv
|
||||
$(VENV_BIN)/pybabel extract -F babel.cfg -o ./translations/forisjs.pot . --project=$(PROJECT) --version=$(VERSION) --copyright-holder=$(COPYRIGHT_HOLDER) --msgid-bugs-address=$(MSGID_BUGS_ADDRESS)
|
||||
|
||||
.PHONY: update-messages
|
||||
update-messages: venv
|
||||
$(VENV_BIN)/pybabel update -i ./translations/forisjs.pot -d ./translations -D forisjs --update-header-comment
|
||||
|
||||
|
||||
# Documentation
|
||||
|
||||
.PHONY: docs
|
||||
docs:
|
||||
npm run-script docs
|
||||
|
||||
.PHONY: docs-watch
|
||||
docs-watch:
|
||||
npm run-script docs:watch
|
||||
|
||||
|
||||
# Other
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
rm -rf node_modules dist
|
||||
|
|
Loading…
Reference in New Issue
Block a user