Skip to content

Commit

Permalink
Add Makefile that automatically setups, runs tests and checks code style
Browse files Browse the repository at this point in the history
  • Loading branch information
kelunik committed May 4, 2017
1 parent 5c81015 commit de9bf8f
Showing 1 changed file with 45 additions and 0 deletions.
45 changes: 45 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
PHP_BIN := php
COMPOSER_BIN := composer

COVERAGE = coverage
SRCS = lib test

find_php_files = $(shell find $(1) -type f -name "*.php")
src = $(foreach d,$(SRCS),$(call find_php_files,$(d)))

.PHONY: test
test: setup phpunit code-style

.PHONY: clean
clean: clean-coverage clean-vendor

.PHONY: clean-coverage
clean-coverage:
test ! -e coverage || rm -r coverage

.PHONY: clean-vendor
clean-vendor:
test ! -e vendor || rm -r vendor

.PHONY: setup
setup: vendor/autoload.php

.PHONY: deps-update
deps-update:
$(COMPOSER_BIN) update

.PHONY: phpunit
phpunit: setup
$(PHP_BIN) vendor/bin/phpunit

.PHONY: code-style
code-style: setup
PHP_CS_FIXER_IGNORE_ENV=1 $(PHP_BIN) vendor/bin/php-cs-fixer --diff -v fix

composer.lock: composer.json
$(COMPOSER_BIN) install
touch $@

vendor/autoload.php: composer.lock
$(COMPOSER_BIN) install
touch $@

0 comments on commit de9bf8f

Please sign in to comment.