diff options
author | provokateurin <kate@provokateurin.de> | 2024-08-25 20:40:47 +0200 |
---|---|---|
committer | provokateurin <kate@provokateurin.de> | 2024-08-25 20:40:47 +0200 |
commit | ffc8a86d7d14f2a6801baaa53d0514d6bf3a1f82 (patch) | |
tree | 2919b03f60823a47747fbfe5c3d1816609d25a6f /.php-cs-fixer.dist.php | |
parent | 5d632154c234cd55f9663da6a2e09a1a833c1b6e (diff) | |
download | nextcloud-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.php | 32 |
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); } } |