@@ -16,19 +16,24 @@ CCEND=\033[0m
1616SRC_TESTS_FILES =$(shell find src/ tests/ -type f)
1717COVERAGE_DIR = dist/coverage
1818COVERAGE_XML = $(COVERAGE_DIR ) /xml
19+ COVERAGE_JUNIT = $(COVERAGE_DIR ) /phpunit.junit.xml
1920COVERAGE_HTML = $(COVERAGE_DIR ) /html
2021TARGET_MSI = 100
2122
2223PHP_CS_FIXER_BIN = vendor-bin/php-cs-fixer/vendor/friendsofphp/php-cs-fixer/php-cs-fixer
2324PHP_CS_FIXER = $(PHPNOGC ) $(PHP_CS_FIXER_BIN )
25+
2426PHPSTAN_BIN = vendor/phpstan/phpstan/phpstan
2527PHPSTAN = $(PHPSTAN_BIN )
28+
2629PHPUNIT_BIN = vendor/bin/phpunit
2730PHPUNIT = $(PHPUNIT_BIN )
28- PHPUNIT_COVERAGE_INFECTION = XDEBUG_MODE=coverage $(PHPUNIT ) --coverage-xml=$(COVERAGE_XML ) --log-junit=$(COVERAGE_DIR ) /phpunit.junit.xml
31+ PHPUNIT_COVERAGE_INFECTION = XDEBUG_MODE=coverage $(PHPUNIT ) --coverage-xml=$(COVERAGE_XML ) --log-junit=$(COVERAGE_JUNIT )
2932PHPUNIT_COVERAGE_HTML = XDEBUG_MODE=coverage $(PHPUNIT ) --coverage-html=$(COVERAGE_HTML )
33+
3034INFECTION_BIN = vendor/bin/infection
3135INFECTION = $(INFECTION_BIN ) --skip-initial-tests --coverage=$(COVERAGE_DIR ) --only-covered --show-mutations --min-msi=$(TARGET_MSI ) --min-covered-msi=$(TARGET_MSI ) --ansi --threads=max
36+ INFECTION_WITH_INITIAL_TESTS = $(INFECTION_BIN ) --only-covered --show-mutations --min-msi=$(TARGET_MSI ) --min-covered-msi=$(TARGET_MSI ) --ansi --threads=max
3237
3338
3439#
@@ -92,11 +97,16 @@ phpunit_coverage_infection: $(PHPUNIT_BIN) vendor
9297phpunit_coverage_html : # # Runs PHPUnit with code coverage with HTML report
9398phpunit_coverage_html : $(PHPUNIT_BIN ) vendor
9499 $(PHPUNIT_COVERAGE_HTML )
100+ @echo " You can check the report by opening the file \" $( COVERAGE_HTML) /index.html\" ."
95101
96102.PHONY : infection
97103infection : # # Runs Infection
98- infection : $(INFECTION_BIN ) $(COVERAGE_DIR ) vendor
99- if [ -d $( COVERAGE_XML) ]; then $( INFECTION) ; fi
104+ infection : $(INFECTION_BIN ) vendor
105+ $(INFECTION_WITH_INITIAL_TESTS )
106+
107+ .PHONY : _infection
108+ _infection : $(INFECTION_BIN ) $(COVERAGE_XML ) $(COVERAGE_JUNIT ) vendor
109+ $(INFECTION )
100110
101111.PHONY : validate-package
102112validate-package : # # Validates the Composer package
@@ -140,9 +150,15 @@ $(PHPSTAN_BIN): vendor
140150$(PHPUNIT_BIN ) : vendor
141151 touch -c $@
142152
143- $(COVERAGE_DIR ) : $(PHPUNIT_BIN ) $(SRC_TESTS_FILES ) phpunit.xml.dist
153+ $(COVERAGE_XML ) : $(PHPUNIT_BIN ) $(SRC_TESTS_FILES ) phpunit.xml.dist
144154 $(MAKE ) phpunit_coverage_infection
145- touch -c " $@ "
155+ touch -c $@
156+ touch -c $(COVERAGE_JUNIT )
157+
158+ $(COVERAGE_JUNIT ) : $(PHPUNIT_BIN ) $(SRC_TESTS_FILES ) phpunit.xml.dist
159+ $(MAKE ) phpunit_coverage_infection
160+ touch -c $@
161+ touch -c $(COVERAGE_XML )
146162
147163$(INFECTION_BIN ) : vendor
148164 touch -c $@
0 commit comments