From 857d3c68176a7b36f18b1e5e29e2a9018f2ee416 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20DECOOL?= Date: Tue, 24 Oct 2023 20:18:22 +0200 Subject: [PATCH 1/2] Separate dev-tools from project dependencies --- .github/workflows/tests.yml | 8 ++++++-- .gitignore | 3 ++- composer.json | 16 ++-------------- tools/composer.json | 16 ++++++++++++++++ 4 files changed, 26 insertions(+), 17 deletions(-) create mode 100644 tools/composer.json diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index c0ddbae..c3a9963 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -23,8 +23,9 @@ jobs: restore-keys: ${{ runner.os }}-composer- - name: Install Dependencies run: composer install --prefer-dist --no-interaction --optimize-autoloader + working-directory: ./tools - name: Run PHP CS Fixer - run: vendor/bin/php-cs-fixer fix --dry-run --diff + run: tools/vendor/bin/php-cs-fixer fix --dry-run --diff phpstan: @@ -46,10 +47,13 @@ jobs: path: ${{ steps.composer-cache.outputs.dir }} key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} restore-keys: ${{ runner.os }}-composer- + - name: Install Dev Tools + run: composer install --prefer-dist --no-interaction --optimize-autoloader + working-directory: ./tools - name: Install Dependencies run: composer install --prefer-dist --no-interaction --optimize-autoloader - name: Run PHPStan - run: vendor/bin/phpstan + run: tools/vendor/bin/phpstan tests: runs-on: ubuntu-latest diff --git a/.gitignore b/.gitignore index b9532d7..92013ad 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ .phpunit.cache/ -tools/ +tools/vendor/ +tools/composer.lock vendor/ .php-cs-fixer.cache composer.lock diff --git a/composer.json b/composer.json index 8555753..c85e5a4 100644 --- a/composer.json +++ b/composer.json @@ -17,13 +17,11 @@ "require": { "php": ">= 8.1", "ext-json": "*", + "symfony/console": "^5.4|^6.0", "symfony/framework-bundle": "^5.4|^6.0", "symfony/options-resolver": "^5.4|^6.0" }, "require-dev": { - "friendsofphp/php-cs-fixer": "^3.0", - "phpstan/extension-installer": "^1.1", - "phpstan/phpstan": "^1.7", "phpunit/phpunit": "^10.1", "symfony/asset": "^5.4|^6.0", "symfony/browser-kit": "^5.4|^6.0", @@ -38,24 +36,14 @@ "twig/twig": "To check feature in your Twig templates" }, "autoload": { - "psr-4": {"Novaway\\Bundle\\FeatureFlagBundle\\": "src/"}, - "exclude-from-classmap": ["src/Tests/"] + "psr-4": {"Novaway\\Bundle\\FeatureFlagBundle\\": "src/"} }, "autoload-dev": { "psr-4": { - "Novaway\\Bundle\\FeatureFlagBundle\\": "src/Tests/", "Novaway\\Bundle\\FeatureFlagBundle\\Tests\\": "tests/" } }, "config": { - "allow-plugins": { - "phpstan/extension-installer": true - }, "sort-packages": true - }, - "conflict": { - "symfony/dependency-injection": "<5.4", - "symfony/dom-crawler": "<5.4", - "symfony/routing": "<5.4" } } diff --git a/tools/composer.json b/tools/composer.json new file mode 100644 index 0000000..3e6c023 --- /dev/null +++ b/tools/composer.json @@ -0,0 +1,16 @@ +{ + "require": { + "php": "^8.2" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^3.0", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan": "^1.7" + }, + "config": { + "allow-plugins": { + "phpstan/extension-installer": true + }, + "sort-packages": true + } +} From cee363294dd4e84deeaf63fa0c0fb181061202c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20DECOOL?= Date: Tue, 24 Oct 2023 21:06:30 +0200 Subject: [PATCH 2/2] Add Makefile to run common commands --- .editorconfig | 3 +++ Makefile | 23 +++++++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 Makefile diff --git a/.editorconfig b/.editorconfig index cf80b4e..3734d6e 100644 --- a/.editorconfig +++ b/.editorconfig @@ -7,3 +7,6 @@ insert_final_newline = true indent_style = space indent_size = 4 trim_trailing_whitespace = true + +[Makefile] +indent_style = tab diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..049a0c8 --- /dev/null +++ b/Makefile @@ -0,0 +1,23 @@ +install: composer.install tools.install + +composer.install: + composer install + +clean: + rm -rf composer.lock vendor/ + rm -rf tools/composer.lock tools/vendor/ + +tools.install: + composer -d tools install + +cs: + tools/vendor/bin/php-cs-fixer fix --verbose --diff --dry-run + +cs.fix: + tools/vendor/bin/php-cs-fixer fix --verbose --diff + +phpstan: + tools/vendor/bin/phpstan + +phpunit: + vendor/bin/phpunit