From eb909406fe7d6787b309fe5ae244b39990a7fcc5 Mon Sep 17 00:00:00 2001 From: Sybille Peters Date: Tue, 11 Apr 2023 10:24:24 +0200 Subject: [PATCH] [TASK] Unify web-dir, bin-dir (#807) The following are changed: - web-dir: ".Build/public" => ".Build/Web" - bin-dir: not specified, defaulted to .Build/vendor/bin => ".Build/bin" The vendor-dir was alreaday ".Build/vendor" and is left unchanged. Since the above paths may be used in scripts, composer.json, build pipelines, configuration etc. it facilitates contribution across various extensions (and the core) if the same defaults are used. The goal of patches related to #802 is to unify the paths across TYPO3 extensions, specifically focusing on the "official" extensions (such as tea, Documentation examples extension etc.). - .Build has already been well established (and is used by "tea" as well. - web-dir (".Build/Web") is currently not used consistently (across official extensions). Either ".Build/public", ".Build/Web" or ".Build/web" or "public" is used. We use ".Build/Web" now as that is already well established in "styleguide" and other extensions. (This choice is not better than the other, but is more commonly used and has led to a consensus in preliminary decision making process.) - bin-dir: Here ".Build/bin" is mostly used (if defined at all) - vendor-dir: Here ".Build/vendor" is mostly used (if defined at all) Related: #802 --- .github/workflows/codecoverage.yml | 2 +- composer.json | 21 +++++++++++---------- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/.github/workflows/codecoverage.yml b/.github/workflows/codecoverage.yml index 17320f0..faa1281 100644 --- a/.github/workflows/codecoverage.yml +++ b/.github/workflows/codecoverage.yml @@ -70,7 +70,7 @@ jobs: - name: "Upload coverage results to Coveralls" env: COVERALLS_REPO_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: ./.Build/vendor/bin/php-coveralls --coverage_clover=./.Build/logs/clover.xml --json_path=./.Build/logs/coveralls-upload.json -v + run: ./.Build/bin/php-coveralls --coverage_clover=./.Build/logs/clover.xml --json_path=./.Build/logs/coveralls-upload.json -v strategy: fail-fast: false matrix: diff --git a/composer.json b/composer.json index e037e85..6d5a489 100644 --- a/composer.json +++ b/composer.json @@ -79,6 +79,7 @@ "typo3/class-alias-loader": true, "typo3/cms-composer-installers": true }, + "bin-dir": ".Build/bin", "preferred-install": { "*": "dist" }, @@ -92,7 +93,7 @@ "typo3/cms": { "app-dir": ".Build", "extension-key": "tea", - "web-dir": ".Build/public" + "web-dir": ".Build/Web" } }, "scripts": { @@ -110,7 +111,7 @@ ], "ci:coverage:functional": [ "@coverage:create-directories", - ".Build/vendor/bin/phpunit -c .Build/vendor/typo3/testing-framework/Resources/Core/Build/FunctionalTests.xml --whitelist Classes --coverage-php=.Build/coverage/functional.cov Tests/Functional" + ".Build/bin/phpunit -c .Build/vendor/typo3/testing-framework/Resources/Core/Build/FunctionalTests.xml --whitelist Classes --coverage-php=.Build/coverage/functional.cov Tests/Functional" ], "ci:coverage:merge": [ "@coverage:create-directories", @@ -118,12 +119,12 @@ ], "ci:coverage:unit": [ "@coverage:create-directories", - ".Build/vendor/bin/phpunit -c .Build/vendor/typo3/testing-framework/Resources/Core/Build/UnitTests.xml --whitelist Classes --coverage-php=.Build/coverage/unit.cov Tests/Unit" + ".Build/bin/phpunit -c .Build/vendor/typo3/testing-framework/Resources/Core/Build/UnitTests.xml --whitelist Classes --coverage-php=.Build/coverage/unit.cov Tests/Unit" ], "ci:dynamic": [ "@ci:tests" ], - "ci:json:lint": "find . ! -path '*.Build/*' ! -path '*node_modules/*' -name '*.json' | xargs -r php .Build/vendor/bin/jsonlint -q", + "ci:json:lint": "find . ! -path '*.Build/*' ! -path '*node_modules/*' -name '*.json' | xargs -r php .Build/bin/jsonlint -q", "ci:php": [ "@ci:php:cs-fixer", "@ci:php:lint", @@ -148,10 +149,10 @@ "@ci:tests:unit", "@ci:tests:functional" ], - "ci:tests:functional": "find 'Tests/Functional' -wholename '*Test.php' | parallel --gnu 'echo; echo \"Running functional test suite {}\"; .Build/vendor/bin/phpunit -c .Build/vendor/typo3/testing-framework/Resources/Core/Build/FunctionalTests.xml {}';", - "ci:tests:unit": ".Build/vendor/bin/phpunit -c .Build/vendor/typo3/testing-framework/Resources/Core/Build/UnitTests.xml Tests/Unit", + "ci:tests:functional": "find 'Tests/Functional' -wholename '*Test.php' | parallel --gnu 'echo; echo \"Running functional test suite {}\"; .Build/bin/phpunit -c .Build/vendor/typo3/testing-framework/Resources/Core/Build/FunctionalTests.xml {}';", + "ci:tests:unit": ".Build/bin/phpunit -c .Build/vendor/typo3/testing-framework/Resources/Core/Build/UnitTests.xml Tests/Unit", "ci:ts:lint": "typoscript-lint -c Configuration/TsLint.yml --ansi -n --fail-on-warnings -vvv Configuration/TypoScript", - "ci:yaml:lint": "find . ! -path '*.Build/*' ! -path '*node_modules/*' -regextype egrep -regex '.*.ya?ml$' | xargs -r php ./.Build/vendor/bin/yaml-lint", + "ci:yaml:lint": "find . ! -path '*.Build/*' ! -path '*node_modules/*' -regextype egrep -regex '.*.ya?ml$' | xargs -r php ./.Build/bin/yaml-lint", "coverage:create-directories": "mkdir -p .Build/logs .Build/coverage", "docs:generate": [ "docker run --rm t3docs/render-documentation show-shell-commands > tempfile.sh; echo 'dockrun_t3rd makehtml' >> tempfile.sh; bash tempfile.sh; rm tempfile.sh" @@ -163,10 +164,10 @@ "fix:php:cs": "php-cs-fixer fix --config .php-cs-fixer.php", "fix:php:sniff": "phpcbf Classes Configuration Tests", "link-extension": [ - "@php -r 'is_dir($extFolder=__DIR__.\"/.Build/public/typo3conf/ext/\") || mkdir($extFolder, 0777, true);'", - "@php -r 'file_exists($extFolder=__DIR__.\"/.Build/public/typo3conf/ext/tea\") || symlink(__DIR__,$extFolder);'" + "@php -r 'is_dir($extFolder=__DIR__.\"/.Build/Web/typo3conf/ext/\") || mkdir($extFolder, 0777, true);'", + "@php -r 'file_exists($extFolder=__DIR__.\"/.Build/Web/typo3conf/ext/tea\") || symlink(__DIR__,$extFolder);'" ], - "phpstan:baseline": ".Build/vendor/bin/phpstan --generate-baseline=phpstan-baseline.neon", + "phpstan:baseline": ".Build/bin/phpstan --generate-baseline=phpstan-baseline.neon", "prepare-release": [ "rm .gitignore", "rm -rf .Build",