1
0
mirror of https://gitlab.nic.cz/turris/reforis/foris-js.git synced 2024-07-02 20:30:27 +00:00

Makefile: Divide phony targets & restructure recipes

This commit is contained in:
Aleksandr Gumroian 2022-02-21 16:05:30 +01:00
parent 0a23506a38
commit 2161fc0b32
No known key found for this signature in database
GPG Key ID: 9E77849C64F0A733

View File

@ -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