12345678910111213141516171819202122232425262728293031323334353637 |
- <?php
- declare(strict_types=1);
- /**
- * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors
- * SPDX-License-Identifier: AGPL-3.0-or-later
- */
- require_once './vendor-bin/cs-fixer/vendor/autoload.php';
- use Nextcloud\CodingStandard\Config;
- use PhpCsFixer\Runner\Parallel\ParallelConfigFactory;
- $config = new Config();
- $config
- ->setParallelConfig(ParallelConfigFactory::detect())
- ->getFinder()
- ->exclude('config')
- ->exclude('3rdparty')
- ->exclude('build/stubs')
- ->exclude('composer')
- ->in(__DIR__);
- $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);
- foreach ($ignoredEntries as $ignoredEntry) {
- if (str_ends_with($ignoredEntry, '/')) {
- $config->getFinder()->exclude($ignoredEntry);
- } else {
- $config->getFinder()->notPath($ignoredEntry);
- }
- }
- return $config;
|