@@ -6,34 +6,55 @@ ifeq ($(XDEBUG),1)
66XPHPARGS=-dzend_extension =xdebug.so -dxdebug.remote_enable=1 -dxdebug.remote_autostart=1
77endif
88
9+ # Run make with IN_DOCKER=1 to run yarn and php commands in a docker container
10+ DOCKER_PHP =
11+ DOCKER_NODE =
12+ IN_DOCKER =0
13+ ifeq ($(IN_DOCKER ) ,1)
14+ DOCKER_PHP =docker-compose run --rm php
15+ DOCKER_NODE =docker-compose run --rm -w /app node
16+ endif
17+
918all :
19+ @echo " the following commands are available:"
20+ @echo " "
21+ @echo " make check-style # check code style"
22+ @echo " make fix-style # fix code style"
23+ @echo " make install # install dependencies"
24+ @echo " make test # run PHPUnit tests"
25+ @echo " make lint # check validity of test data"
26+ @echo " make stan # check code with PHPStan"
27+ @echo " "
28+ @echo " You may add the IN_DOCKER parameter to run a command inside of docker container and not directly."
29+ @echo " make IN_DOCKER=1 ..."
30+
1031
1132check-style : php-cs-fixer.phar
1233 PHP_CS_FIXER_IGNORE_ENV=1 ./php-cs-fixer.phar fix src/ --diff --dry-run
1334
1435fix-style : php-cs-fixer.phar
15- vendor/bin/indent --tabs composer.json
16- vendor/bin/indent --spaces .php_cs.dist
17- ./php-cs-fixer.phar fix src/ --diff
36+ $( DOCKER_PHP ) vendor/bin/indent --tabs composer.json
37+ $( DOCKER_PHP ) vendor/bin/indent --spaces .php_cs.dist
38+ $( DOCKER_PHP ) ./php-cs-fixer.phar fix src/ --diff
1839
19- install :
20- composer install --prefer-dist --no-interaction --no-progress --ansi
21- yarn install
40+ install : composer.lock yarn.lock
41+ $( DOCKER_PHP ) composer install --prefer-dist --no-interaction --no-progress --ansi
42+ $( DOCKER_NODE ) yarn install
2243
2344test :
24- php $(PHPARGS ) $(XPHPARGS ) vendor/bin/phpunit --verbose --colors=always $(TESTCASE )
25- php $(PHPARGS ) $(XPHPARGS ) bin/php-openapi validate tests/spec/data/recursion.json
26- php $(PHPARGS ) $(XPHPARGS ) bin/php-openapi validate tests/spec/data/recursion2.yaml
45+ $( DOCKER_PHP ) php $(PHPARGS ) $(XPHPARGS ) vendor/bin/phpunit --verbose --colors=always $(TESTCASE )
46+ $( DOCKER_PHP ) php $(PHPARGS ) $(XPHPARGS ) bin/php-openapi validate tests/spec/data/recursion.json
47+ $( DOCKER_PHP ) php $(PHPARGS ) $(XPHPARGS ) bin/php-openapi validate tests/spec/data/recursion2.yaml
2748
2849lint : install
29- php $(PHPARGS ) $(XPHPARGS ) bin/php-openapi validate tests/spec/data/reference/playlist.json
30- php $(PHPARGS ) $(XPHPARGS ) bin/php-openapi validate tests/spec/data/recursion.json
31- php $(PHPARGS ) $(XPHPARGS ) bin/php-openapi validate tests/spec/data/recursion2.yaml
32- yarn run speccy lint tests/spec/data/reference/playlist.json
33- yarn run speccy lint tests/spec/data/recursion.json
50+ $( DOCKER_PHP ) php $(PHPARGS ) $(XPHPARGS ) bin/php-openapi validate tests/spec/data/reference/playlist.json
51+ $( DOCKER_PHP ) php $(PHPARGS ) $(XPHPARGS ) bin/php-openapi validate tests/spec/data/recursion.json
52+ $( DOCKER_PHP ) php $(PHPARGS ) $(XPHPARGS ) bin/php-openapi validate tests/spec/data/recursion2.yaml
53+ $( DOCKER_NODE ) yarn run speccy lint tests/spec/data/reference/playlist.json
54+ $( DOCKER_NODE ) yarn run speccy lint tests/spec/data/recursion.json
3455
3556stan :
36- php $(PHPARGS ) vendor/bin/phpstan analyse -l 5 src
57+ $( DOCKER_PHP ) php $(PHPARGS ) vendor/bin/phpstan analyse -l 5 src
3758
3859# copy openapi3 json schema
3960schemas/openapi-v3.0.json : vendor/oai/openapi-specification/schemas/v3.0/schema.json
0 commit comments