Skip to content

Commit

Permalink
Set up PHPStan
Browse files Browse the repository at this point in the history
  • Loading branch information
tjdraper committed Jul 19, 2019
1 parent 4216433 commit 7aa9387
Show file tree
Hide file tree
Showing 5 changed files with 52 additions and 7 deletions.
25 changes: 19 additions & 6 deletions dev
Expand Up @@ -25,35 +25,48 @@ if [[ -z "${cmd}" ]]; then
printf "${Green}The following commands are available:\n${Yellow}";
printf " ./dev up\n";
printf " ./dev down\n";
printf " ./dev test\n";
printf " ./dev phpstan [args]\n";
printf " ./dev phpunit [args]\n";
printf " ./dev craft [args]\n";
printf " ./dev composer [args]\n";
printf " ./dev login [args]${Reset}\n";
fi

if [[ "${cmd}" = "up" ]]; then
valid=true;
docker-compose -f docker-compose.yml -p craft-static up -d
docker exec -it --user root --workdir /app php-craft-static bash -c "cd /app && composer install"
docker-compose -f docker-compose.yml -p craft-static up -d;
docker exec -it --user root --workdir /app php-craft-static bash -c "cd /app && composer install";
fi

if [[ "${cmd}" = "down" ]]; then
valid=true;
docker-compose -f docker-compose.yml -p craft-static down
docker-compose -f docker-compose.yml -p craft-static down;
fi

if [[ "${cmd}" = "phpstan" ]] || [[ "${cmd}" = "test" ]]; then
valid=true;
docker exec -it --user root --workdir /app php-craft-static bash -c "chmod +x /app/vendor/bin/phpstan && /app/vendor/bin/phpstan analyse src ${allArgsExceptFirst}"
fi

if [[ "${cmd}" = "phpunit" ]] || [[ "${cmd}" = "test" ]]; then
valid=true;
docker exec -it --user root --workdir /app php-craft-static bash -c "chmod +x /app/vendor/bin/phpunit && /app/vendor/bin/phpunit --configuration /app/phpunit.xml ${allArgsExceptFirst}"
fi

if [[ "${cmd}" = "craft" ]]; then
valid=true;
docker exec -it --user root --workdir /app/testenvironment/public php-craft-static bash -c "php index.php ${allArgsExceptFirst}"
docker exec -it --user root --workdir /app/testenvironment/public php-craft-static bash -c "php index.php ${allArgsExceptFirst}";
fi

if [[ "${cmd}" = "composer" ]]; then
valid=true;
docker exec -it --user root --workdir /app php-craft-static bash -c "${allArgs}"
docker exec -it --user root --workdir /app php-craft-static bash -c "${allArgs}";
fi

if [[ "${cmd}" = "login" ]]; then
valid=true;
docker exec -it --user root ${secondArg}-craft-static bash
docker exec -it --user root ${secondArg}-craft-static bash;
fi

if [[ "${valid}" != "true" ]]; then
Expand Down
17 changes: 17 additions & 0 deletions dev.bat
Expand Up @@ -11,6 +11,9 @@ if "%cmd%" == "" (
echo The following commands are available:
echo .\dev up
echo .\dev down
echo .\dev test
echo .\dev phpstan [args]
echo .\dev phpunit [args]
echo .\dev craft [args]
echo .\dev composer [args]
echo .\dev login [args]
Expand All @@ -32,6 +35,12 @@ if "%cmd%" == "craft" (
docker exec -it --user root --workdir /app php-craft-static bash -c "php %allArgs%"
)

if "%cmd%" == "test" (
set valid=true
call :phpstan
call :phpunit
)

if "%cmd%" == "composer" (
set valid=true
docker exec -it --user root --workdir /app php-craft-static bash -c "%allArgs%"
Expand All @@ -48,3 +57,11 @@ if not "%valid%" == "true" (
)

exit /b 0

:phpstan
docker exec -it --user root --workdir /app php-craft-static bash -c "chmod +x /app/vendor/bin/phpstan && /app/vendor/bin/phpstan analyse src %allArgsExceptFirst%"
exit /b 0

:phpunit
docker exec -it --user root --workdir /app php-craft-static bash -c "chmod +x /app/vendor/bin/phpunit && /app/vendor/bin/phpunit --configuration /app/phpunit.xml %allArgsExceptFirst%"
exit /b 0
6 changes: 6 additions & 0 deletions phpstan.neon
@@ -0,0 +1,6 @@
parameters:
level: max
bootstrap: %currentWorkingDirectory%/phpstanbootstrap.php

includes:
- vendor/phpstan/phpstan-deprecation-rules/rules.neon
9 changes: 9 additions & 0 deletions phpstanbootstrap.php
@@ -0,0 +1,9 @@
<?php

declare(strict_types=1);

define('CRAFT_BASE_PATH', dirname(__DIR__));
define('CRAFT_VENDOR_PATH', CRAFT_BASE_PATH . '/vendor');

require_once __DIR__ . '/vendor/craftcms/cms/lib/yii2/Yii.php';
require_once __DIR__ . '/vendor/craftcms/cms/src/Craft.php';
2 changes: 1 addition & 1 deletion src/models/SettingsModel.php
Expand Up @@ -31,7 +31,7 @@ public function init() : void
$this->cachePath = $docRoot . $sep . 'cache';
}

/** @var string $cachePath */
/** @var string|bool $cachePath */
public $cachePath = false;

/** @var bool $nixBasedClearCache */
Expand Down

0 comments on commit 7aa9387

Please sign in to comment.