@@ -9,14 +9,19 @@ BARD_COMPILE = src/SonsOfPHP/Bard/bin/compile
99CHURN = tools/churn/vendor/bin/churn
1010INFECTION = tools/infection/vendor/bin/infection
1111PHP_CS_FIXER = tools/php-cs-fixer/vendor/bin/php-cs-fixer
12+ PHPACTOR = tools/phpactor/vendor/bin/phpactor
1213PHPUNIT = tools/phpunit/vendor/bin/phpunit
1314PSALM = tools/psalm/vendor/bin/psalm
1415RECTOR = tools/rector/vendor/bin/rector
1516# end: Tools
1617
1718# start: Config Files
18- PHP_CS_FIXER_CONFIG =.php-cs-fixer.dist.php
19- RECTOR_CONFIG =rector.php
19+ CHURN_CONFIG = churn.yml
20+ INFECTION_CONFIG = infection.json5
21+ PHP_CS_FIXER_CONFIG = .php-cs-fixer.dist.php
22+ PHPUNIT_CONFIG = phpunit.xml.dist
23+ PSALM_CONFIG = psalm.xml
24+ RECTOR_CONFIG = rector.php
2025# end: Config Files
2126
2227# start: Config Options
@@ -49,21 +54,23 @@ help:
4954 @grep -E ' (^[a-zA-Z0-9_-]+:.*?##.*$$)|(^##)' $(MAKEFILE_LIST ) | awk ' BEGIN {FS = ":.*?## "}{printf "\033[32m%-30s\033[0m %s\n", $$1, $$2}' | sed -e ' s/\[32m##/[33m/'
5055
5156.PHONY : install
52- install : vendor $(BARD ) $(CHURN ) $(INFECTION ) $(PHP_CS_FIXER ) $(PHPUNIT ) $(PSALM ) $(RECTOR ) # # Install Dependencies
53- mkdir -p build/{cache,logs}
54- $(COMPOSER ) githooks
57+ install : composer.lock $(BARD ) $(CHURN ) $(INFECTION ) $(PHP_CS_FIXER ) $( PHPACTOR ) $(PHPUNIT ) $(PSALM ) $(RECTOR ) # # Install Dependencies
58+ @ mkdir -p build/{cache,logs,config }
59+ @ $(COMPOSER ) githooks
5560
5661.PHONY : update
5762update : # # Update all the dependencies (root, tools, and packages)
63+ $(info COMPOSER_UPDATE_OPTIONS : $(COMPOSER_UPDATE_OPTIONS ) )
5864 XDEBUG_MODE=off $(COMPOSER ) update $(COMPOSER_UPDATE_OPTIONS )
5965 XDEBUG_MODE=off $(COMPOSER ) update --working-dir=tools/churn $(COMPOSER_UPDATE_OPTIONS )
6066 XDEBUG_MODE=off $(COMPOSER ) update --working-dir=tools/infection $(COMPOSER_UPDATE_OPTIONS )
6167 XDEBUG_MODE=off $(COMPOSER ) update --working-dir=tools/php-cs-fixer $(COMPOSER_UPDATE_OPTIONS )
68+ XDEBUG_MODE=off $(COMPOSER ) update --working-dir=tools/phpactor $(COMPOSER_UPDATE_OPTIONS )
6269 XDEBUG_MODE=off $(COMPOSER ) update --working-dir=tools/phpunit $(COMPOSER_UPDATE_OPTIONS )
6370 XDEBUG_MODE=off $(COMPOSER ) update --working-dir=tools/psalm $(COMPOSER_UPDATE_OPTIONS )
6471 XDEBUG_MODE=off $(COMPOSER ) update --working-dir=tools/rector $(COMPOSER_UPDATE_OPTIONS )
6572 @$(MAKE ) pkg-update
66- $(COMPOSER ) githooks
73+ @ $(COMPOSER ) githooks
6774
6875.PHONY : clean
6976clean : # # Remove all vendor folders, composer.lock files, and removes build artifacts
@@ -87,8 +94,9 @@ upgrade-code: $(RECTOR) $(PHP_CS_FIXER)
8794
8895# NOTE: This may make changes to the source code
8996.PHONY : fix-code
90- fix-code : upgrade-code
91- XDEBUG_MODE=off $(PHP ) $(PSALM ) --alter --issues=all --dry-run
97+ fix-code : PSALM_ISSUES=all
98+ fix-code : upgrade-code $(PSALM )
99+ XDEBUG_MODE=off $(PHP ) $(PSALM ) --alter --issues=$(PSALM_ISSUES ) --dry-run
92100
93101# #---- Testing ------------------------------------------------------------------------
94102.PHONY : test
@@ -118,7 +126,7 @@ php-cs-fixer: $(PHP_CS_FIXER) ## Run php-cs-fixer (dry-run)
118126
119127.PHONY : psalm
120128psalm : $(PSALM ) # # Run Psalm
121- XDEBUG_MODE=off $(PHP ) $(PSALM )
129+ XDEBUG_MODE=off $(PHP ) $(PSALM ) --show-info=true --config= $( PSALM_CONFIG )
122130
123131.PHONY : psalm-baseline
124132psalm-baseline : $(PSALM ) # Updates the baseline file
@@ -151,6 +159,7 @@ pkg-install: $(BARD) ## Runs `composer install` on each package
151159
152160.PHONY : pkg-update
153161pkg-update : $(BARD ) # # Runs `composer update` on each package
162+ $(info Bard: composer update)
154163 $(BARD ) update -n -vvv
155164
156165.PHONY : pkg-merge
@@ -167,26 +176,40 @@ $(BARD): src/SonsOfPHP/Bard/composer.lock
167176src/SonsOfPHP/Bard/composer.lock :
168177 XDEBUG_MODE=off $(COMPOSER ) install --working-dir=src/SonsOfPHP/Bard $(COMPOSER_INSTALL_OPTIONS )
169178
170- $(CHURN ) :
179+ $(CHURN ) : tools/churn/composer.lock
180+
181+ tools/churn/composer.lock :
171182 XDEBUG_MODE=off $(COMPOSER ) install --working-dir=tools/churn $(COMPOSER_INSTALL_OPTIONS )
172183
173- $(INFECTION ) :
184+ $(INFECTION ) : tools/infection/composer.lock
185+
186+ tools/infection/composer.lock :
174187 XDEBUG_MODE=off $(COMPOSER ) install --working-dir=tools/infection $(COMPOSER_INSTALL_OPTIONS )
175188
176- $(PHP_CS_FIXER ) :
189+ $(PHP_CS_FIXER ) : tools/php-cs-fixer/composer.lock
190+
191+ tools/php-cs-fixer/composer.lock :
177192 XDEBUG_MODE=off $(COMPOSER ) install --working-dir=tools/php-cs-fixer $(COMPOSER_INSTALL_OPTIONS )
178193
179- $(PHPUNIT ) :
194+ $(PHPACTOR ) : tools/phpactor/composer.lock
195+
196+ tools/phpactor/composer.lock :
197+ XDEBUG_MODE=off $(COMPOSER ) install --working-dir=tools/phpactor $(COMPOSER_INSTALL_OPTIONS )
198+
199+ $(PHPUNIT ) : tools/phpunit/composer.lock
200+
201+ tools/phpunit/composer.lock :
180202 XDEBUG_MODE=off $(COMPOSER ) install --working-dir=tools/phpunit $(COMPOSER_INSTALL_OPTIONS )
181203
182- $(PSALM ) :
204+ $(PSALM ) : tools/psalm/composer.lock
205+
206+ tools/psalm/composer.lock :
183207 XDEBUG_MODE=off $(COMPOSER ) install --working-dir=tools/psalm $(COMPOSER_INSTALL_OPTIONS )
184208
185- $(RECTOR ) :
209+ $(RECTOR ) : tools/rector/composer.lock
210+
211+ tools/rector/composer.lock :
186212 XDEBUG_MODE=off $(COMPOSER ) install --working-dir=tools/rector $(COMPOSER_INSTALL_OPTIONS )
187213
188214composer.lock :
189215 XDEBUG_MODE=off $(COMPOSER ) install $(COMPOSER_INSTALL_OPTIONS )
190-
191- vendor : composer.json composer.lock
192- XDEBUG_MODE=off $(COMPOSER ) install $(COMPOSER_INSTALL_OPTIONS )
0 commit comments