aboutsummaryrefslogtreecommitdiffstats
path: root/.php-cs-fixer.dist.php
diff options
context:
space:
mode:
authorprovokateurin <kate@provokateurin.de>2024-08-25 20:40:47 +0200
committerprovokateurin <kate@provokateurin.de>2024-08-25 20:40:47 +0200
commitffc8a86d7d14f2a6801baaa53d0514d6bf3a1f82 (patch)
tree2919b03f60823a47747fbfe5c3d1816609d25a6f /.php-cs-fixer.dist.php
parent5d632154c234cd55f9663da6a2e09a1a833c1b6e (diff)
downloadnextcloud-server-ffc8a86d7d14f2a6801baaa53d0514d6bf3a1f82.tar.gz
nextcloud-server-ffc8a86d7d14f2a6801baaa53d0514d6bf3a1f82.zip
fix(cs-fixer): Correctly ignore files ignored by git
Signed-off-by: provokateurin <kate@provokateurin.de>
Diffstat (limited to '.php-cs-fixer.dist.php')
-rw-r--r--.php-cs-fixer.dist.php32
1 files changed, 13 insertions, 19 deletions
diff --git a/.php-cs-fixer.dist.php b/.php-cs-fixer.dist.php
index c6ce8bbea34..1cb5dd2f7ce 100644
--- a/.php-cs-fixer.dist.php
+++ b/.php-cs-fixer.dist.php
@@ -14,29 +14,23 @@ $config = new Config();
$config
->setParallelConfig(ParallelConfigFactory::detect())
->getFinder()
- ->ignoreVCSIgnored(true)
->exclude('config')
- ->exclude('data')
- ->notPath('3rdparty')
- ->notPath('build/integration/vendor')
- ->notPath('build/lib')
- ->notPath('build/node_modules')
- ->notPath('build/stubs')
- ->notPath('composer')
- ->notPath('node_modules')
- ->notPath('vendor')
- ->in('apps')
+ ->exclude('3rdparty')
+ ->exclude('build/stubs')
+ ->exclude('composer')
->in(__DIR__);
-// Ignore additional app directories
-$rootDir = new \DirectoryIterator(__DIR__);
-foreach ($rootDir as $node) {
- if (str_starts_with($node->getFilename(), 'apps')) {
- $return = shell_exec('git check-ignore ' . escapeshellarg($node->getFilename() . '/'));
+$ignoredEntries = shell_exec('git status --porcelain --ignored ' . escapeshellarg(__DIR__));
+$ignoredEntries = explode("\n", $ignoredEntries);
+$ignoredEntries = array_filter($ignoredEntries, static fn (string $line) => str_starts_with($line, '!! '));
+$ignoredEntries = array_map(static fn (string $line) => substr($line, 3), $ignoredEntries);
+$ignoredEntries = array_values($ignoredEntries);
- if ($return !== null) {
- $config->getFinder()->exclude($node->getFilename());
- }
+foreach ($ignoredEntries as $ignoredEntry) {
+ if (str_ends_with($ignoredEntry, '/')) {
+ $config->getFinder()->exclude($ignoredEntry);
+ } else {
+ $config->getFinder()->notPath($ignoredEntry);
}
}