@@ -6,34 +6,55 @@ ifeq ($(XDEBUG),1)
6
6
XPHPARGS=-dzend_extension =xdebug.so -dxdebug.remote_enable=1 -dxdebug.remote_autostart=1
7
7
endif
8
8
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
+
9
18
all :
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
+
10
31
11
32
check-style : php-cs-fixer.phar
12
33
PHP_CS_FIXER_IGNORE_ENV=1 ./php-cs-fixer.phar fix src/ --diff --dry-run
13
34
14
35
fix-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
18
39
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
22
43
23
44
test :
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
27
48
28
49
lint : 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
34
55
35
56
stan :
36
- php $(PHPARGS ) vendor/bin/phpstan analyse -l 5 src
57
+ $( DOCKER_PHP ) php $(PHPARGS ) vendor/bin/phpstan analyse -l 5 src
37
58
38
59
# copy openapi3 json schema
39
60
schemas/openapi-v3.0.json : vendor/oai/openapi-specification/schemas/v3.0/schema.json
0 commit comments