mirror of
https://github.com/JeroenED/libpairtwo.git
synced 2024-12-21 20:06:05 +01:00
66 lines
1.7 KiB
Makefile
66 lines
1.7 KiB
Makefile
.PHONY: help tests dist
|
|
.DEFAULT_GOAL := help
|
|
BRANCH := $(shell git rev-parse --abbrev-ref HEAD)
|
|
VERSION := $(if $(TAG),$(TAG),dev-$(BRANCH))
|
|
|
|
help:
|
|
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-12s\033[0m %s\n", $$1, $$2}'
|
|
|
|
tests: ## Executes the test suite
|
|
vendor/bin/phpunit
|
|
|
|
coverage: ## Executes the test suite and creates code coverage reports
|
|
vendor/bin/phpunit --coverage-html build/coverage
|
|
|
|
view-coverage: ## Shows the code coverage report
|
|
open build/coverage/index.html
|
|
|
|
api: ## Generates api-docs
|
|
phpdoc -d ./src -t ./doc/api
|
|
|
|
dist: ## Generates distribution
|
|
cp dist/composer* res/
|
|
mv dist/composer-dist.json dist/composer.json
|
|
sed -i -e "s%//VERSION//%$(VERSION)%g" dist/composer.json
|
|
cd dist && composer install
|
|
rm dist/composer.json
|
|
rm dist/composer.lock
|
|
mv dist/composer-dist-installed.json dist/composer.json
|
|
make api
|
|
mkdir -p dist/doc
|
|
cp -r doc/api dist/doc
|
|
cd dist && zip -r ../libpairtwo-$(VERSION)-dist.zip *
|
|
git reset --hard HEAD
|
|
mv res/composer* dist/
|
|
|
|
clean: clean-dist clean-dev clean-repo ## Cleans all assets
|
|
|
|
clean-dev: ## Cleans dev assets
|
|
rm -rf doc/api
|
|
rm -rf .idea
|
|
rm -rf .libpairtwo-distro
|
|
rm -rf vendor
|
|
rm -rf composer.lock
|
|
|
|
clean-dist: ## Cleans distribution assets
|
|
rm -rf dist/doc
|
|
rm -rf dist/vendor
|
|
rm -rf dist/composer.json
|
|
rm -rf libpairtwo-*-dist.zip
|
|
|
|
clean-repo: ## Cleans the git repository
|
|
git fsck
|
|
git prune
|
|
git gc
|
|
|
|
cs: ## Fixes coding standard problems
|
|
vendor/bin/php-cs-fixer fix || true
|
|
|
|
tag: ## Creates a new signed git tag
|
|
$(if $(TAG),,$(error TAG is not defined. Pass via "make tag TAG=X.X.X"))
|
|
@echo Tagging $(TAG)
|
|
git add --all
|
|
git commit -m 'RELEASE: $(TAG) Release'
|
|
git tag -s $(TAG) -m 'RELEASE: $(TAG) Release'
|
|
make dist
|