Completed
Push — develop ( 32764c...cb3cfa )
by
unknown
20:26
created
vendor/brianhenryie/strauss/tests/Issues/MozartIssue93Test.php 4 patches
Indentation   +26 added lines, -26 removed lines patch added patch discarded remove patch
@@ -17,21 +17,21 @@  discard block
 block discarded – undo
17 17
  */
18 18
 class MozartIssue93Test extends IntegrationTestCase
19 19
 {
20
-    /**
21
-     * Issue #93 shows a classname being updated inside a class whose namespace has also been updated
22
-     * by Mozart.
23
-     *
24
-     * This is caused by the same files being loaded by both a PSR-4 autolaoder and classmap autoloader.
25
-     * @see https://github.com/katzgrau/KLogger/blob/de2d3ab6777a393a9879e0496ebb8e0644066e3f/composer.json#L24-L29
26
-     *
27
-     * @author BrianHenryIE
28
-     */
29
-    public function test_it_does_not_make_classname_replacement_inside_namespaced_file()
30
-    {
20
+	/**
21
+	 * Issue #93 shows a classname being updated inside a class whose namespace has also been updated
22
+	 * by Mozart.
23
+	 *
24
+	 * This is caused by the same files being loaded by both a PSR-4 autolaoder and classmap autoloader.
25
+	 * @see https://github.com/katzgrau/KLogger/blob/de2d3ab6777a393a9879e0496ebb8e0644066e3f/composer.json#L24-L29
26
+	 *
27
+	 * @author BrianHenryIE
28
+	 */
29
+	public function test_it_does_not_make_classname_replacement_inside_namespaced_file()
30
+	{
31 31
 
32
-        $this->markTestSkipped('Not respecting the pinned commit.');
32
+		$this->markTestSkipped('Not respecting the pinned commit.');
33 33
 
34
-        $composerJsonString = <<<'EOD'
34
+		$composerJsonString = <<<'EOD'
35 35
 {
36 36
 	"name": "brianhenryie/mozart-issue-93",
37 37
 	"repositories": [{
@@ -51,25 +51,25 @@  discard block
 block discarded – undo
51 51
 }
52 52
 EOD;
53 53
 
54
-        file_put_contents($this->testsWorkingDir . '/composer.json', $composerJsonString);
54
+		file_put_contents($this->testsWorkingDir . '/composer.json', $composerJsonString);
55 55
 
56
-        chdir($this->testsWorkingDir);
56
+		chdir($this->testsWorkingDir);
57 57
 
58
-        exec('composer install');
58
+		exec('composer install');
59 59
 
60
-        $inputInterfaceMock = $this->createMock(InputInterface::class);
61
-        $outputInterfaceMock = $this->createMock(OutputInterface::class);
60
+		$inputInterfaceMock = $this->createMock(InputInterface::class);
61
+		$outputInterfaceMock = $this->createMock(OutputInterface::class);
62 62
 
63
-        $mozartCompose = new Compose();
63
+		$mozartCompose = new Compose();
64 64
 
65
-        $mozartCompose->run($inputInterfaceMock, $outputInterfaceMock);
65
+		$mozartCompose->run($inputInterfaceMock, $outputInterfaceMock);
66 66
 
67
-        $php_string = file_get_contents($this->testsWorkingDir .'strauss/brianhenryie/wp-logger/src/class-logger.php');
67
+		$php_string = file_get_contents($this->testsWorkingDir .'strauss/brianhenryie/wp-logger/src/class-logger.php');
68 68
 
69
-        // Confirm problem is gone.
70
-        $this->assertStringNotContainsString('class BrianHenryIE_Strauss_Logger extends', $php_string);
69
+		// Confirm problem is gone.
70
+		$this->assertStringNotContainsString('class BrianHenryIE_Strauss_Logger extends', $php_string);
71 71
 
72
-        // Confirm solution is correct.
73
-        $this->assertStringContainsString('class Logger extends', $php_string);
74
-    }
72
+		// Confirm solution is correct.
73
+		$this->assertStringContainsString('class Logger extends', $php_string);
74
+	}
75 75
 }
Please login to merge, or discard this patch.
Spacing   +10 added lines, -10 removed lines patch added patch discarded remove patch
@@ -29,7 +29,7 @@  discard block
 block discarded – undo
29 29
     public function test_it_does_not_make_classname_replacement_inside_namespaced_file()
30 30
     {
31 31
 
32
-        $this->markTestSkipped('Not respecting the pinned commit.');
32
+        $this->markTestSkipped( 'Not respecting the pinned commit.' );
33 33
 
34 34
         $composerJsonString = <<<'EOD'
35 35
 {
@@ -51,25 +51,25 @@  discard block
 block discarded – undo
51 51
 }
52 52
 EOD;
53 53
 
54
-        file_put_contents($this->testsWorkingDir . '/composer.json', $composerJsonString);
54
+        file_put_contents( $this->testsWorkingDir . '/composer.json', $composerJsonString );
55 55
 
56
-        chdir($this->testsWorkingDir);
56
+        chdir( $this->testsWorkingDir );
57 57
 
58
-        exec('composer install');
58
+        exec( 'composer install' );
59 59
 
60
-        $inputInterfaceMock = $this->createMock(InputInterface::class);
61
-        $outputInterfaceMock = $this->createMock(OutputInterface::class);
60
+        $inputInterfaceMock = $this->createMock( InputInterface::class );
61
+        $outputInterfaceMock = $this->createMock( OutputInterface::class );
62 62
 
63 63
         $mozartCompose = new Compose();
64 64
 
65
-        $mozartCompose->run($inputInterfaceMock, $outputInterfaceMock);
65
+        $mozartCompose->run( $inputInterfaceMock, $outputInterfaceMock );
66 66
 
67
-        $php_string = file_get_contents($this->testsWorkingDir .'strauss/brianhenryie/wp-logger/src/class-logger.php');
67
+        $php_string = file_get_contents( $this->testsWorkingDir . 'strauss/brianhenryie/wp-logger/src/class-logger.php' );
68 68
 
69 69
         // Confirm problem is gone.
70
-        $this->assertStringNotContainsString('class BrianHenryIE_Strauss_Logger extends', $php_string);
70
+        $this->assertStringNotContainsString( 'class BrianHenryIE_Strauss_Logger extends', $php_string );
71 71
 
72 72
         // Confirm solution is correct.
73
-        $this->assertStringContainsString('class Logger extends', $php_string);
73
+        $this->assertStringContainsString( 'class Logger extends', $php_string );
74 74
     }
75 75
 }
Please login to merge, or discard this patch.
Braces   +2 added lines, -4 removed lines patch added patch discarded remove patch
@@ -15,8 +15,7 @@  discard block
 block discarded – undo
15 15
  * Class MozartIssue93Test
16 16
  * @coversNothing
17 17
  */
18
-class MozartIssue93Test extends IntegrationTestCase
19
-{
18
+class MozartIssue93Test extends IntegrationTestCase {
20 19
     /**
21 20
      * Issue #93 shows a classname being updated inside a class whose namespace has also been updated
22 21
      * by Mozart.
@@ -26,8 +25,7 @@  discard block
 block discarded – undo
26 25
      *
27 26
      * @author BrianHenryIE
28 27
      */
29
-    public function test_it_does_not_make_classname_replacement_inside_namespaced_file()
30
-    {
28
+    public function test_it_does_not_make_classname_replacement_inside_namespaced_file() {
31 29
 
32 30
         $this->markTestSkipped('Not respecting the pinned commit.');
33 31
 
Please login to merge, or discard this patch.
Upper-Lower-Casing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -49,7 +49,7 @@
 block discarded – undo
49 49
 	},
50 50
 	"minimum-stability": "dev"
51 51
 }
52
-EOD;
52
+eod;
53 53
 
54 54
         file_put_contents($this->testsWorkingDir . '/composer.json', $composerJsonString);
55 55
 
Please login to merge, or discard this patch.
vendor/brianhenryie/strauss/tests/Issues/MozartIssue43Test.php 4 patches
Indentation   +19 added lines, -19 removed lines patch added patch discarded remove patch
@@ -21,17 +21,17 @@  discard block
 block discarded – undo
21 21
 class MozartIssue43Test extends IntegrationTestCase
22 22
 {
23 23
 
24
-    /**
25
-     * Issue 43. Needs "aws/aws-sdk-php".
26
-     *
27
-     * League\Flysystem\FileExistsException : File already exists at path:
28
-     * dep_directory/vendor/guzzle/guzzle/src/Guzzle/Cache/Zf1CacheAdapter.php
29
-     */
30
-    public function testAwsSdkSucceeds()
31
-    {
32
-        $this->markTestSkipped('Very slow to run');
24
+	/**
25
+	 * Issue 43. Needs "aws/aws-sdk-php".
26
+	 *
27
+	 * League\Flysystem\FileExistsException : File already exists at path:
28
+	 * dep_directory/vendor/guzzle/guzzle/src/Guzzle/Cache/Zf1CacheAdapter.php
29
+	 */
30
+	public function testAwsSdkSucceeds()
31
+	{
32
+		$this->markTestSkipped('Very slow to run');
33 33
 
34
-        $composerJsonString = <<<'EOD'
34
+		$composerJsonString = <<<'EOD'
35 35
 {
36 36
 	"name": "brianhenryie/mozart-issue-43",
37 37
 	"require": {
@@ -53,21 +53,21 @@  discard block
 block discarded – undo
53 53
 }
54 54
 EOD;
55 55
 
56
-        file_put_contents($this->testsWorkingDir . '/composer.json', $composerJsonString);
56
+		file_put_contents($this->testsWorkingDir . '/composer.json', $composerJsonString);
57 57
 
58
-        chdir($this->testsWorkingDir);
58
+		chdir($this->testsWorkingDir);
59 59
 
60
-        exec('composer install');
60
+		exec('composer install');
61 61
 
62
-        $inputInterfaceMock = $this->createMock(InputInterface::class);
63
-        $outputInterfaceMock = $this->createMock(OutputInterface::class);
62
+		$inputInterfaceMock = $this->createMock(InputInterface::class);
63
+		$outputInterfaceMock = $this->createMock(OutputInterface::class);
64 64
 
65
-        $strauss = new Compose();
65
+		$strauss = new Compose();
66 66
 
67
-        $result = $strauss->run($inputInterfaceMock, $outputInterfaceMock);
67
+		$result = $strauss->run($inputInterfaceMock, $outputInterfaceMock);
68 68
 //
69 69
 //        $this->assertEquals(0, $result);
70 70
 
71
-        $this->assertFileExists($this->testsWorkingDir . '/strauss/aws/aws-sdk-php/src/AWS/Common/Aws.php');
72
-    }
71
+		$this->assertFileExists($this->testsWorkingDir . '/strauss/aws/aws-sdk-php/src/AWS/Common/Aws.php');
72
+	}
73 73
 }
Please login to merge, or discard this patch.
Spacing   +8 added lines, -8 removed lines patch added patch discarded remove patch
@@ -29,7 +29,7 @@  discard block
 block discarded – undo
29 29
      */
30 30
     public function testAwsSdkSucceeds()
31 31
     {
32
-        $this->markTestSkipped('Very slow to run');
32
+        $this->markTestSkipped( 'Very slow to run' );
33 33
 
34 34
         $composerJsonString = <<<'EOD'
35 35
 {
@@ -53,21 +53,21 @@  discard block
 block discarded – undo
53 53
 }
54 54
 EOD;
55 55
 
56
-        file_put_contents($this->testsWorkingDir . '/composer.json', $composerJsonString);
56
+        file_put_contents( $this->testsWorkingDir . '/composer.json', $composerJsonString );
57 57
 
58
-        chdir($this->testsWorkingDir);
58
+        chdir( $this->testsWorkingDir );
59 59
 
60
-        exec('composer install');
60
+        exec( 'composer install' );
61 61
 
62
-        $inputInterfaceMock = $this->createMock(InputInterface::class);
63
-        $outputInterfaceMock = $this->createMock(OutputInterface::class);
62
+        $inputInterfaceMock = $this->createMock( InputInterface::class );
63
+        $outputInterfaceMock = $this->createMock( OutputInterface::class );
64 64
 
65 65
         $strauss = new Compose();
66 66
 
67
-        $result = $strauss->run($inputInterfaceMock, $outputInterfaceMock);
67
+        $result = $strauss->run( $inputInterfaceMock, $outputInterfaceMock );
68 68
 //
69 69
 //        $this->assertEquals(0, $result);
70 70
 
71
-        $this->assertFileExists($this->testsWorkingDir . '/strauss/aws/aws-sdk-php/src/AWS/Common/Aws.php');
71
+        $this->assertFileExists( $this->testsWorkingDir . '/strauss/aws/aws-sdk-php/src/AWS/Common/Aws.php' );
72 72
     }
73 73
 }
Please login to merge, or discard this patch.
Braces   +2 added lines, -4 removed lines patch added patch discarded remove patch
@@ -18,8 +18,7 @@  discard block
 block discarded – undo
18 18
  * @package BrianHenryIE\Strauss\Tests\Issues
19 19
  * @coversNothing
20 20
  */
21
-class MozartIssue43Test extends IntegrationTestCase
22
-{
21
+class MozartIssue43Test extends IntegrationTestCase {
23 22
 
24 23
     /**
25 24
      * Issue 43. Needs "aws/aws-sdk-php".
@@ -27,8 +26,7 @@  discard block
 block discarded – undo
27 26
      * League\Flysystem\FileExistsException : File already exists at path:
28 27
      * dep_directory/vendor/guzzle/guzzle/src/Guzzle/Cache/Zf1CacheAdapter.php
29 28
      */
30
-    public function testAwsSdkSucceeds()
31
-    {
29
+    public function testAwsSdkSucceeds() {
32 30
         $this->markTestSkipped('Very slow to run');
33 31
 
34 32
         $composerJsonString = <<<'EOD'
Please login to merge, or discard this patch.
Upper-Lower-Casing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -74,7 +74,7 @@
 block discarded – undo
74 74
 		}
75 75
 	}
76 76
 }
77
-EOD;
77
+eod;
78 78
 
79 79
         file_put_contents($this->testsWorkingDir . '/composer.json', $composerJsonString);
80 80
 
Please login to merge, or discard this patch.
vendor/brianhenryie/strauss/src/Copier.php 3 patches
Indentation   +68 added lines, -68 removed lines patch added patch discarded remove patch
@@ -19,72 +19,72 @@
 block discarded – undo
19 19
 
20 20
 class Copier
21 21
 {
22
-    /**
23
-     * The only path variable with a leading slash.
24
-     * All directories in project end with a slash.
25
-     *
26
-     * @var string
27
-     */
28
-    protected string $workingDir;
29
-
30
-    protected string $targetDir;
31
-
32
-    protected array $filepaths;
33
-
34
-    /** @var Filesystem */
35
-    protected Filesystem $filesystem;
36
-
37
-    /**
38
-     * Copier constructor.
39
-     * @param array<string, ComposerPackage> $filepaths
40
-     * @param string $workingDir
41
-     * @param string $relativeTargetDir
42
-     */
43
-    public function __construct(array $filepaths, string $workingDir, string $relativeTargetDir)
44
-    {
45
-        $this->filepaths = array_keys($filepaths);
46
-
47
-        $this->workingDir = $workingDir;
48
-
49
-        $this->targetDir = $relativeTargetDir;
50
-
51
-        $this->filesystem = new Filesystem(new Local($this->workingDir));
52
-    }
53
-
54
-    /**
55
-     * If the target dir does not exist, create it.
56
-     * If it already exists, delete any files we're about to copy.
57
-     *
58
-     * @return void
59
-     */
60
-    public function prepareTarget(): void
61
-    {
62
-        if (! $this->filesystem->has($this->targetDir)) {
63
-            $this->filesystem->createDir($this->targetDir);
64
-        } else {
65
-            foreach ($this->filepaths as $vendorRelativeFilepath) {
66
-                $projectRelativeFilepath = $this->targetDir . $vendorRelativeFilepath;
67
-
68
-                if ($this->filesystem->has($projectRelativeFilepath)) {
69
-                    $this->filesystem->delete($projectRelativeFilepath);
70
-                }
71
-            }
72
-        }
73
-    }
74
-
75
-
76
-    /**
77
-     *
78
-     */
79
-    public function copy(): void
80
-    {
81
-
82
-        foreach ($this->filepaths as $relativeFilepath) {
83
-            $sourceFileRelativePath = 'vendor' . DIRECTORY_SEPARATOR . $relativeFilepath;
84
-
85
-            $targetFileRelativePath = $this->targetDir . $relativeFilepath;
86
-
87
-            $this->filesystem->copy($sourceFileRelativePath, $targetFileRelativePath);
88
-        }
89
-    }
22
+	/**
23
+	 * The only path variable with a leading slash.
24
+	 * All directories in project end with a slash.
25
+	 *
26
+	 * @var string
27
+	 */
28
+	protected string $workingDir;
29
+
30
+	protected string $targetDir;
31
+
32
+	protected array $filepaths;
33
+
34
+	/** @var Filesystem */
35
+	protected Filesystem $filesystem;
36
+
37
+	/**
38
+	 * Copier constructor.
39
+	 * @param array<string, ComposerPackage> $filepaths
40
+	 * @param string $workingDir
41
+	 * @param string $relativeTargetDir
42
+	 */
43
+	public function __construct(array $filepaths, string $workingDir, string $relativeTargetDir)
44
+	{
45
+		$this->filepaths = array_keys($filepaths);
46
+
47
+		$this->workingDir = $workingDir;
48
+
49
+		$this->targetDir = $relativeTargetDir;
50
+
51
+		$this->filesystem = new Filesystem(new Local($this->workingDir));
52
+	}
53
+
54
+	/**
55
+	 * If the target dir does not exist, create it.
56
+	 * If it already exists, delete any files we're about to copy.
57
+	 *
58
+	 * @return void
59
+	 */
60
+	public function prepareTarget(): void
61
+	{
62
+		if (! $this->filesystem->has($this->targetDir)) {
63
+			$this->filesystem->createDir($this->targetDir);
64
+		} else {
65
+			foreach ($this->filepaths as $vendorRelativeFilepath) {
66
+				$projectRelativeFilepath = $this->targetDir . $vendorRelativeFilepath;
67
+
68
+				if ($this->filesystem->has($projectRelativeFilepath)) {
69
+					$this->filesystem->delete($projectRelativeFilepath);
70
+				}
71
+			}
72
+		}
73
+	}
74
+
75
+
76
+	/**
77
+	 *
78
+	 */
79
+	public function copy(): void
80
+	{
81
+
82
+		foreach ($this->filepaths as $relativeFilepath) {
83
+			$sourceFileRelativePath = 'vendor' . DIRECTORY_SEPARATOR . $relativeFilepath;
84
+
85
+			$targetFileRelativePath = $this->targetDir . $relativeFilepath;
86
+
87
+			$this->filesystem->copy($sourceFileRelativePath, $targetFileRelativePath);
88
+		}
89
+	}
90 90
 }
Please login to merge, or discard this patch.
Spacing   +10 added lines, -10 removed lines patch added patch discarded remove patch
@@ -40,15 +40,15 @@  discard block
 block discarded – undo
40 40
      * @param string $workingDir
41 41
      * @param string $relativeTargetDir
42 42
      */
43
-    public function __construct(array $filepaths, string $workingDir, string $relativeTargetDir)
43
+    public function __construct( array $filepaths, string $workingDir, string $relativeTargetDir )
44 44
     {
45
-        $this->filepaths = array_keys($filepaths);
45
+        $this->filepaths = array_keys( $filepaths );
46 46
 
47 47
         $this->workingDir = $workingDir;
48 48
 
49 49
         $this->targetDir = $relativeTargetDir;
50 50
 
51
-        $this->filesystem = new Filesystem(new Local($this->workingDir));
51
+        $this->filesystem = new Filesystem( new Local( $this->workingDir ) );
52 52
     }
53 53
 
54 54
     /**
@@ -59,14 +59,14 @@  discard block
 block discarded – undo
59 59
      */
60 60
     public function prepareTarget(): void
61 61
     {
62
-        if (! $this->filesystem->has($this->targetDir)) {
63
-            $this->filesystem->createDir($this->targetDir);
62
+        if ( ! $this->filesystem->has( $this->targetDir ) ) {
63
+            $this->filesystem->createDir( $this->targetDir );
64 64
         } else {
65
-            foreach ($this->filepaths as $vendorRelativeFilepath) {
65
+            foreach ( $this->filepaths as $vendorRelativeFilepath ) {
66 66
                 $projectRelativeFilepath = $this->targetDir . $vendorRelativeFilepath;
67 67
 
68
-                if ($this->filesystem->has($projectRelativeFilepath)) {
69
-                    $this->filesystem->delete($projectRelativeFilepath);
68
+                if ( $this->filesystem->has( $projectRelativeFilepath ) ) {
69
+                    $this->filesystem->delete( $projectRelativeFilepath );
70 70
                 }
71 71
             }
72 72
         }
@@ -79,12 +79,12 @@  discard block
 block discarded – undo
79 79
     public function copy(): void
80 80
     {
81 81
 
82
-        foreach ($this->filepaths as $relativeFilepath) {
82
+        foreach ( $this->filepaths as $relativeFilepath ) {
83 83
             $sourceFileRelativePath = 'vendor' . DIRECTORY_SEPARATOR . $relativeFilepath;
84 84
 
85 85
             $targetFileRelativePath = $this->targetDir . $relativeFilepath;
86 86
 
87
-            $this->filesystem->copy($sourceFileRelativePath, $targetFileRelativePath);
87
+            $this->filesystem->copy( $sourceFileRelativePath, $targetFileRelativePath );
88 88
         }
89 89
     }
90 90
 }
Please login to merge, or discard this patch.
Braces   +2 added lines, -4 removed lines patch added patch discarded remove patch
@@ -17,8 +17,7 @@  discard block
 block discarded – undo
17 17
 use League\Flysystem\Adapter\Local;
18 18
 use League\Flysystem\Filesystem;
19 19
 
20
-class Copier
21
-{
20
+class Copier {
22 21
     /**
23 22
      * The only path variable with a leading slash.
24 23
      * All directories in project end with a slash.
@@ -40,8 +39,7 @@  discard block
 block discarded – undo
40 39
      * @param string $workingDir
41 40
      * @param string $relativeTargetDir
42 41
      */
43
-    public function __construct(array $filepaths, string $workingDir, string $relativeTargetDir)
44
-    {
42
+    public function __construct(array $filepaths, string $workingDir, string $relativeTargetDir) {
45 43
         $this->filepaths = array_keys($filepaths);
46 44
 
47 45
         $this->workingDir = $workingDir;
Please login to merge, or discard this patch.
vendor/brianhenryie/strauss/src/Composer/Extra/StraussConfig.php 3 patches
Indentation   +392 added lines, -392 removed lines patch added patch discarded remove patch
@@ -12,396 +12,396 @@
 block discarded – undo
12 12
 
13 13
 class StraussConfig
14 14
 {
15
-    /**
16
-     * The output directory.
17
-     *
18
-     * Probably `strauss/` or `src/strauss/`.
19
-     *
20
-     * @var string
21
-     */
22
-    protected $targetDirectory = 'strauss';
23
-
24
-    /**
25
-     * `namespacePrefix` is the prefix to be given to any namespaces.
26
-     * Presumably this will take the form `My_Project_Namespace\dep_directory`.
27
-     *
28
-     * @link https://www.php-fig.org/psr/psr-4/
29
-     *
30
-     * @var string
31
-     */
32
-    protected $namespacePrefix;
33
-
34
-    /**
35
-     * @var string
36
-     */
37
-    protected $classmapPrefix;
38
-
39
-    /**
40
-     * Packages to copy and (maybe) prefix.
41
-     *
42
-     * If this is empty, the "requires" list in the project composer.json is used.
43
-     *
44
-     * @var array
45
-     */
46
-    protected array $packages = [];
47
-
48
-    // Back-compatibility with Mozart.
49
-    private array $excludePackages;
50
-
51
-    /**
52
-     * @var array{packages?: string[], namespaces?: string[], filePatterns?: string[]}
53
-     */
54
-    protected array $excludeFromCopy = array();
55
-
56
-    /**
57
-     * @var array{packages?: string[], namespaces?: string[], filePatterns?: string[]}
58
-     */
59
-    protected array $excludeFromPrefix = array('filePatterns'=>array('/^psr.*$/'));
60
-
61
-
62
-    /**
63
-     * An array of autoload keys to replace packages' existing autoload key.
64
-     *
65
-     * e.g. when
66
-     * * A package has no autoloader
67
-     * * A package specified both a PSR-4 and a classmap but only needs one
68
-     * ...
69
-     *
70
-     * @var array
71
-     */
72
-    protected $overrideAutoload = [];
73
-
74
-    /**
75
-     * After completing `strauss compose` should the source files be deleted?
76
-     * This does not affect symlinked directories.
77
-     *
78
-     * @var bool
79
-     */
80
-    protected $deleteVendorFiles = false;
81
-
82
-    protected bool $classmapOutput;
83
-
84
-    protected array $namespaceReplacementPatterns = array();
85
-
86
-
87
-    /**
88
-     * Read any existing Mozart config.
89
-     * Overwrite it with any Strauss config.
90
-     * Provide sensible defaults.
91
-     *
92
-     * @throws Exception
93
-     */
94
-    public function __construct(Composer $composer)
95
-    {
96
-
97
-        $configExtraSettings = null;
98
-
99
-        // Backwards compatibility with Mozart.
100
-        if (isset($composer->getPackage()->getExtra()['mozart'])) {
101
-            $configExtraSettings = (object)$composer->getPackage()->getExtra()['mozart'];
102
-
103
-            // Default setting for Mozart.
104
-            $this->setDeleteVendorFiles(true);
105
-        }
106
-
107
-        if (isset($composer->getPackage()->getExtra()['strauss'])) {
108
-            $configExtraSettings = (object)$composer->getPackage()->getExtra()['strauss'];
109
-        }
110
-
111
-        if (!is_null($configExtraSettings)) {
112
-            $mapper = (new JsonMapperFactory())->bestFit();
113
-
114
-            $rename = new Rename();
115
-            $rename->addMapping(StraussConfig::class, 'dep_directory', 'targetDirectory');
116
-            $rename->addMapping(StraussConfig::class, 'dep_namespace', 'namespacePrefix');
117
-
118
-            $rename->addMapping(StraussConfig::class, 'exclude_packages', 'excludePackages');
119
-            $rename->addMapping(StraussConfig::class, 'delete_vendor_directories', 'deleteVendorFiles');
120
-
121
-            $mapper->unshift($rename);
122
-            $mapper->push(new \JsonMapper\Middleware\CaseConversion(
123
-                \JsonMapper\Enums\TextNotation::UNDERSCORE(),
124
-                \JsonMapper\Enums\TextNotation::CAMEL_CASE()
125
-            ));
126
-
127
-            $mapper->mapObject($configExtraSettings, $this);
128
-        }
129
-
130
-        // Defaults.
131
-        // * Use PSR-4 autoloader key
132
-        // * Use PSR-0 autoloader key
133
-        // * Use the package name
134
-        if (! isset($this->namespacePrefix)) {
135
-            if (isset($composer->getPackage()->getAutoload()['psr-4'])) {
136
-                $this->setNamespacePrefix(array_key_first($composer->getPackage()->getAutoload()['psr-4']));
137
-            } elseif (isset($composer->getPackage()->getAutoload()['psr-0'])) {
138
-                $this->setNamespacePrefix(array_key_first($composer->getPackage()->getAutoload()['psr-0']));
139
-            } elseif ('__root__' !== $composer->getPackage()->getName()) {
140
-                $packageName = $composer->getPackage()->getName();
141
-                $namespacePrefix = preg_replace('/[^\w\/]+/', '_', $packageName);
142
-                $namespacePrefix = str_replace('/', '\\', $namespacePrefix) . '\\';
143
-                $namespacePrefix = preg_replace_callback('/(?<=^|_|\\\\)[a-z]/', function ($match) {
144
-                    return strtoupper($match[0]);
145
-                }, $namespacePrefix);
146
-                $this->setNamespacePrefix($namespacePrefix);
147
-            } elseif (isset($this->classmapPrefix)) {
148
-                $namespacePrefix = rtrim($this->getClassmapPrefix(), '_');
149
-                $this->setNamespacePrefix($namespacePrefix);
150
-            }
151
-        }
152
-
153
-        if (! isset($this->classmapPrefix)) {
154
-            if (isset($composer->getPackage()->getAutoload()['psr-4'])) {
155
-                $autoloadKey = array_key_first($composer->getPackage()->getAutoload()['psr-4']);
156
-                $classmapPrefix = str_replace("\\", "_", $autoloadKey);
157
-                $this->setClassmapPrefix($classmapPrefix);
158
-            } elseif (isset($composer->getPackage()->getAutoload()['psr-0'])) {
159
-                $autoloadKey = array_key_first($composer->getPackage()->getAutoload()['psr-0']);
160
-                $classmapPrefix = str_replace("\\", "_", $autoloadKey);
161
-                $this->setClassmapPrefix($classmapPrefix);
162
-            } elseif ('__root__' !== $composer->getPackage()->getName()) {
163
-                $packageName = $composer->getPackage()->getName();
164
-                $classmapPrefix = preg_replace('/[^\w\/]+/', '_', $packageName);
165
-                $classmapPrefix = str_replace('/', '\\', $classmapPrefix);
166
-                // Uppercase the first letter of each word.
167
-                $classmapPrefix = preg_replace_callback('/(?<=^|_|\\\\)[a-z]/', function ($match) {
168
-                    return strtoupper($match[0]);
169
-                }, $classmapPrefix);
170
-                $classmapPrefix = str_replace("\\", "_", $classmapPrefix);
171
-                $this->setClassmapPrefix($classmapPrefix);
172
-            } elseif (isset($this->namespacePrefix)) {
173
-                $classmapPrefix = preg_replace('/[^\w\/]+/', '_', $this->getNamespacePrefix());
174
-                $classmapPrefix = rtrim($classmapPrefix, '_') . '_';
175
-                $this->setClassmapPrefix($classmapPrefix);
176
-            }
177
-        }
178
-
179
-        if (!isset($this->namespacePrefix) || !isset($this->classmapPrefix)) {
180
-            throw new Exception('Prefix not set. Please set `namespace_prefix`, `classmap_prefix` in composer.json/extra/strauss.');
181
-        }
182
-
183
-        if (empty($this->packages)) {
184
-            $this->packages = array_map(function (\Composer\Package\Link $element) {
185
-                return $element->getTarget();
186
-            }, $composer->getPackage()->getRequires());
187
-        }
188
-
189
-        // If the bool flag for classmapOutput wasn't set in the Json config.
190
-        if (!isset($this->classmapOutput)) {
191
-            $this->classmapOutput = true;
192
-            // Check each autoloader.
193
-            foreach ($composer->getPackage()->getAutoload() as $autoload) {
194
-                // To see if one of its paths.
195
-                foreach ($autoload as $path) {
196
-                    // Matches the target directory.
197
-                    if (trim($path, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR === $this->getTargetDirectory()) {
198
-                        $this->classmapOutput = false;
199
-                        break 2;
200
-                    }
201
-                }
202
-            }
203
-        }
204
-
205
-        // TODO: Throw an exception if any regex patterns in config are invalid.
206
-        // https://stackoverflow.com/questions/4440626/how-can-i-validate-regex
207
-        // preg_match('~Valid(Regular)Expression~', null) === false);
208
-    }
209
-
210
-    /**
211
-     * `target_directory` will always be returned without a leading slash and with a trailing slash.
212
-     *
213
-     * @return string
214
-     */
215
-    public function getTargetDirectory(): string
216
-    {
217
-        return trim($this->targetDirectory, DIRECTORY_SEPARATOR . '\\/') . DIRECTORY_SEPARATOR;
218
-    }
219
-
220
-    /**
221
-     * @param string $targetDirectory
222
-     */
223
-    public function setTargetDirectory(string $targetDirectory): void
224
-    {
225
-        $this->targetDirectory = trim(
226
-            preg_replace(
227
-                '/[\/\\\\]+/',
228
-                DIRECTORY_SEPARATOR,
229
-                $targetDirectory
230
-            ),
231
-            DIRECTORY_SEPARATOR
232
-        )
233
-            . DIRECTORY_SEPARATOR ;
234
-    }
235
-
236
-    /**
237
-     * @return string
238
-     */
239
-    public function getNamespacePrefix(): string
240
-    {
241
-        return trim($this->namespacePrefix, '\\');
242
-    }
243
-
244
-    /**
245
-     * @param string $namespacePrefix
246
-     */
247
-    public function setNamespacePrefix(string $namespacePrefix): void
248
-    {
249
-        $this->namespacePrefix = $namespacePrefix;
250
-    }
251
-
252
-    /**
253
-     * @return string
254
-     */
255
-    public function getClassmapPrefix(): string
256
-    {
257
-        return $this->classmapPrefix;
258
-    }
259
-
260
-    /**
261
-     * @param string $classmapPrefix
262
-     */
263
-    public function setClassmapPrefix(string $classmapPrefix): void
264
-    {
265
-        $this->classmapPrefix = $classmapPrefix;
266
-    }
267
-
268
-    public function setExcludeFromCopy(array $excludeFromCopy): void
269
-    {
270
-        $this->excludeFromCopy = $excludeFromCopy;
271
-    }
272
-    public function getExcludePackagesFromCopy(): array
273
-    {
274
-        return $this->excludeFromCopy['packages'] ?? array();
275
-    }
276
-
277
-    public function getExcludeNamespacesFromCopy(): array
278
-    {
279
-        return $this->excludeFromCopy['namespaces'] ?? array();
280
-    }
281
-
282
-    public function getExcludeFilePatternsFromCopy(): array
283
-    {
284
-        return $this->excludeFromCopy['filePatterns'] ?? array();
285
-    }
286
-
287
-
288
-    public function setExcludeFromPrefix(array $excludeFromPrefix): void
289
-    {
290
-        $this->excludeFromPrefix = $excludeFromPrefix;
291
-    }
292
-
293
-    /**
294
-     * When prefixing, do not prefix these packages (which have been copied).
295
-     *
296
-     * @var string[]
297
-     */
298
-    public function getExcludePackagesFromPrefixing(): array
299
-    {
300
-        return $this->excludeFromPrefix['packages'] ?? array();
301
-    }
302
-
303
-    public function getExcludeNamespacesFromPrefixing(): array
304
-    {
305
-        return $this->excludeFromPrefix['namespaces'] ?? array();
306
-    }
307
-
308
-    public function getExcludeFilePatternsFromPrefixing(): array
309
-    {
310
-        return $this->excludeFromPrefix['filePatterns'] ?? array();
311
-    }
312
-
313
-
314
-    /**
315
-     * @return array
316
-     */
317
-    public function getOverrideAutoload(): array
318
-    {
319
-        return $this->overrideAutoload;
320
-    }
321
-
322
-    /**
323
-     * @param array $overrideAutoload
324
-     */
325
-    public function setOverrideAutoload(array $overrideAutoload): void
326
-    {
327
-        $this->overrideAutoload = $overrideAutoload;
328
-    }
329
-
330
-    /**
331
-     * @return bool
332
-     */
333
-    public function isDeleteVendorFiles(): bool
334
-    {
335
-        return $this->deleteVendorFiles;
336
-    }
337
-
338
-    /**
339
-     * @param bool $deleteVendorFiles
340
-     */
341
-    public function setDeleteVendorFiles(bool $deleteVendorFiles): void
342
-    {
343
-        $this->deleteVendorFiles = $deleteVendorFiles;
344
-    }
345
-
346
-    /**
347
-     * @return array
348
-     */
349
-    public function getPackages(): array
350
-    {
351
-        return $this->packages;
352
-    }
353
-
354
-    /**
355
-     * @param array $packages
356
-     */
357
-    public function setPackages(array $packages): void
358
-    {
359
-        $this->packages = $packages;
360
-    }
361
-
362
-    /**
363
-     * @return bool
364
-     */
365
-    public function isClassmapOutput(): bool
366
-    {
367
-        return $this->classmapOutput;
368
-    }
369
-
370
-    /**
371
-     * @param bool $classmapOutput
372
-     */
373
-    public function setClassmapOutput(bool $classmapOutput): void
374
-    {
375
-        $this->classmapOutput = $classmapOutput;
376
-    }
377
-
378
-    /**
379
-     * Backwards compatability with Mozart.
380
-     */
381
-    public function setExcludePackages(array $excludePackages)
382
-    {
383
-
384
-        if (! isset($this->excludeFromPrefix)) {
385
-            $this->excludeFromPrefix = array();
386
-        }
387
-
388
-        $this->excludeFromPrefix['packages'] = $excludePackages;
389
-    }
390
-
391
-
392
-    /**
393
-     * @return array
394
-     */
395
-    public function getNamespaceReplacementPatterns(): array
396
-    {
397
-        return $this->namespaceReplacementPatterns;
398
-    }
399
-
400
-    /**
401
-     * @param array $namespaceReplacementPatterns
402
-     */
403
-    public function setNamespaceReplacementPatterns(array $namespaceReplacementPatterns): void
404
-    {
405
-        $this->namespaceReplacementPatterns = $namespaceReplacementPatterns;
406
-    }
15
+	/**
16
+	 * The output directory.
17
+	 *
18
+	 * Probably `strauss/` or `src/strauss/`.
19
+	 *
20
+	 * @var string
21
+	 */
22
+	protected $targetDirectory = 'strauss';
23
+
24
+	/**
25
+	 * `namespacePrefix` is the prefix to be given to any namespaces.
26
+	 * Presumably this will take the form `My_Project_Namespace\dep_directory`.
27
+	 *
28
+	 * @link https://www.php-fig.org/psr/psr-4/
29
+	 *
30
+	 * @var string
31
+	 */
32
+	protected $namespacePrefix;
33
+
34
+	/**
35
+	 * @var string
36
+	 */
37
+	protected $classmapPrefix;
38
+
39
+	/**
40
+	 * Packages to copy and (maybe) prefix.
41
+	 *
42
+	 * If this is empty, the "requires" list in the project composer.json is used.
43
+	 *
44
+	 * @var array
45
+	 */
46
+	protected array $packages = [];
47
+
48
+	// Back-compatibility with Mozart.
49
+	private array $excludePackages;
50
+
51
+	/**
52
+	 * @var array{packages?: string[], namespaces?: string[], filePatterns?: string[]}
53
+	 */
54
+	protected array $excludeFromCopy = array();
55
+
56
+	/**
57
+	 * @var array{packages?: string[], namespaces?: string[], filePatterns?: string[]}
58
+	 */
59
+	protected array $excludeFromPrefix = array('filePatterns'=>array('/^psr.*$/'));
60
+
61
+
62
+	/**
63
+	 * An array of autoload keys to replace packages' existing autoload key.
64
+	 *
65
+	 * e.g. when
66
+	 * * A package has no autoloader
67
+	 * * A package specified both a PSR-4 and a classmap but only needs one
68
+	 * ...
69
+	 *
70
+	 * @var array
71
+	 */
72
+	protected $overrideAutoload = [];
73
+
74
+	/**
75
+	 * After completing `strauss compose` should the source files be deleted?
76
+	 * This does not affect symlinked directories.
77
+	 *
78
+	 * @var bool
79
+	 */
80
+	protected $deleteVendorFiles = false;
81
+
82
+	protected bool $classmapOutput;
83
+
84
+	protected array $namespaceReplacementPatterns = array();
85
+
86
+
87
+	/**
88
+	 * Read any existing Mozart config.
89
+	 * Overwrite it with any Strauss config.
90
+	 * Provide sensible defaults.
91
+	 *
92
+	 * @throws Exception
93
+	 */
94
+	public function __construct(Composer $composer)
95
+	{
96
+
97
+		$configExtraSettings = null;
98
+
99
+		// Backwards compatibility with Mozart.
100
+		if (isset($composer->getPackage()->getExtra()['mozart'])) {
101
+			$configExtraSettings = (object)$composer->getPackage()->getExtra()['mozart'];
102
+
103
+			// Default setting for Mozart.
104
+			$this->setDeleteVendorFiles(true);
105
+		}
106
+
107
+		if (isset($composer->getPackage()->getExtra()['strauss'])) {
108
+			$configExtraSettings = (object)$composer->getPackage()->getExtra()['strauss'];
109
+		}
110
+
111
+		if (!is_null($configExtraSettings)) {
112
+			$mapper = (new JsonMapperFactory())->bestFit();
113
+
114
+			$rename = new Rename();
115
+			$rename->addMapping(StraussConfig::class, 'dep_directory', 'targetDirectory');
116
+			$rename->addMapping(StraussConfig::class, 'dep_namespace', 'namespacePrefix');
117
+
118
+			$rename->addMapping(StraussConfig::class, 'exclude_packages', 'excludePackages');
119
+			$rename->addMapping(StraussConfig::class, 'delete_vendor_directories', 'deleteVendorFiles');
120
+
121
+			$mapper->unshift($rename);
122
+			$mapper->push(new \JsonMapper\Middleware\CaseConversion(
123
+				\JsonMapper\Enums\TextNotation::UNDERSCORE(),
124
+				\JsonMapper\Enums\TextNotation::CAMEL_CASE()
125
+			));
126
+
127
+			$mapper->mapObject($configExtraSettings, $this);
128
+		}
129
+
130
+		// Defaults.
131
+		// * Use PSR-4 autoloader key
132
+		// * Use PSR-0 autoloader key
133
+		// * Use the package name
134
+		if (! isset($this->namespacePrefix)) {
135
+			if (isset($composer->getPackage()->getAutoload()['psr-4'])) {
136
+				$this->setNamespacePrefix(array_key_first($composer->getPackage()->getAutoload()['psr-4']));
137
+			} elseif (isset($composer->getPackage()->getAutoload()['psr-0'])) {
138
+				$this->setNamespacePrefix(array_key_first($composer->getPackage()->getAutoload()['psr-0']));
139
+			} elseif ('__root__' !== $composer->getPackage()->getName()) {
140
+				$packageName = $composer->getPackage()->getName();
141
+				$namespacePrefix = preg_replace('/[^\w\/]+/', '_', $packageName);
142
+				$namespacePrefix = str_replace('/', '\\', $namespacePrefix) . '\\';
143
+				$namespacePrefix = preg_replace_callback('/(?<=^|_|\\\\)[a-z]/', function ($match) {
144
+					return strtoupper($match[0]);
145
+				}, $namespacePrefix);
146
+				$this->setNamespacePrefix($namespacePrefix);
147
+			} elseif (isset($this->classmapPrefix)) {
148
+				$namespacePrefix = rtrim($this->getClassmapPrefix(), '_');
149
+				$this->setNamespacePrefix($namespacePrefix);
150
+			}
151
+		}
152
+
153
+		if (! isset($this->classmapPrefix)) {
154
+			if (isset($composer->getPackage()->getAutoload()['psr-4'])) {
155
+				$autoloadKey = array_key_first($composer->getPackage()->getAutoload()['psr-4']);
156
+				$classmapPrefix = str_replace("\\", "_", $autoloadKey);
157
+				$this->setClassmapPrefix($classmapPrefix);
158
+			} elseif (isset($composer->getPackage()->getAutoload()['psr-0'])) {
159
+				$autoloadKey = array_key_first($composer->getPackage()->getAutoload()['psr-0']);
160
+				$classmapPrefix = str_replace("\\", "_", $autoloadKey);
161
+				$this->setClassmapPrefix($classmapPrefix);
162
+			} elseif ('__root__' !== $composer->getPackage()->getName()) {
163
+				$packageName = $composer->getPackage()->getName();
164
+				$classmapPrefix = preg_replace('/[^\w\/]+/', '_', $packageName);
165
+				$classmapPrefix = str_replace('/', '\\', $classmapPrefix);
166
+				// Uppercase the first letter of each word.
167
+				$classmapPrefix = preg_replace_callback('/(?<=^|_|\\\\)[a-z]/', function ($match) {
168
+					return strtoupper($match[0]);
169
+				}, $classmapPrefix);
170
+				$classmapPrefix = str_replace("\\", "_", $classmapPrefix);
171
+				$this->setClassmapPrefix($classmapPrefix);
172
+			} elseif (isset($this->namespacePrefix)) {
173
+				$classmapPrefix = preg_replace('/[^\w\/]+/', '_', $this->getNamespacePrefix());
174
+				$classmapPrefix = rtrim($classmapPrefix, '_') . '_';
175
+				$this->setClassmapPrefix($classmapPrefix);
176
+			}
177
+		}
178
+
179
+		if (!isset($this->namespacePrefix) || !isset($this->classmapPrefix)) {
180
+			throw new Exception('Prefix not set. Please set `namespace_prefix`, `classmap_prefix` in composer.json/extra/strauss.');
181
+		}
182
+
183
+		if (empty($this->packages)) {
184
+			$this->packages = array_map(function (\Composer\Package\Link $element) {
185
+				return $element->getTarget();
186
+			}, $composer->getPackage()->getRequires());
187
+		}
188
+
189
+		// If the bool flag for classmapOutput wasn't set in the Json config.
190
+		if (!isset($this->classmapOutput)) {
191
+			$this->classmapOutput = true;
192
+			// Check each autoloader.
193
+			foreach ($composer->getPackage()->getAutoload() as $autoload) {
194
+				// To see if one of its paths.
195
+				foreach ($autoload as $path) {
196
+					// Matches the target directory.
197
+					if (trim($path, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR === $this->getTargetDirectory()) {
198
+						$this->classmapOutput = false;
199
+						break 2;
200
+					}
201
+				}
202
+			}
203
+		}
204
+
205
+		// TODO: Throw an exception if any regex patterns in config are invalid.
206
+		// https://stackoverflow.com/questions/4440626/how-can-i-validate-regex
207
+		// preg_match('~Valid(Regular)Expression~', null) === false);
208
+	}
209
+
210
+	/**
211
+	 * `target_directory` will always be returned without a leading slash and with a trailing slash.
212
+	 *
213
+	 * @return string
214
+	 */
215
+	public function getTargetDirectory(): string
216
+	{
217
+		return trim($this->targetDirectory, DIRECTORY_SEPARATOR . '\\/') . DIRECTORY_SEPARATOR;
218
+	}
219
+
220
+	/**
221
+	 * @param string $targetDirectory
222
+	 */
223
+	public function setTargetDirectory(string $targetDirectory): void
224
+	{
225
+		$this->targetDirectory = trim(
226
+			preg_replace(
227
+				'/[\/\\\\]+/',
228
+				DIRECTORY_SEPARATOR,
229
+				$targetDirectory
230
+			),
231
+			DIRECTORY_SEPARATOR
232
+		)
233
+			. DIRECTORY_SEPARATOR ;
234
+	}
235
+
236
+	/**
237
+	 * @return string
238
+	 */
239
+	public function getNamespacePrefix(): string
240
+	{
241
+		return trim($this->namespacePrefix, '\\');
242
+	}
243
+
244
+	/**
245
+	 * @param string $namespacePrefix
246
+	 */
247
+	public function setNamespacePrefix(string $namespacePrefix): void
248
+	{
249
+		$this->namespacePrefix = $namespacePrefix;
250
+	}
251
+
252
+	/**
253
+	 * @return string
254
+	 */
255
+	public function getClassmapPrefix(): string
256
+	{
257
+		return $this->classmapPrefix;
258
+	}
259
+
260
+	/**
261
+	 * @param string $classmapPrefix
262
+	 */
263
+	public function setClassmapPrefix(string $classmapPrefix): void
264
+	{
265
+		$this->classmapPrefix = $classmapPrefix;
266
+	}
267
+
268
+	public function setExcludeFromCopy(array $excludeFromCopy): void
269
+	{
270
+		$this->excludeFromCopy = $excludeFromCopy;
271
+	}
272
+	public function getExcludePackagesFromCopy(): array
273
+	{
274
+		return $this->excludeFromCopy['packages'] ?? array();
275
+	}
276
+
277
+	public function getExcludeNamespacesFromCopy(): array
278
+	{
279
+		return $this->excludeFromCopy['namespaces'] ?? array();
280
+	}
281
+
282
+	public function getExcludeFilePatternsFromCopy(): array
283
+	{
284
+		return $this->excludeFromCopy['filePatterns'] ?? array();
285
+	}
286
+
287
+
288
+	public function setExcludeFromPrefix(array $excludeFromPrefix): void
289
+	{
290
+		$this->excludeFromPrefix = $excludeFromPrefix;
291
+	}
292
+
293
+	/**
294
+	 * When prefixing, do not prefix these packages (which have been copied).
295
+	 *
296
+	 * @var string[]
297
+	 */
298
+	public function getExcludePackagesFromPrefixing(): array
299
+	{
300
+		return $this->excludeFromPrefix['packages'] ?? array();
301
+	}
302
+
303
+	public function getExcludeNamespacesFromPrefixing(): array
304
+	{
305
+		return $this->excludeFromPrefix['namespaces'] ?? array();
306
+	}
307
+
308
+	public function getExcludeFilePatternsFromPrefixing(): array
309
+	{
310
+		return $this->excludeFromPrefix['filePatterns'] ?? array();
311
+	}
312
+
313
+
314
+	/**
315
+	 * @return array
316
+	 */
317
+	public function getOverrideAutoload(): array
318
+	{
319
+		return $this->overrideAutoload;
320
+	}
321
+
322
+	/**
323
+	 * @param array $overrideAutoload
324
+	 */
325
+	public function setOverrideAutoload(array $overrideAutoload): void
326
+	{
327
+		$this->overrideAutoload = $overrideAutoload;
328
+	}
329
+
330
+	/**
331
+	 * @return bool
332
+	 */
333
+	public function isDeleteVendorFiles(): bool
334
+	{
335
+		return $this->deleteVendorFiles;
336
+	}
337
+
338
+	/**
339
+	 * @param bool $deleteVendorFiles
340
+	 */
341
+	public function setDeleteVendorFiles(bool $deleteVendorFiles): void
342
+	{
343
+		$this->deleteVendorFiles = $deleteVendorFiles;
344
+	}
345
+
346
+	/**
347
+	 * @return array
348
+	 */
349
+	public function getPackages(): array
350
+	{
351
+		return $this->packages;
352
+	}
353
+
354
+	/**
355
+	 * @param array $packages
356
+	 */
357
+	public function setPackages(array $packages): void
358
+	{
359
+		$this->packages = $packages;
360
+	}
361
+
362
+	/**
363
+	 * @return bool
364
+	 */
365
+	public function isClassmapOutput(): bool
366
+	{
367
+		return $this->classmapOutput;
368
+	}
369
+
370
+	/**
371
+	 * @param bool $classmapOutput
372
+	 */
373
+	public function setClassmapOutput(bool $classmapOutput): void
374
+	{
375
+		$this->classmapOutput = $classmapOutput;
376
+	}
377
+
378
+	/**
379
+	 * Backwards compatability with Mozart.
380
+	 */
381
+	public function setExcludePackages(array $excludePackages)
382
+	{
383
+
384
+		if (! isset($this->excludeFromPrefix)) {
385
+			$this->excludeFromPrefix = array();
386
+		}
387
+
388
+		$this->excludeFromPrefix['packages'] = $excludePackages;
389
+	}
390
+
391
+
392
+	/**
393
+	 * @return array
394
+	 */
395
+	public function getNamespaceReplacementPatterns(): array
396
+	{
397
+		return $this->namespaceReplacementPatterns;
398
+	}
399
+
400
+	/**
401
+	 * @param array $namespaceReplacementPatterns
402
+	 */
403
+	public function setNamespaceReplacementPatterns(array $namespaceReplacementPatterns): void
404
+	{
405
+		$this->namespaceReplacementPatterns = $namespaceReplacementPatterns;
406
+	}
407 407
 }
Please login to merge, or discard this patch.
Spacing   +86 added lines, -86 removed lines patch added patch discarded remove patch
@@ -43,7 +43,7 @@  discard block
 block discarded – undo
43 43
      *
44 44
      * @var array
45 45
      */
46
-    protected array $packages = [];
46
+    protected array $packages = [ ];
47 47
 
48 48
     // Back-compatibility with Mozart.
49 49
     private array $excludePackages;
@@ -56,7 +56,7 @@  discard block
 block discarded – undo
56 56
     /**
57 57
      * @var array{packages?: string[], namespaces?: string[], filePatterns?: string[]}
58 58
      */
59
-    protected array $excludeFromPrefix = array('filePatterns'=>array('/^psr.*$/'));
59
+    protected array $excludeFromPrefix = array( 'filePatterns'=>array( '/^psr.*$/' ) );
60 60
 
61 61
 
62 62
     /**
@@ -69,7 +69,7 @@  discard block
 block discarded – undo
69 69
      *
70 70
      * @var array
71 71
      */
72
-    protected $overrideAutoload = [];
72
+    protected $overrideAutoload = [ ];
73 73
 
74 74
     /**
75 75
      * After completing `strauss compose` should the source files be deleted?
@@ -91,110 +91,110 @@  discard block
 block discarded – undo
91 91
      *
92 92
      * @throws Exception
93 93
      */
94
-    public function __construct(Composer $composer)
94
+    public function __construct( Composer $composer )
95 95
     {
96 96
 
97 97
         $configExtraSettings = null;
98 98
 
99 99
         // Backwards compatibility with Mozart.
100
-        if (isset($composer->getPackage()->getExtra()['mozart'])) {
101
-            $configExtraSettings = (object)$composer->getPackage()->getExtra()['mozart'];
100
+        if ( isset( $composer->getPackage()->getExtra()[ 'mozart' ] ) ) {
101
+            $configExtraSettings = (object)$composer->getPackage()->getExtra()[ 'mozart' ];
102 102
 
103 103
             // Default setting for Mozart.
104
-            $this->setDeleteVendorFiles(true);
104
+            $this->setDeleteVendorFiles( true );
105 105
         }
106 106
 
107
-        if (isset($composer->getPackage()->getExtra()['strauss'])) {
108
-            $configExtraSettings = (object)$composer->getPackage()->getExtra()['strauss'];
107
+        if ( isset( $composer->getPackage()->getExtra()[ 'strauss' ] ) ) {
108
+            $configExtraSettings = (object)$composer->getPackage()->getExtra()[ 'strauss' ];
109 109
         }
110 110
 
111
-        if (!is_null($configExtraSettings)) {
112
-            $mapper = (new JsonMapperFactory())->bestFit();
111
+        if ( ! is_null( $configExtraSettings ) ) {
112
+            $mapper = ( new JsonMapperFactory() )->bestFit();
113 113
 
114 114
             $rename = new Rename();
115
-            $rename->addMapping(StraussConfig::class, 'dep_directory', 'targetDirectory');
116
-            $rename->addMapping(StraussConfig::class, 'dep_namespace', 'namespacePrefix');
115
+            $rename->addMapping( StraussConfig::class, 'dep_directory', 'targetDirectory' );
116
+            $rename->addMapping( StraussConfig::class, 'dep_namespace', 'namespacePrefix' );
117 117
 
118
-            $rename->addMapping(StraussConfig::class, 'exclude_packages', 'excludePackages');
119
-            $rename->addMapping(StraussConfig::class, 'delete_vendor_directories', 'deleteVendorFiles');
118
+            $rename->addMapping( StraussConfig::class, 'exclude_packages', 'excludePackages' );
119
+            $rename->addMapping( StraussConfig::class, 'delete_vendor_directories', 'deleteVendorFiles' );
120 120
 
121
-            $mapper->unshift($rename);
122
-            $mapper->push(new \JsonMapper\Middleware\CaseConversion(
121
+            $mapper->unshift( $rename );
122
+            $mapper->push( new \JsonMapper\Middleware\CaseConversion(
123 123
                 \JsonMapper\Enums\TextNotation::UNDERSCORE(),
124 124
                 \JsonMapper\Enums\TextNotation::CAMEL_CASE()
125
-            ));
125
+            ) );
126 126
 
127
-            $mapper->mapObject($configExtraSettings, $this);
127
+            $mapper->mapObject( $configExtraSettings, $this );
128 128
         }
129 129
 
130 130
         // Defaults.
131 131
         // * Use PSR-4 autoloader key
132 132
         // * Use PSR-0 autoloader key
133 133
         // * Use the package name
134
-        if (! isset($this->namespacePrefix)) {
135
-            if (isset($composer->getPackage()->getAutoload()['psr-4'])) {
136
-                $this->setNamespacePrefix(array_key_first($composer->getPackage()->getAutoload()['psr-4']));
137
-            } elseif (isset($composer->getPackage()->getAutoload()['psr-0'])) {
138
-                $this->setNamespacePrefix(array_key_first($composer->getPackage()->getAutoload()['psr-0']));
139
-            } elseif ('__root__' !== $composer->getPackage()->getName()) {
134
+        if ( ! isset( $this->namespacePrefix ) ) {
135
+            if ( isset( $composer->getPackage()->getAutoload()[ 'psr-4' ] ) ) {
136
+                $this->setNamespacePrefix( array_key_first( $composer->getPackage()->getAutoload()[ 'psr-4' ] ) );
137
+            } elseif ( isset( $composer->getPackage()->getAutoload()[ 'psr-0' ] ) ) {
138
+                $this->setNamespacePrefix( array_key_first( $composer->getPackage()->getAutoload()[ 'psr-0' ] ) );
139
+            } elseif ( '__root__' !== $composer->getPackage()->getName() ) {
140 140
                 $packageName = $composer->getPackage()->getName();
141
-                $namespacePrefix = preg_replace('/[^\w\/]+/', '_', $packageName);
142
-                $namespacePrefix = str_replace('/', '\\', $namespacePrefix) . '\\';
143
-                $namespacePrefix = preg_replace_callback('/(?<=^|_|\\\\)[a-z]/', function ($match) {
144
-                    return strtoupper($match[0]);
145
-                }, $namespacePrefix);
146
-                $this->setNamespacePrefix($namespacePrefix);
147
-            } elseif (isset($this->classmapPrefix)) {
148
-                $namespacePrefix = rtrim($this->getClassmapPrefix(), '_');
149
-                $this->setNamespacePrefix($namespacePrefix);
141
+                $namespacePrefix = preg_replace( '/[^\w\/]+/', '_', $packageName );
142
+                $namespacePrefix = str_replace( '/', '\\', $namespacePrefix ) . '\\';
143
+                $namespacePrefix = preg_replace_callback( '/(?<=^|_|\\\\)[a-z]/', function( $match ) {
144
+                    return strtoupper( $match[ 0 ] );
145
+                }, $namespacePrefix );
146
+                $this->setNamespacePrefix( $namespacePrefix );
147
+            } elseif ( isset( $this->classmapPrefix ) ) {
148
+                $namespacePrefix = rtrim( $this->getClassmapPrefix(), '_' );
149
+                $this->setNamespacePrefix( $namespacePrefix );
150 150
             }
151 151
         }
152 152
 
153
-        if (! isset($this->classmapPrefix)) {
154
-            if (isset($composer->getPackage()->getAutoload()['psr-4'])) {
155
-                $autoloadKey = array_key_first($composer->getPackage()->getAutoload()['psr-4']);
156
-                $classmapPrefix = str_replace("\\", "_", $autoloadKey);
157
-                $this->setClassmapPrefix($classmapPrefix);
158
-            } elseif (isset($composer->getPackage()->getAutoload()['psr-0'])) {
159
-                $autoloadKey = array_key_first($composer->getPackage()->getAutoload()['psr-0']);
160
-                $classmapPrefix = str_replace("\\", "_", $autoloadKey);
161
-                $this->setClassmapPrefix($classmapPrefix);
162
-            } elseif ('__root__' !== $composer->getPackage()->getName()) {
153
+        if ( ! isset( $this->classmapPrefix ) ) {
154
+            if ( isset( $composer->getPackage()->getAutoload()[ 'psr-4' ] ) ) {
155
+                $autoloadKey = array_key_first( $composer->getPackage()->getAutoload()[ 'psr-4' ] );
156
+                $classmapPrefix = str_replace( "\\", "_", $autoloadKey );
157
+                $this->setClassmapPrefix( $classmapPrefix );
158
+            } elseif ( isset( $composer->getPackage()->getAutoload()[ 'psr-0' ] ) ) {
159
+                $autoloadKey = array_key_first( $composer->getPackage()->getAutoload()[ 'psr-0' ] );
160
+                $classmapPrefix = str_replace( "\\", "_", $autoloadKey );
161
+                $this->setClassmapPrefix( $classmapPrefix );
162
+            } elseif ( '__root__' !== $composer->getPackage()->getName() ) {
163 163
                 $packageName = $composer->getPackage()->getName();
164
-                $classmapPrefix = preg_replace('/[^\w\/]+/', '_', $packageName);
165
-                $classmapPrefix = str_replace('/', '\\', $classmapPrefix);
164
+                $classmapPrefix = preg_replace( '/[^\w\/]+/', '_', $packageName );
165
+                $classmapPrefix = str_replace( '/', '\\', $classmapPrefix );
166 166
                 // Uppercase the first letter of each word.
167
-                $classmapPrefix = preg_replace_callback('/(?<=^|_|\\\\)[a-z]/', function ($match) {
168
-                    return strtoupper($match[0]);
169
-                }, $classmapPrefix);
170
-                $classmapPrefix = str_replace("\\", "_", $classmapPrefix);
171
-                $this->setClassmapPrefix($classmapPrefix);
172
-            } elseif (isset($this->namespacePrefix)) {
173
-                $classmapPrefix = preg_replace('/[^\w\/]+/', '_', $this->getNamespacePrefix());
174
-                $classmapPrefix = rtrim($classmapPrefix, '_') . '_';
175
-                $this->setClassmapPrefix($classmapPrefix);
167
+                $classmapPrefix = preg_replace_callback( '/(?<=^|_|\\\\)[a-z]/', function( $match ) {
168
+                    return strtoupper( $match[ 0 ] );
169
+                }, $classmapPrefix );
170
+                $classmapPrefix = str_replace( "\\", "_", $classmapPrefix );
171
+                $this->setClassmapPrefix( $classmapPrefix );
172
+            } elseif ( isset( $this->namespacePrefix ) ) {
173
+                $classmapPrefix = preg_replace( '/[^\w\/]+/', '_', $this->getNamespacePrefix() );
174
+                $classmapPrefix = rtrim( $classmapPrefix, '_' ) . '_';
175
+                $this->setClassmapPrefix( $classmapPrefix );
176 176
             }
177 177
         }
178 178
 
179
-        if (!isset($this->namespacePrefix) || !isset($this->classmapPrefix)) {
180
-            throw new Exception('Prefix not set. Please set `namespace_prefix`, `classmap_prefix` in composer.json/extra/strauss.');
179
+        if ( ! isset( $this->namespacePrefix ) || ! isset( $this->classmapPrefix ) ) {
180
+            throw new Exception( 'Prefix not set. Please set `namespace_prefix`, `classmap_prefix` in composer.json/extra/strauss.' );
181 181
         }
182 182
 
183
-        if (empty($this->packages)) {
184
-            $this->packages = array_map(function (\Composer\Package\Link $element) {
183
+        if ( empty( $this->packages ) ) {
184
+            $this->packages = array_map( function( \Composer\Package\Link $element ) {
185 185
                 return $element->getTarget();
186
-            }, $composer->getPackage()->getRequires());
186
+            }, $composer->getPackage()->getRequires() );
187 187
         }
188 188
 
189 189
         // If the bool flag for classmapOutput wasn't set in the Json config.
190
-        if (!isset($this->classmapOutput)) {
190
+        if ( ! isset( $this->classmapOutput ) ) {
191 191
             $this->classmapOutput = true;
192 192
             // Check each autoloader.
193
-            foreach ($composer->getPackage()->getAutoload() as $autoload) {
193
+            foreach ( $composer->getPackage()->getAutoload() as $autoload ) {
194 194
                 // To see if one of its paths.
195
-                foreach ($autoload as $path) {
195
+                foreach ( $autoload as $path ) {
196 196
                     // Matches the target directory.
197
-                    if (trim($path, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR === $this->getTargetDirectory()) {
197
+                    if ( trim( $path, DIRECTORY_SEPARATOR ) . DIRECTORY_SEPARATOR === $this->getTargetDirectory() ) {
198 198
                         $this->classmapOutput = false;
199 199
                         break 2;
200 200
                     }
@@ -214,13 +214,13 @@  discard block
 block discarded – undo
214 214
      */
215 215
     public function getTargetDirectory(): string
216 216
     {
217
-        return trim($this->targetDirectory, DIRECTORY_SEPARATOR . '\\/') . DIRECTORY_SEPARATOR;
217
+        return trim( $this->targetDirectory, DIRECTORY_SEPARATOR . '\\/' ) . DIRECTORY_SEPARATOR;
218 218
     }
219 219
 
220 220
     /**
221 221
      * @param string $targetDirectory
222 222
      */
223
-    public function setTargetDirectory(string $targetDirectory): void
223
+    public function setTargetDirectory( string $targetDirectory ): void
224 224
     {
225 225
         $this->targetDirectory = trim(
226 226
             preg_replace(
@@ -230,7 +230,7 @@  discard block
 block discarded – undo
230 230
             ),
231 231
             DIRECTORY_SEPARATOR
232 232
         )
233
-            . DIRECTORY_SEPARATOR ;
233
+            . DIRECTORY_SEPARATOR;
234 234
     }
235 235
 
236 236
     /**
@@ -238,13 +238,13 @@  discard block
 block discarded – undo
238 238
      */
239 239
     public function getNamespacePrefix(): string
240 240
     {
241
-        return trim($this->namespacePrefix, '\\');
241
+        return trim( $this->namespacePrefix, '\\' );
242 242
     }
243 243
 
244 244
     /**
245 245
      * @param string $namespacePrefix
246 246
      */
247
-    public function setNamespacePrefix(string $namespacePrefix): void
247
+    public function setNamespacePrefix( string $namespacePrefix ): void
248 248
     {
249 249
         $this->namespacePrefix = $namespacePrefix;
250 250
     }
@@ -260,32 +260,32 @@  discard block
 block discarded – undo
260 260
     /**
261 261
      * @param string $classmapPrefix
262 262
      */
263
-    public function setClassmapPrefix(string $classmapPrefix): void
263
+    public function setClassmapPrefix( string $classmapPrefix ): void
264 264
     {
265 265
         $this->classmapPrefix = $classmapPrefix;
266 266
     }
267 267
 
268
-    public function setExcludeFromCopy(array $excludeFromCopy): void
268
+    public function setExcludeFromCopy( array $excludeFromCopy ): void
269 269
     {
270 270
         $this->excludeFromCopy = $excludeFromCopy;
271 271
     }
272 272
     public function getExcludePackagesFromCopy(): array
273 273
     {
274
-        return $this->excludeFromCopy['packages'] ?? array();
274
+        return $this->excludeFromCopy[ 'packages' ] ?? array();
275 275
     }
276 276
 
277 277
     public function getExcludeNamespacesFromCopy(): array
278 278
     {
279
-        return $this->excludeFromCopy['namespaces'] ?? array();
279
+        return $this->excludeFromCopy[ 'namespaces' ] ?? array();
280 280
     }
281 281
 
282 282
     public function getExcludeFilePatternsFromCopy(): array
283 283
     {
284
-        return $this->excludeFromCopy['filePatterns'] ?? array();
284
+        return $this->excludeFromCopy[ 'filePatterns' ] ?? array();
285 285
     }
286 286
 
287 287
 
288
-    public function setExcludeFromPrefix(array $excludeFromPrefix): void
288
+    public function setExcludeFromPrefix( array $excludeFromPrefix ): void
289 289
     {
290 290
         $this->excludeFromPrefix = $excludeFromPrefix;
291 291
     }
@@ -297,17 +297,17 @@  discard block
 block discarded – undo
297 297
      */
298 298
     public function getExcludePackagesFromPrefixing(): array
299 299
     {
300
-        return $this->excludeFromPrefix['packages'] ?? array();
300
+        return $this->excludeFromPrefix[ 'packages' ] ?? array();
301 301
     }
302 302
 
303 303
     public function getExcludeNamespacesFromPrefixing(): array
304 304
     {
305
-        return $this->excludeFromPrefix['namespaces'] ?? array();
305
+        return $this->excludeFromPrefix[ 'namespaces' ] ?? array();
306 306
     }
307 307
 
308 308
     public function getExcludeFilePatternsFromPrefixing(): array
309 309
     {
310
-        return $this->excludeFromPrefix['filePatterns'] ?? array();
310
+        return $this->excludeFromPrefix[ 'filePatterns' ] ?? array();
311 311
     }
312 312
 
313 313
 
@@ -322,7 +322,7 @@  discard block
 block discarded – undo
322 322
     /**
323 323
      * @param array $overrideAutoload
324 324
      */
325
-    public function setOverrideAutoload(array $overrideAutoload): void
325
+    public function setOverrideAutoload( array $overrideAutoload ): void
326 326
     {
327 327
         $this->overrideAutoload = $overrideAutoload;
328 328
     }
@@ -338,7 +338,7 @@  discard block
 block discarded – undo
338 338
     /**
339 339
      * @param bool $deleteVendorFiles
340 340
      */
341
-    public function setDeleteVendorFiles(bool $deleteVendorFiles): void
341
+    public function setDeleteVendorFiles( bool $deleteVendorFiles ): void
342 342
     {
343 343
         $this->deleteVendorFiles = $deleteVendorFiles;
344 344
     }
@@ -354,7 +354,7 @@  discard block
 block discarded – undo
354 354
     /**
355 355
      * @param array $packages
356 356
      */
357
-    public function setPackages(array $packages): void
357
+    public function setPackages( array $packages ): void
358 358
     {
359 359
         $this->packages = $packages;
360 360
     }
@@ -370,7 +370,7 @@  discard block
 block discarded – undo
370 370
     /**
371 371
      * @param bool $classmapOutput
372 372
      */
373
-    public function setClassmapOutput(bool $classmapOutput): void
373
+    public function setClassmapOutput( bool $classmapOutput ): void
374 374
     {
375 375
         $this->classmapOutput = $classmapOutput;
376 376
     }
@@ -378,14 +378,14 @@  discard block
 block discarded – undo
378 378
     /**
379 379
      * Backwards compatability with Mozart.
380 380
      */
381
-    public function setExcludePackages(array $excludePackages)
381
+    public function setExcludePackages( array $excludePackages )
382 382
     {
383 383
 
384
-        if (! isset($this->excludeFromPrefix)) {
384
+        if ( ! isset( $this->excludeFromPrefix ) ) {
385 385
             $this->excludeFromPrefix = array();
386 386
         }
387 387
 
388
-        $this->excludeFromPrefix['packages'] = $excludePackages;
388
+        $this->excludeFromPrefix[ 'packages' ] = $excludePackages;
389 389
     }
390 390
 
391 391
 
@@ -400,7 +400,7 @@  discard block
 block discarded – undo
400 400
     /**
401 401
      * @param array $namespaceReplacementPatterns
402 402
      */
403
-    public function setNamespaceReplacementPatterns(array $namespaceReplacementPatterns): void
403
+    public function setNamespaceReplacementPatterns( array $namespaceReplacementPatterns ): void
404 404
     {
405 405
         $this->namespaceReplacementPatterns = $namespaceReplacementPatterns;
406 406
     }
Please login to merge, or discard this patch.
Braces   +3 added lines, -6 removed lines patch added patch discarded remove patch
@@ -10,8 +10,7 @@  discard block
 block discarded – undo
10 10
 use JsonMapper\JsonMapperFactory;
11 11
 use JsonMapper\Middleware\Rename\Rename;
12 12
 
13
-class StraussConfig
14
-{
13
+class StraussConfig {
15 14
     /**
16 15
      * The output directory.
17 16
      *
@@ -91,8 +90,7 @@  discard block
 block discarded – undo
91 90
      *
92 91
      * @throws Exception
93 92
      */
94
-    public function __construct(Composer $composer)
95
-    {
93
+    public function __construct(Composer $composer) {
96 94
 
97 95
         $configExtraSettings = null;
98 96
 
@@ -378,8 +376,7 @@  discard block
 block discarded – undo
378 376
     /**
379 377
      * Backwards compatability with Mozart.
380 378
      */
381
-    public function setExcludePackages(array $excludePackages)
382
-    {
379
+    public function setExcludePackages(array $excludePackages) {
383 380
 
384 381
         if (! isset($this->excludeFromPrefix)) {
385 382
             $this->excludeFromPrefix = array();
Please login to merge, or discard this patch.
vendor/brianhenryie/strauss/src/Composer/ComposerPackage.php 3 patches
Indentation   +130 added lines, -130 removed lines patch added patch discarded remove patch
@@ -13,134 +13,134 @@
 block discarded – undo
13 13
 
14 14
 class ComposerPackage
15 15
 {
16
-    /**
17
-     * The composer.json file as parsed by Composer.
18
-     *
19
-     * @see \Composer\Factory::create
20
-     *
21
-     * @var \Composer\Composer
22
-     */
23
-    protected \Composer\Composer $composer;
24
-
25
-    /**
26
-     * The name of the project in composer.json.
27
-     *
28
-     * e.g. brianhenryie/my-project
29
-     *
30
-     * @var string
31
-     */
32
-    protected string $name;
33
-
34
-    protected string $path;
35
-
36
-    /**
37
-     * The discovered files, classmap, psr0 and psr4 autoload keys discovered (as parsed by Composer).
38
-     *
39
-     * @var array<string, array<string, string>>
40
-     */
41
-    protected array $autoload = [];
42
-
43
-    /**
44
-     * The names in the composer.json's "requires" field (without versions).
45
-     *
46
-     * @var array
47
-     */
48
-    protected array $requiresNames = [];
49
-
50
-    protected string $license;
51
-
52
-    /**
53
-     * Create a PHP object to represent a composer package.
54
-     *
55
-     * @param string $absolutePath The absolute path to the vendor folder with the composer.json "name",
56
-     *          i.e. the domain/package definition, which is the vendor subdir from where the package's
57
-     *          composer.json should be read.
58
-     * @param array $overrideAutoload Optional configuration to replace the package's own autoload definition with
59
-     *                                    another which Strauss can use.
60
-     */
61
-    public function __construct(string $absolutePath, array $overrideAutoload = null)
62
-    {
63
-
64
-        if (is_dir($absolutePath)) {
65
-            $absolutePath = rtrim($absolutePath, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . 'composer.json';
66
-        }
67
-
68
-        $composer = Factory::create(new NullIO(), $absolutePath);
69
-
70
-        $this->composer = $composer;
71
-
72
-        $this->name = $composer->getPackage()->getName();
73
-
74
-        $relativePath = null;
75
-
76
-        // TODO: Test on Windows (DIRECTORY_SEPARATOR).
77
-        if (1 === preg_match('/vendor\/(\w*\/\w*)\/composer\.json/', $absolutePath, $output_array)) {
78
-            $relativePath = $output_array[1];
79
-        }
80
-
81
-        $this->path = $relativePath ?? $composer->getPackage()->getName();
82
-
83
-        if (!is_null($overrideAutoload)) {
84
-            $composer->getPackage()->setAutoload($overrideAutoload);
85
-        }
86
-
87
-        $this->autoload = $composer->getPackage()->getAutoload();
88
-
89
-        foreach ($composer->getPackage()->getRequires() as $_name => $packageLink) {
90
-            $this->requiresNames[] = $packageLink->getTarget();
91
-        }
92
-
93
-        // Try to get the license from the package's composer.json, asssume proprietary (all rights reserved!).
94
-        $this->license = !empty($composer->getPackage()->getLicense())
95
-            ? implode(',', $composer->getPackage()->getLicense())
96
-            : 'proprietary?';
97
-    }
98
-
99
-    /**
100
-     * Composer package project name.
101
-     *
102
-     * @return string
103
-     */
104
-    public function getName(): string
105
-    {
106
-        return $this->name;
107
-    }
108
-
109
-    public function getPath(): string
110
-    {
111
-        return $this->path;
112
-    }
113
-
114
-    /**
115
-     *
116
-     * e.g. ['psr-4' => [ 'BrianHenryIE\Project' => 'src' ]]
117
-     *
118
-     * @return array<string, array<int|string, string>>
119
-     */
120
-    public function getAutoload(): array
121
-    {
122
-        return $this->autoload;
123
-    }
124
-
125
-    /**
126
-     * The names of the packages in the composer.json's "requires" field (without version).
127
-     *
128
-     * Excludes PHP, ext-*, since we won't be copying or prefixing them.
129
-     *
130
-     * @return string[]
131
-     */
132
-    public function getRequiresNames(): array
133
-    {
134
-        // Unset PHP, ext-*.
135
-        $removePhpExt = function ($element) {
136
-            return !( 0 === strpos($element, 'ext') || 'php' === $element );
137
-        };
138
-
139
-        return array_filter($this->requiresNames, $removePhpExt);
140
-    }
141
-
142
-    public function getLicense():string
143
-    {
144
-        return $this->license;
145
-    }
16
+	/**
17
+	 * The composer.json file as parsed by Composer.
18
+	 *
19
+	 * @see \Composer\Factory::create
20
+	 *
21
+	 * @var \Composer\Composer
22
+	 */
23
+	protected \Composer\Composer $composer;
24
+
25
+	/**
26
+	 * The name of the project in composer.json.
27
+	 *
28
+	 * e.g. brianhenryie/my-project
29
+	 *
30
+	 * @var string
31
+	 */
32
+	protected string $name;
33
+
34
+	protected string $path;
35
+
36
+	/**
37
+	 * The discovered files, classmap, psr0 and psr4 autoload keys discovered (as parsed by Composer).
38
+	 *
39
+	 * @var array<string, array<string, string>>
40
+	 */
41
+	protected array $autoload = [];
42
+
43
+	/**
44
+	 * The names in the composer.json's "requires" field (without versions).
45
+	 *
46
+	 * @var array
47
+	 */
48
+	protected array $requiresNames = [];
49
+
50
+	protected string $license;
51
+
52
+	/**
53
+	 * Create a PHP object to represent a composer package.
54
+	 *
55
+	 * @param string $absolutePath The absolute path to the vendor folder with the composer.json "name",
56
+	 *          i.e. the domain/package definition, which is the vendor subdir from where the package's
57
+	 *          composer.json should be read.
58
+	 * @param array $overrideAutoload Optional configuration to replace the package's own autoload definition with
59
+	 *                                    another which Strauss can use.
60
+	 */
61
+	public function __construct(string $absolutePath, array $overrideAutoload = null)
62
+	{
63
+
64
+		if (is_dir($absolutePath)) {
65
+			$absolutePath = rtrim($absolutePath, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . 'composer.json';
66
+		}
67
+
68
+		$composer = Factory::create(new NullIO(), $absolutePath);
69
+
70
+		$this->composer = $composer;
71
+
72
+		$this->name = $composer->getPackage()->getName();
73
+
74
+		$relativePath = null;
75
+
76
+		// TODO: Test on Windows (DIRECTORY_SEPARATOR).
77
+		if (1 === preg_match('/vendor\/(\w*\/\w*)\/composer\.json/', $absolutePath, $output_array)) {
78
+			$relativePath = $output_array[1];
79
+		}
80
+
81
+		$this->path = $relativePath ?? $composer->getPackage()->getName();
82
+
83
+		if (!is_null($overrideAutoload)) {
84
+			$composer->getPackage()->setAutoload($overrideAutoload);
85
+		}
86
+
87
+		$this->autoload = $composer->getPackage()->getAutoload();
88
+
89
+		foreach ($composer->getPackage()->getRequires() as $_name => $packageLink) {
90
+			$this->requiresNames[] = $packageLink->getTarget();
91
+		}
92
+
93
+		// Try to get the license from the package's composer.json, asssume proprietary (all rights reserved!).
94
+		$this->license = !empty($composer->getPackage()->getLicense())
95
+			? implode(',', $composer->getPackage()->getLicense())
96
+			: 'proprietary?';
97
+	}
98
+
99
+	/**
100
+	 * Composer package project name.
101
+	 *
102
+	 * @return string
103
+	 */
104
+	public function getName(): string
105
+	{
106
+		return $this->name;
107
+	}
108
+
109
+	public function getPath(): string
110
+	{
111
+		return $this->path;
112
+	}
113
+
114
+	/**
115
+	 *
116
+	 * e.g. ['psr-4' => [ 'BrianHenryIE\Project' => 'src' ]]
117
+	 *
118
+	 * @return array<string, array<int|string, string>>
119
+	 */
120
+	public function getAutoload(): array
121
+	{
122
+		return $this->autoload;
123
+	}
124
+
125
+	/**
126
+	 * The names of the packages in the composer.json's "requires" field (without version).
127
+	 *
128
+	 * Excludes PHP, ext-*, since we won't be copying or prefixing them.
129
+	 *
130
+	 * @return string[]
131
+	 */
132
+	public function getRequiresNames(): array
133
+	{
134
+		// Unset PHP, ext-*.
135
+		$removePhpExt = function ($element) {
136
+			return !( 0 === strpos($element, 'ext') || 'php' === $element );
137
+		};
138
+
139
+		return array_filter($this->requiresNames, $removePhpExt);
140
+	}
141
+
142
+	public function getLicense():string
143
+	{
144
+		return $this->license;
145
+	}
146 146
 }
Please login to merge, or discard this patch.
Spacing   +17 added lines, -17 removed lines patch added patch discarded remove patch
@@ -38,14 +38,14 @@  discard block
 block discarded – undo
38 38
      *
39 39
      * @var array<string, array<string, string>>
40 40
      */
41
-    protected array $autoload = [];
41
+    protected array $autoload = [ ];
42 42
 
43 43
     /**
44 44
      * The names in the composer.json's "requires" field (without versions).
45 45
      *
46 46
      * @var array
47 47
      */
48
-    protected array $requiresNames = [];
48
+    protected array $requiresNames = [ ];
49 49
 
50 50
     protected string $license;
51 51
 
@@ -58,14 +58,14 @@  discard block
 block discarded – undo
58 58
      * @param array $overrideAutoload Optional configuration to replace the package's own autoload definition with
59 59
      *                                    another which Strauss can use.
60 60
      */
61
-    public function __construct(string $absolutePath, array $overrideAutoload = null)
61
+    public function __construct( string $absolutePath, array $overrideAutoload = null )
62 62
     {
63 63
 
64
-        if (is_dir($absolutePath)) {
65
-            $absolutePath = rtrim($absolutePath, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . 'composer.json';
64
+        if ( is_dir( $absolutePath ) ) {
65
+            $absolutePath = rtrim( $absolutePath, DIRECTORY_SEPARATOR ) . DIRECTORY_SEPARATOR . 'composer.json';
66 66
         }
67 67
 
68
-        $composer = Factory::create(new NullIO(), $absolutePath);
68
+        $composer = Factory::create( new NullIO(), $absolutePath );
69 69
 
70 70
         $this->composer = $composer;
71 71
 
@@ -74,25 +74,25 @@  discard block
 block discarded – undo
74 74
         $relativePath = null;
75 75
 
76 76
         // TODO: Test on Windows (DIRECTORY_SEPARATOR).
77
-        if (1 === preg_match('/vendor\/(\w*\/\w*)\/composer\.json/', $absolutePath, $output_array)) {
78
-            $relativePath = $output_array[1];
77
+        if ( 1 === preg_match( '/vendor\/(\w*\/\w*)\/composer\.json/', $absolutePath, $output_array ) ) {
78
+            $relativePath = $output_array[ 1 ];
79 79
         }
80 80
 
81 81
         $this->path = $relativePath ?? $composer->getPackage()->getName();
82 82
 
83
-        if (!is_null($overrideAutoload)) {
84
-            $composer->getPackage()->setAutoload($overrideAutoload);
83
+        if ( ! is_null( $overrideAutoload ) ) {
84
+            $composer->getPackage()->setAutoload( $overrideAutoload );
85 85
         }
86 86
 
87 87
         $this->autoload = $composer->getPackage()->getAutoload();
88 88
 
89
-        foreach ($composer->getPackage()->getRequires() as $_name => $packageLink) {
90
-            $this->requiresNames[] = $packageLink->getTarget();
89
+        foreach ( $composer->getPackage()->getRequires() as $_name => $packageLink ) {
90
+            $this->requiresNames[ ] = $packageLink->getTarget();
91 91
         }
92 92
 
93 93
         // Try to get the license from the package's composer.json, asssume proprietary (all rights reserved!).
94
-        $this->license = !empty($composer->getPackage()->getLicense())
95
-            ? implode(',', $composer->getPackage()->getLicense())
94
+        $this->license = ! empty( $composer->getPackage()->getLicense() )
95
+            ? implode( ',', $composer->getPackage()->getLicense() )
96 96
             : 'proprietary?';
97 97
     }
98 98
 
@@ -132,11 +132,11 @@  discard block
 block discarded – undo
132 132
     public function getRequiresNames(): array
133 133
     {
134 134
         // Unset PHP, ext-*.
135
-        $removePhpExt = function ($element) {
136
-            return !( 0 === strpos($element, 'ext') || 'php' === $element );
135
+        $removePhpExt = function( $element ) {
136
+            return ! ( 0 === strpos( $element, 'ext' ) || 'php' === $element );
137 137
         };
138 138
 
139
-        return array_filter($this->requiresNames, $removePhpExt);
139
+        return array_filter( $this->requiresNames, $removePhpExt );
140 140
     }
141 141
 
142 142
     public function getLicense():string
Please login to merge, or discard this patch.
Braces   +2 added lines, -4 removed lines patch added patch discarded remove patch
@@ -11,8 +11,7 @@  discard block
 block discarded – undo
11 11
 use Composer\IO\NullIO;
12 12
 use stdClass;
13 13
 
14
-class ComposerPackage
15
-{
14
+class ComposerPackage {
16 15
     /**
17 16
      * The composer.json file as parsed by Composer.
18 17
      *
@@ -58,8 +57,7 @@  discard block
 block discarded – undo
58 57
      * @param array $overrideAutoload Optional configuration to replace the package's own autoload definition with
59 58
      *                                    another which Strauss can use.
60 59
      */
61
-    public function __construct(string $absolutePath, array $overrideAutoload = null)
62
-    {
60
+    public function __construct(string $absolutePath, array $overrideAutoload = null) {
63 61
 
64 62
         if (is_dir($absolutePath)) {
65 63
             $absolutePath = rtrim($absolutePath, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . 'composer.json';
Please login to merge, or discard this patch.
vendor/brianhenryie/strauss/src/Composer/ProjectComposerPackage.php 3 patches
Indentation   +44 added lines, -44 removed lines patch added patch discarded remove patch
@@ -9,48 +9,48 @@
 block discarded – undo
9 9
 
10 10
 class ProjectComposerPackage extends ComposerPackage
11 11
 {
12
-    protected string $author;
13
-
14
-    protected string $vendorDirectory;
15
-
16
-    public function __construct(string $absolutePath, array $overrideAutoload = null)
17
-    {
18
-        parent::__construct($absolutePath, $overrideAutoload);
19
-
20
-        $authors = $this->composer->getPackage()->getAuthors();
21
-        if (empty($authors) || !isset($authors[0]['name'])) {
22
-            $this->author = explode("/", $this->name, 2)[0];
23
-        } else {
24
-            $this->author = $authors[0]['name'];
25
-        }
26
-
27
-        $vendorDirectory = $this->composer->getConfig()->get('vendor-dir');
28
-        if (is_string($vendorDirectory)) {
29
-            $vendorDirectory = str_replace($absolutePath, '', (string) $vendorDirectory);
30
-            $this->vendorDirectory = $vendorDirectory;
31
-        } else {
32
-            $this->vendorDirectory = 'vendor' . DIRECTORY_SEPARATOR;
33
-        }
34
-    }
35
-
36
-    /**
37
-     * @return StraussConfig
38
-     * @throws \Exception
39
-     */
40
-    public function getStraussConfig(): StraussConfig
41
-    {
42
-
43
-        return new StraussConfig($this->composer);
44
-    }
45
-
46
-
47
-    public function getAuthor(): string
48
-    {
49
-        return $this->author;
50
-    }
51
-
52
-    public function getVendorDirectory(): string
53
-    {
54
-        return rtrim($this->vendorDirectory, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR;
55
-    }
12
+	protected string $author;
13
+
14
+	protected string $vendorDirectory;
15
+
16
+	public function __construct(string $absolutePath, array $overrideAutoload = null)
17
+	{
18
+		parent::__construct($absolutePath, $overrideAutoload);
19
+
20
+		$authors = $this->composer->getPackage()->getAuthors();
21
+		if (empty($authors) || !isset($authors[0]['name'])) {
22
+			$this->author = explode("/", $this->name, 2)[0];
23
+		} else {
24
+			$this->author = $authors[0]['name'];
25
+		}
26
+
27
+		$vendorDirectory = $this->composer->getConfig()->get('vendor-dir');
28
+		if (is_string($vendorDirectory)) {
29
+			$vendorDirectory = str_replace($absolutePath, '', (string) $vendorDirectory);
30
+			$this->vendorDirectory = $vendorDirectory;
31
+		} else {
32
+			$this->vendorDirectory = 'vendor' . DIRECTORY_SEPARATOR;
33
+		}
34
+	}
35
+
36
+	/**
37
+	 * @return StraussConfig
38
+	 * @throws \Exception
39
+	 */
40
+	public function getStraussConfig(): StraussConfig
41
+	{
42
+
43
+		return new StraussConfig($this->composer);
44
+	}
45
+
46
+
47
+	public function getAuthor(): string
48
+	{
49
+		return $this->author;
50
+	}
51
+
52
+	public function getVendorDirectory(): string
53
+	{
54
+		return rtrim($this->vendorDirectory, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR;
55
+	}
56 56
 }
Please login to merge, or discard this patch.
Spacing   +10 added lines, -10 removed lines patch added patch discarded remove patch
@@ -13,20 +13,20 @@  discard block
 block discarded – undo
13 13
 
14 14
     protected string $vendorDirectory;
15 15
 
16
-    public function __construct(string $absolutePath, array $overrideAutoload = null)
16
+    public function __construct( string $absolutePath, array $overrideAutoload = null )
17 17
     {
18
-        parent::__construct($absolutePath, $overrideAutoload);
18
+        parent::__construct( $absolutePath, $overrideAutoload );
19 19
 
20 20
         $authors = $this->composer->getPackage()->getAuthors();
21
-        if (empty($authors) || !isset($authors[0]['name'])) {
22
-            $this->author = explode("/", $this->name, 2)[0];
21
+        if ( empty( $authors ) || ! isset( $authors[ 0 ][ 'name' ] ) ) {
22
+            $this->author = explode( "/", $this->name, 2 )[ 0 ];
23 23
         } else {
24
-            $this->author = $authors[0]['name'];
24
+            $this->author = $authors[ 0 ][ 'name' ];
25 25
         }
26 26
 
27
-        $vendorDirectory = $this->composer->getConfig()->get('vendor-dir');
28
-        if (is_string($vendorDirectory)) {
29
-            $vendorDirectory = str_replace($absolutePath, '', (string) $vendorDirectory);
27
+        $vendorDirectory = $this->composer->getConfig()->get( 'vendor-dir' );
28
+        if ( is_string( $vendorDirectory ) ) {
29
+            $vendorDirectory = str_replace( $absolutePath, '', (string)$vendorDirectory );
30 30
             $this->vendorDirectory = $vendorDirectory;
31 31
         } else {
32 32
             $this->vendorDirectory = 'vendor' . DIRECTORY_SEPARATOR;
@@ -40,7 +40,7 @@  discard block
 block discarded – undo
40 40
     public function getStraussConfig(): StraussConfig
41 41
     {
42 42
 
43
-        return new StraussConfig($this->composer);
43
+        return new StraussConfig( $this->composer );
44 44
     }
45 45
 
46 46
 
@@ -51,6 +51,6 @@  discard block
 block discarded – undo
51 51
 
52 52
     public function getVendorDirectory(): string
53 53
     {
54
-        return rtrim($this->vendorDirectory, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR;
54
+        return rtrim( $this->vendorDirectory, DIRECTORY_SEPARATOR ) . DIRECTORY_SEPARATOR;
55 55
     }
56 56
 }
Please login to merge, or discard this patch.
Braces   +2 added lines, -4 removed lines patch added patch discarded remove patch
@@ -7,14 +7,12 @@
 block discarded – undo
7 7
 
8 8
 use BrianHenryIE\Strauss\Composer\Extra\StraussConfig;
9 9
 
10
-class ProjectComposerPackage extends ComposerPackage
11
-{
10
+class ProjectComposerPackage extends ComposerPackage {
12 11
     protected string $author;
13 12
 
14 13
     protected string $vendorDirectory;
15 14
 
16
-    public function __construct(string $absolutePath, array $overrideAutoload = null)
17
-    {
15
+    public function __construct(string $absolutePath, array $overrideAutoload = null) {
18 16
         parent::__construct($absolutePath, $overrideAutoload);
19 17
 
20 18
         $authors = $this->composer->getPackage()->getAuthors();
Please login to merge, or discard this patch.
vendor/brianhenryie/strauss/src/Autoload.php 4 patches
Indentation   +142 added lines, -142 removed lines patch added patch discarded remove patch
@@ -15,152 +15,152 @@  discard block
 block discarded – undo
15 15
 class Autoload
16 16
 {
17 17
 
18
-    /** @var Filesystem */
19
-    protected $filesystem;
20
-
21
-    protected string $workingDir;
22
-
23
-    protected StraussConfig $config;
24
-
25
-    /**
26
-     * The files autolaoders of packages that have been copied by Strauss.
27
-     * Keyed by package path.
28
-     *
29
-     * @var array
30
-     */
31
-    protected array $discoveredFilesAutoloaders;
32
-
33
-    /**
34
-     * Autoload constructor.
35
-     * @param StraussConfig $config
36
-     * @param string $workingDir
37
-     * @param array<string, array<string>> $files
38
-     */
39
-    public function __construct(StraussConfig $config, string $workingDir, array $discoveredFilesAutoloaders)
40
-    {
41
-        $this->config = $config;
42
-        $this->workingDir = $workingDir;
43
-        $this->discoveredFilesAutoloaders = $discoveredFilesAutoloaders;
44
-        $this->filesystem = new Filesystem(new Local($workingDir));
45
-    }
46
-
47
-    public function generate()
48
-    {
49
-
50
-        if (! $this->config->isClassmapOutput()) {
51
-            return;
52
-        }
53
-
54
-        // TODO Don't do this if vendor is the target dir (i.e. in-situ updating).
55
-
56
-        $this->generateClassmap();
57
-
58
-        $this->generateFilesAutoloader();
59
-
60
-        $this->generateAutoloadPhp();
61
-    }
18
+	/** @var Filesystem */
19
+	protected $filesystem;
20
+
21
+	protected string $workingDir;
22
+
23
+	protected StraussConfig $config;
24
+
25
+	/**
26
+	 * The files autolaoders of packages that have been copied by Strauss.
27
+	 * Keyed by package path.
28
+	 *
29
+	 * @var array
30
+	 */
31
+	protected array $discoveredFilesAutoloaders;
32
+
33
+	/**
34
+	 * Autoload constructor.
35
+	 * @param StraussConfig $config
36
+	 * @param string $workingDir
37
+	 * @param array<string, array<string>> $files
38
+	 */
39
+	public function __construct(StraussConfig $config, string $workingDir, array $discoveredFilesAutoloaders)
40
+	{
41
+		$this->config = $config;
42
+		$this->workingDir = $workingDir;
43
+		$this->discoveredFilesAutoloaders = $discoveredFilesAutoloaders;
44
+		$this->filesystem = new Filesystem(new Local($workingDir));
45
+	}
62 46
 
63
-    /**
64
-     * Uses Composer's `ClassMapGenerator::createMap()` to scan the directories for classes and generate the map.
65
-     *
66
-     * createMap() returns the full local path, so we then replace the root of the path with a variable.
67
-     *
68
-     * @see ClassMapGenerator::dump()
69
-     *
70
-     */
71
-    protected function generateClassmap(): string
72
-    {
73
-
74
-        // Hyphen used to match WordPress Coding Standards.
75
-        $output_filename = "autoload-classmap.php";
76
-
77
-        $targetDirectory = getcwd()
78
-            . DIRECTORY_SEPARATOR
79
-            . ltrim($this->config->getTargetDirectory(), DIRECTORY_SEPARATOR);
80
-
81
-        $dirs = array(
82
-            $targetDirectory
83
-        );
84
-
85
-        $dirname = '';
86
-
87
-        foreach ($dirs as $dir) {
88
-            if (!is_dir($dir)) {
89
-                continue;
90
-            }
47
+	public function generate()
48
+	{
49
+
50
+		if (! $this->config->isClassmapOutput()) {
51
+			return;
52
+		}
53
+
54
+		// TODO Don't do this if vendor is the target dir (i.e. in-situ updating).
55
+
56
+		$this->generateClassmap();
57
+
58
+		$this->generateFilesAutoloader();
59
+
60
+		$this->generateAutoloadPhp();
61
+	}
62
+
63
+	/**
64
+	 * Uses Composer's `ClassMapGenerator::createMap()` to scan the directories for classes and generate the map.
65
+	 *
66
+	 * createMap() returns the full local path, so we then replace the root of the path with a variable.
67
+	 *
68
+	 * @see ClassMapGenerator::dump()
69
+	 *
70
+	 */
71
+	protected function generateClassmap(): string
72
+	{
73
+
74
+		// Hyphen used to match WordPress Coding Standards.
75
+		$output_filename = "autoload-classmap.php";
76
+
77
+		$targetDirectory = getcwd()
78
+			. DIRECTORY_SEPARATOR
79
+			. ltrim($this->config->getTargetDirectory(), DIRECTORY_SEPARATOR);
80
+
81
+		$dirs = array(
82
+			$targetDirectory
83
+		);
84
+
85
+		$dirname = '';
86
+
87
+		foreach ($dirs as $dir) {
88
+			if (!is_dir($dir)) {
89
+				continue;
90
+			}
91
+
92
+			$dirMap = ClassMapGenerator::createMap($dir);
93
+
94
+			$dirname = preg_replace('/[^a-z]/i', '', str_replace(getcwd(), '', $dir));
95
+
96
+			array_walk(
97
+				$dirMap,
98
+				function (&$filepath, $_class) use ($dir, $dirname) {
99
+					$filepath = "\${$dirname} . '"
100
+						. DIRECTORY_SEPARATOR
101
+						. ltrim(str_replace($dir, '', $filepath), DIRECTORY_SEPARATOR) . "'";
102
+				}
103
+			);
104
+
105
+			ob_start();
106
+
107
+			echo "<?php\n\n";
108
+			echo "// {$output_filename} @generated by Strauss\n\n";
109
+			echo "\${$dirname} = dirname(__FILE__);\n\n";
110
+			echo "return array(\n";
111
+			foreach ($dirMap as $class => $file) {
112
+				echo "   '{$class}' => {$file},\n";
113
+			}
114
+			echo ");";
115
+
116
+			file_put_contents($dir . $output_filename, ob_get_clean());
117
+		}
118
+
119
+		return $dirname;
120
+	}
121
+
122
+	protected function generateFilesAutoloader()
123
+	{
124
+
125
+		// Hyphen used to match WordPress Coding Standards.
126
+		$outputFilename = "autoload-files.php";
127
+
128
+		$filesAutoloaders = $this->discoveredFilesAutoloaders;
129
+
130
+		if (empty($filesAutoloaders)) {
131
+			return;
132
+		}
133
+
134
+		$targetDirectory = getcwd()
135
+			. DIRECTORY_SEPARATOR
136
+			. ltrim($this->config->getTargetDirectory(), DIRECTORY_SEPARATOR);
91 137
 
92
-            $dirMap = ClassMapGenerator::createMap($dir);
138
+		$dirname = preg_replace('/[^a-z]/i', '', str_replace(getcwd(), '', $targetDirectory));
93 139
 
94
-            $dirname = preg_replace('/[^a-z]/i', '', str_replace(getcwd(), '', $dir));
140
+		ob_start();
95 141
 
96
-            array_walk(
97
-                $dirMap,
98
-                function (&$filepath, $_class) use ($dir, $dirname) {
99
-                    $filepath = "\${$dirname} . '"
100
-                        . DIRECTORY_SEPARATOR
101
-                        . ltrim(str_replace($dir, '', $filepath), DIRECTORY_SEPARATOR) . "'";
102
-                }
103
-            );
104
-
105
-            ob_start();
142
+		echo "<?php\n\n";
143
+		echo "// {$outputFilename} @generated by Strauss\n";
144
+		echo "// @see https://github.com/BrianHenryIE/strauss/\n\n";
106 145
 
107
-            echo "<?php\n\n";
108
-            echo "// {$output_filename} @generated by Strauss\n\n";
109
-            echo "\${$dirname} = dirname(__FILE__);\n\n";
110
-            echo "return array(\n";
111
-            foreach ($dirMap as $class => $file) {
112
-                echo "   '{$class}' => {$file},\n";
113
-            }
114
-            echo ");";
146
+		foreach ($filesAutoloaders as $packagePath => $files) {
147
+			foreach ($files as $file) {
148
+				$filepath = DIRECTORY_SEPARATOR . $packagePath . DIRECTORY_SEPARATOR . $file;
149
+				$filePathinfo = pathinfo(__DIR__ . $filepath);
150
+				if (!isset($filePathinfo['extension']) || 'php' !== $filePathinfo['extension']) {
151
+					continue;
152
+				}
153
+				echo "require_once __DIR__ . '{$filepath}';\n";
154
+			}
155
+		}
115 156
 
116
-            file_put_contents($dir . $output_filename, ob_get_clean());
117
-        }
157
+		file_put_contents($targetDirectory . $outputFilename, ob_get_clean());
158
+	}
118 159
 
119
-        return $dirname;
120
-    }
160
+	protected function generateAutoloadPhp()
161
+	{
121 162
 
122
-    protected function generateFilesAutoloader()
123
-    {
124
-
125
-        // Hyphen used to match WordPress Coding Standards.
126
-        $outputFilename = "autoload-files.php";
127
-
128
-        $filesAutoloaders = $this->discoveredFilesAutoloaders;
129
-
130
-        if (empty($filesAutoloaders)) {
131
-            return;
132
-        }
133
-
134
-        $targetDirectory = getcwd()
135
-            . DIRECTORY_SEPARATOR
136
-            . ltrim($this->config->getTargetDirectory(), DIRECTORY_SEPARATOR);
137
-
138
-        $dirname = preg_replace('/[^a-z]/i', '', str_replace(getcwd(), '', $targetDirectory));
139
-
140
-        ob_start();
141
-
142
-        echo "<?php\n\n";
143
-        echo "// {$outputFilename} @generated by Strauss\n";
144
-        echo "// @see https://github.com/BrianHenryIE/strauss/\n\n";
145
-
146
-        foreach ($filesAutoloaders as $packagePath => $files) {
147
-            foreach ($files as $file) {
148
-                $filepath = DIRECTORY_SEPARATOR . $packagePath . DIRECTORY_SEPARATOR . $file;
149
-                $filePathinfo = pathinfo(__DIR__ . $filepath);
150
-                if (!isset($filePathinfo['extension']) || 'php' !== $filePathinfo['extension']) {
151
-                    continue;
152
-                }
153
-                echo "require_once __DIR__ . '{$filepath}';\n";
154
-            }
155
-        }
156
-
157
-        file_put_contents($targetDirectory . $outputFilename, ob_get_clean());
158
-    }
159
-
160
-    protected function generateAutoloadPhp()
161
-    {
162
-
163
-        $autoloadPhp = <<<'EOD'
163
+		$autoloadPhp = <<<'EOD'
164 164
 <?php
165 165
 // autoload.php @generated by Strauss
166 166
 
@@ -183,9 +183,9 @@  discard block
 block discarded – undo
183 183
 }
184 184
 EOD;
185 185
 
186
-        $relativeFilepath = $this->config->getTargetDirectory() . 'autoload.php';
187
-        $absoluteFilepath = $this->workingDir . $relativeFilepath;
186
+		$relativeFilepath = $this->config->getTargetDirectory() . 'autoload.php';
187
+		$absoluteFilepath = $this->workingDir . $relativeFilepath;
188 188
 
189
-        file_put_contents($absoluteFilepath, $autoloadPhp);
190
-    }
189
+		file_put_contents($absoluteFilepath, $autoloadPhp);
190
+	}
191 191
 }
Please login to merge, or discard this patch.
Spacing   +21 added lines, -21 removed lines patch added patch discarded remove patch
@@ -36,18 +36,18 @@  discard block
 block discarded – undo
36 36
      * @param string $workingDir
37 37
      * @param array<string, array<string>> $files
38 38
      */
39
-    public function __construct(StraussConfig $config, string $workingDir, array $discoveredFilesAutoloaders)
39
+    public function __construct( StraussConfig $config, string $workingDir, array $discoveredFilesAutoloaders )
40 40
     {
41 41
         $this->config = $config;
42 42
         $this->workingDir = $workingDir;
43 43
         $this->discoveredFilesAutoloaders = $discoveredFilesAutoloaders;
44
-        $this->filesystem = new Filesystem(new Local($workingDir));
44
+        $this->filesystem = new Filesystem( new Local( $workingDir ) );
45 45
     }
46 46
 
47 47
     public function generate()
48 48
     {
49 49
 
50
-        if (! $this->config->isClassmapOutput()) {
50
+        if ( ! $this->config->isClassmapOutput() ) {
51 51
             return;
52 52
         }
53 53
 
@@ -76,7 +76,7 @@  discard block
 block discarded – undo
76 76
 
77 77
         $targetDirectory = getcwd()
78 78
             . DIRECTORY_SEPARATOR
79
-            . ltrim($this->config->getTargetDirectory(), DIRECTORY_SEPARATOR);
79
+            . ltrim( $this->config->getTargetDirectory(), DIRECTORY_SEPARATOR );
80 80
 
81 81
         $dirs = array(
82 82
             $targetDirectory
@@ -84,21 +84,21 @@  discard block
 block discarded – undo
84 84
 
85 85
         $dirname = '';
86 86
 
87
-        foreach ($dirs as $dir) {
88
-            if (!is_dir($dir)) {
87
+        foreach ( $dirs as $dir ) {
88
+            if ( ! is_dir( $dir ) ) {
89 89
                 continue;
90 90
             }
91 91
 
92
-            $dirMap = ClassMapGenerator::createMap($dir);
92
+            $dirMap = ClassMapGenerator::createMap( $dir );
93 93
 
94
-            $dirname = preg_replace('/[^a-z]/i', '', str_replace(getcwd(), '', $dir));
94
+            $dirname = preg_replace( '/[^a-z]/i', '', str_replace( getcwd(), '', $dir ) );
95 95
 
96 96
             array_walk(
97 97
                 $dirMap,
98
-                function (&$filepath, $_class) use ($dir, $dirname) {
98
+                function( &$filepath, $_class ) use ( $dir, $dirname ) {
99 99
                     $filepath = "\${$dirname} . '"
100 100
                         . DIRECTORY_SEPARATOR
101
-                        . ltrim(str_replace($dir, '', $filepath), DIRECTORY_SEPARATOR) . "'";
101
+                        . ltrim( str_replace( $dir, '', $filepath ), DIRECTORY_SEPARATOR ) . "'";
102 102
                 }
103 103
             );
104 104
 
@@ -108,12 +108,12 @@  discard block
 block discarded – undo
108 108
             echo "// {$output_filename} @generated by Strauss\n\n";
109 109
             echo "\${$dirname} = dirname(__FILE__);\n\n";
110 110
             echo "return array(\n";
111
-            foreach ($dirMap as $class => $file) {
111
+            foreach ( $dirMap as $class => $file ) {
112 112
                 echo "   '{$class}' => {$file},\n";
113 113
             }
114 114
             echo ");";
115 115
 
116
-            file_put_contents($dir . $output_filename, ob_get_clean());
116
+            file_put_contents( $dir . $output_filename, ob_get_clean() );
117 117
         }
118 118
 
119 119
         return $dirname;
@@ -127,15 +127,15 @@  discard block
 block discarded – undo
127 127
 
128 128
         $filesAutoloaders = $this->discoveredFilesAutoloaders;
129 129
 
130
-        if (empty($filesAutoloaders)) {
130
+        if ( empty( $filesAutoloaders ) ) {
131 131
             return;
132 132
         }
133 133
 
134 134
         $targetDirectory = getcwd()
135 135
             . DIRECTORY_SEPARATOR
136
-            . ltrim($this->config->getTargetDirectory(), DIRECTORY_SEPARATOR);
136
+            . ltrim( $this->config->getTargetDirectory(), DIRECTORY_SEPARATOR );
137 137
 
138
-        $dirname = preg_replace('/[^a-z]/i', '', str_replace(getcwd(), '', $targetDirectory));
138
+        $dirname = preg_replace( '/[^a-z]/i', '', str_replace( getcwd(), '', $targetDirectory ) );
139 139
 
140 140
         ob_start();
141 141
 
@@ -143,18 +143,18 @@  discard block
 block discarded – undo
143 143
         echo "// {$outputFilename} @generated by Strauss\n";
144 144
         echo "// @see https://github.com/BrianHenryIE/strauss/\n\n";
145 145
 
146
-        foreach ($filesAutoloaders as $packagePath => $files) {
147
-            foreach ($files as $file) {
146
+        foreach ( $filesAutoloaders as $packagePath => $files ) {
147
+            foreach ( $files as $file ) {
148 148
                 $filepath = DIRECTORY_SEPARATOR . $packagePath . DIRECTORY_SEPARATOR . $file;
149
-                $filePathinfo = pathinfo(__DIR__ . $filepath);
150
-                if (!isset($filePathinfo['extension']) || 'php' !== $filePathinfo['extension']) {
149
+                $filePathinfo = pathinfo( __DIR__ . $filepath );
150
+                if ( ! isset( $filePathinfo[ 'extension' ] ) || 'php' !== $filePathinfo[ 'extension' ] ) {
151 151
                     continue;
152 152
                 }
153 153
                 echo "require_once __DIR__ . '{$filepath}';\n";
154 154
             }
155 155
         }
156 156
 
157
-        file_put_contents($targetDirectory . $outputFilename, ob_get_clean());
157
+        file_put_contents( $targetDirectory . $outputFilename, ob_get_clean() );
158 158
     }
159 159
 
160 160
     protected function generateAutoloadPhp()
@@ -186,6 +186,6 @@  discard block
 block discarded – undo
186 186
         $relativeFilepath = $this->config->getTargetDirectory() . 'autoload.php';
187 187
         $absoluteFilepath = $this->workingDir . $relativeFilepath;
188 188
 
189
-        file_put_contents($absoluteFilepath, $autoloadPhp);
189
+        file_put_contents( $absoluteFilepath, $autoloadPhp );
190 190
     }
191 191
 }
Please login to merge, or discard this patch.
Braces   +5 added lines, -10 removed lines patch added patch discarded remove patch
@@ -12,8 +12,7 @@  discard block
 block discarded – undo
12 12
 use League\Flysystem\Adapter\Local;
13 13
 use League\Flysystem\Filesystem;
14 14
 
15
-class Autoload
16
-{
15
+class Autoload {
17 16
 
18 17
     /** @var Filesystem */
19 18
     protected $filesystem;
@@ -36,16 +35,14 @@  discard block
 block discarded – undo
36 35
      * @param string $workingDir
37 36
      * @param array<string, array<string>> $files
38 37
      */
39
-    public function __construct(StraussConfig $config, string $workingDir, array $discoveredFilesAutoloaders)
40
-    {
38
+    public function __construct(StraussConfig $config, string $workingDir, array $discoveredFilesAutoloaders) {
41 39
         $this->config = $config;
42 40
         $this->workingDir = $workingDir;
43 41
         $this->discoveredFilesAutoloaders = $discoveredFilesAutoloaders;
44 42
         $this->filesystem = new Filesystem(new Local($workingDir));
45 43
     }
46 44
 
47
-    public function generate()
48
-    {
45
+    public function generate() {
49 46
 
50 47
         if (! $this->config->isClassmapOutput()) {
51 48
             return;
@@ -119,8 +116,7 @@  discard block
 block discarded – undo
119 116
         return $dirname;
120 117
     }
121 118
 
122
-    protected function generateFilesAutoloader()
123
-    {
119
+    protected function generateFilesAutoloader() {
124 120
 
125 121
         // Hyphen used to match WordPress Coding Standards.
126 122
         $outputFilename = "autoload-files.php";
@@ -157,8 +153,7 @@  discard block
 block discarded – undo
157 153
         file_put_contents($targetDirectory . $outputFilename, ob_get_clean());
158 154
     }
159 155
 
160
-    protected function generateAutoloadPhp()
161
-    {
156
+    protected function generateAutoloadPhp() {
162 157
 
163 158
         $autoloadPhp = <<<'EOD'
164 159
 <?php
Please login to merge, or discard this patch.
Upper-Lower-Casing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -181,7 +181,7 @@
 block discarded – undo
181 181
 if ( file_exists( __DIR__ . '/autoload-files.php' ) ) {
182 182
     require_once __DIR__ . '/autoload-files.php';
183 183
 }
184
-EOD;
184
+eod;
185 185
 
186 186
         $relativeFilepath = $this->config->getTargetDirectory() . 'autoload.php';
187 187
         $absoluteFilepath = $this->workingDir . $relativeFilepath;
Please login to merge, or discard this patch.
vendor/brianhenryie/strauss/src/Cleanup.php 3 patches
Indentation   +64 added lines, -64 removed lines patch added patch discarded remove patch
@@ -14,73 +14,73 @@
 block discarded – undo
14 14
 class Cleanup
15 15
 {
16 16
 
17
-    /** @var Filesystem */
18
-    protected Filesystem $filesystem;
17
+	/** @var Filesystem */
18
+	protected Filesystem $filesystem;
19 19
 
20
-    protected bool $isDeleteVendorFiles;
20
+	protected bool $isDeleteVendorFiles;
21 21
 
22
-    protected string $vendorDirectory = 'vendor'. DIRECTORY_SEPARATOR;
22
+	protected string $vendorDirectory = 'vendor'. DIRECTORY_SEPARATOR;
23 23
     
24
-    public function __construct(StraussConfig $config, string $workingDir)
25
-    {
24
+	public function __construct(StraussConfig $config, string $workingDir)
25
+	{
26 26
 
27
-        $this->isDeleteVendorFiles = $config->isDeleteVendorFiles();
27
+		$this->isDeleteVendorFiles = $config->isDeleteVendorFiles();
28 28
         
29
-        $this->filesystem = new Filesystem(new Local($workingDir));
30
-    }
31
-
32
-    /**
33
-     * Maybe delete the source files that were copied (depending on config),
34
-     * then delete empty directories.
35
-     *
36
-     * @param array $sourceFiles
37
-     */
38
-    public function cleanup(array $sourceFiles)
39
-    {
40
-
41
-        // TODO Don't do this if vendor is the target dir (i.e. in-situ updating).
42
-
43
-        if ($this->isDeleteVendorFiles) {
44
-            foreach ($sourceFiles as $sourceFile) {
45
-                $relativeFilepath = $this->vendorDirectory . $sourceFile;
46
-
47
-                $this->filesystem->delete($relativeFilepath);
48
-            }
49
-
50
-            // Get the root folders of the moved files.
51
-            $rootSourceDirectories = [];
52
-            foreach ($sourceFiles as $sourceFile) {
53
-                $arr = explode("/", $sourceFile, 2);
54
-                $dir = $arr[0];
55
-                $rootSourceDirectories[ $dir ] = $dir;
56
-            }
57
-            $rootSourceDirectories = array_keys($rootSourceDirectories);
58
-
59
-
60
-            $finder = new Finder();
61
-
62
-            foreach ($rootSourceDirectories as $rootSourceDirectory) {
63
-                if (!is_dir($rootSourceDirectory) || is_link($rootSourceDirectory)) {
64
-                    continue;
65
-                }
66
-
67
-                $finder->directories()->path($rootSourceDirectory);
68
-
69
-                foreach ($finder as $directory) {
70
-                    $metadata = $this->filesystem->getMetadata($directory);
71
-
72
-                    if ($this->dirIsEmpty($directory)) {
73
-                        $this->filesystem->deleteDir($directory);
74
-                    }
75
-                }
76
-            }
77
-        }
78
-    }
79
-
80
-    // TODO: Use Symphony or Flysystem functions.
81
-    protected function dirIsEmpty(string $dir): bool
82
-    {
83
-        $di = new RecursiveDirectoryIterator($dir, \FilesystemIterator::SKIP_DOTS);
84
-        return iterator_count($di) === 0;
85
-    }
29
+		$this->filesystem = new Filesystem(new Local($workingDir));
30
+	}
31
+
32
+	/**
33
+	 * Maybe delete the source files that were copied (depending on config),
34
+	 * then delete empty directories.
35
+	 *
36
+	 * @param array $sourceFiles
37
+	 */
38
+	public function cleanup(array $sourceFiles)
39
+	{
40
+
41
+		// TODO Don't do this if vendor is the target dir (i.e. in-situ updating).
42
+
43
+		if ($this->isDeleteVendorFiles) {
44
+			foreach ($sourceFiles as $sourceFile) {
45
+				$relativeFilepath = $this->vendorDirectory . $sourceFile;
46
+
47
+				$this->filesystem->delete($relativeFilepath);
48
+			}
49
+
50
+			// Get the root folders of the moved files.
51
+			$rootSourceDirectories = [];
52
+			foreach ($sourceFiles as $sourceFile) {
53
+				$arr = explode("/", $sourceFile, 2);
54
+				$dir = $arr[0];
55
+				$rootSourceDirectories[ $dir ] = $dir;
56
+			}
57
+			$rootSourceDirectories = array_keys($rootSourceDirectories);
58
+
59
+
60
+			$finder = new Finder();
61
+
62
+			foreach ($rootSourceDirectories as $rootSourceDirectory) {
63
+				if (!is_dir($rootSourceDirectory) || is_link($rootSourceDirectory)) {
64
+					continue;
65
+				}
66
+
67
+				$finder->directories()->path($rootSourceDirectory);
68
+
69
+				foreach ($finder as $directory) {
70
+					$metadata = $this->filesystem->getMetadata($directory);
71
+
72
+					if ($this->dirIsEmpty($directory)) {
73
+						$this->filesystem->deleteDir($directory);
74
+					}
75
+				}
76
+			}
77
+		}
78
+	}
79
+
80
+	// TODO: Use Symphony or Flysystem functions.
81
+	protected function dirIsEmpty(string $dir): bool
82
+	{
83
+		$di = new RecursiveDirectoryIterator($dir, \FilesystemIterator::SKIP_DOTS);
84
+		return iterator_count($di) === 0;
85
+	}
86 86
 }
Please login to merge, or discard this patch.
Spacing   +22 added lines, -22 removed lines patch added patch discarded remove patch
@@ -19,14 +19,14 @@  discard block
 block discarded – undo
19 19
 
20 20
     protected bool $isDeleteVendorFiles;
21 21
 
22
-    protected string $vendorDirectory = 'vendor'. DIRECTORY_SEPARATOR;
22
+    protected string $vendorDirectory = 'vendor' . DIRECTORY_SEPARATOR;
23 23
     
24
-    public function __construct(StraussConfig $config, string $workingDir)
24
+    public function __construct( StraussConfig $config, string $workingDir )
25 25
     {
26 26
 
27 27
         $this->isDeleteVendorFiles = $config->isDeleteVendorFiles();
28 28
         
29
-        $this->filesystem = new Filesystem(new Local($workingDir));
29
+        $this->filesystem = new Filesystem( new Local( $workingDir ) );
30 30
     }
31 31
 
32 32
     /**
@@ -35,42 +35,42 @@  discard block
 block discarded – undo
35 35
      *
36 36
      * @param array $sourceFiles
37 37
      */
38
-    public function cleanup(array $sourceFiles)
38
+    public function cleanup( array $sourceFiles )
39 39
     {
40 40
 
41 41
         // TODO Don't do this if vendor is the target dir (i.e. in-situ updating).
42 42
 
43
-        if ($this->isDeleteVendorFiles) {
44
-            foreach ($sourceFiles as $sourceFile) {
43
+        if ( $this->isDeleteVendorFiles ) {
44
+            foreach ( $sourceFiles as $sourceFile ) {
45 45
                 $relativeFilepath = $this->vendorDirectory . $sourceFile;
46 46
 
47
-                $this->filesystem->delete($relativeFilepath);
47
+                $this->filesystem->delete( $relativeFilepath );
48 48
             }
49 49
 
50 50
             // Get the root folders of the moved files.
51
-            $rootSourceDirectories = [];
52
-            foreach ($sourceFiles as $sourceFile) {
53
-                $arr = explode("/", $sourceFile, 2);
54
-                $dir = $arr[0];
51
+            $rootSourceDirectories = [ ];
52
+            foreach ( $sourceFiles as $sourceFile ) {
53
+                $arr = explode( "/", $sourceFile, 2 );
54
+                $dir = $arr[ 0 ];
55 55
                 $rootSourceDirectories[ $dir ] = $dir;
56 56
             }
57
-            $rootSourceDirectories = array_keys($rootSourceDirectories);
57
+            $rootSourceDirectories = array_keys( $rootSourceDirectories );
58 58
 
59 59
 
60 60
             $finder = new Finder();
61 61
 
62
-            foreach ($rootSourceDirectories as $rootSourceDirectory) {
63
-                if (!is_dir($rootSourceDirectory) || is_link($rootSourceDirectory)) {
62
+            foreach ( $rootSourceDirectories as $rootSourceDirectory ) {
63
+                if ( ! is_dir( $rootSourceDirectory ) || is_link( $rootSourceDirectory ) ) {
64 64
                     continue;
65 65
                 }
66 66
 
67
-                $finder->directories()->path($rootSourceDirectory);
67
+                $finder->directories()->path( $rootSourceDirectory );
68 68
 
69
-                foreach ($finder as $directory) {
70
-                    $metadata = $this->filesystem->getMetadata($directory);
69
+                foreach ( $finder as $directory ) {
70
+                    $metadata = $this->filesystem->getMetadata( $directory );
71 71
 
72
-                    if ($this->dirIsEmpty($directory)) {
73
-                        $this->filesystem->deleteDir($directory);
72
+                    if ( $this->dirIsEmpty( $directory ) ) {
73
+                        $this->filesystem->deleteDir( $directory );
74 74
                     }
75 75
                 }
76 76
             }
@@ -78,9 +78,9 @@  discard block
 block discarded – undo
78 78
     }
79 79
 
80 80
     // TODO: Use Symphony or Flysystem functions.
81
-    protected function dirIsEmpty(string $dir): bool
81
+    protected function dirIsEmpty( string $dir ): bool
82 82
     {
83
-        $di = new RecursiveDirectoryIterator($dir, \FilesystemIterator::SKIP_DOTS);
84
-        return iterator_count($di) === 0;
83
+        $di = new RecursiveDirectoryIterator( $dir, \FilesystemIterator::SKIP_DOTS );
84
+        return iterator_count( $di ) === 0;
85 85
     }
86 86
 }
Please login to merge, or discard this patch.
Braces   +3 added lines, -6 removed lines patch added patch discarded remove patch
@@ -11,8 +11,7 @@  discard block
 block discarded – undo
11 11
 use RecursiveDirectoryIterator;
12 12
 use Symfony\Component\Finder\Finder;
13 13
 
14
-class Cleanup
15
-{
14
+class Cleanup {
16 15
 
17 16
     /** @var Filesystem */
18 17
     protected Filesystem $filesystem;
@@ -21,8 +20,7 @@  discard block
 block discarded – undo
21 20
 
22 21
     protected string $vendorDirectory = 'vendor'. DIRECTORY_SEPARATOR;
23 22
     
24
-    public function __construct(StraussConfig $config, string $workingDir)
25
-    {
23
+    public function __construct(StraussConfig $config, string $workingDir) {
26 24
 
27 25
         $this->isDeleteVendorFiles = $config->isDeleteVendorFiles();
28 26
         
@@ -35,8 +33,7 @@  discard block
 block discarded – undo
35 33
      *
36 34
      * @param array $sourceFiles
37 35
      */
38
-    public function cleanup(array $sourceFiles)
39
-    {
36
+    public function cleanup(array $sourceFiles) {
40 37
 
41 38
         // TODO Don't do this if vendor is the target dir (i.e. in-situ updating).
42 39
 
Please login to merge, or discard this patch.
vendor/brianhenryie/strauss/src/FileEnumerator.php 3 patches
Indentation   +175 added lines, -175 removed lines patch added patch discarded remove patch
@@ -16,180 +16,180 @@
 block discarded – undo
16 16
 class FileEnumerator
17 17
 {
18 18
 
19
-    /**
20
-     * The only path variable with a leading slash.
21
-     * All directories in project end with a slash.
22
-     *
23
-     * @var string
24
-     */
25
-    protected string $workingDir;
26
-
27
-    /** @var ComposerPackage[] */
28
-    protected array $dependencies;
29
-
30
-    protected array $excludePackageNames = array();
31
-    protected array $excludeNamespaces = array();
32
-    protected array $excludeFilePatterns = array();
33
-
34
-    /** @var Filesystem */
35
-    protected Filesystem $filesystem;
36
-
37
-    /**
38
-     * Complete list of files specified in packages autoloaders.
39
-     *
40
-     * Relative filepaths as key, with their dependency as the value.
41
-     *
42
-     * Relative from vendor/
43
-     *
44
-     * @var array<string, ComposerPackage>
45
-     */
46
-    protected array $filesWithDependencies = [];
47
-
48
-    /**
49
-     * Record the files autolaoders for later use in building our own autoloader.
50
-     *
51
-     * @var array
52
-     */
53
-    protected array $filesAutoloaders = [];
54
-
55
-    /**
56
-     * Copier constructor.
57
-     * @param ComposerPackage[] $dependencies
58
-     * @param string $workingDir
59
-     */
60
-    public function __construct(
61
-        array $dependencies,
62
-        string $workingDir,
63
-        StraussConfig $config
64
-    ) {
65
-        $this->workingDir = $workingDir;
66
-
67
-        $this->dependencies = $dependencies;
68
-
69
-        $this->excludeNamespaces = $config->getExcludeNamespacesFromCopy();
70
-        $this->excludePackageNames = $config->getExcludePackagesFromCopy();
71
-        $this->excludeFilePatterns = $config->getExcludeFilePatternsFromCopy();
72
-
73
-        $this->filesystem = new Filesystem(new Local($this->workingDir));
74
-    }
75
-
76
-    /**
77
-     * Read the autoload keys of the dependencies and generate a list of the files referenced.
78
-     */
79
-    public function compileFileList()
80
-    {
81
-
82
-        // TODO: read 'vendor' from composer.json.
83
-        $prefixToRemove = $this->workingDir .'vendor'. DIRECTORY_SEPARATOR;
84
-
85
-        foreach ($this->dependencies as $dependency) {
86
-            if (in_array($dependency->getName(), $this->excludePackageNames)) {
87
-                continue;
88
-            }
89
-
90
-            $packagePath = $this->workingDir . 'vendor' . DIRECTORY_SEPARATOR
91
-                . $dependency->getPath() . DIRECTORY_SEPARATOR;
92
-
93
-            /**
94
-             * Where $dependency->autoload is ~
95
-             *
96
-             * [ "psr-4" => [ "BrianHenryIE\Strauss" => "src" ] ]
97
-             * Exclude "exclude-from-classmap"
98
-             * @see https://getcomposer.org/doc/04-schema.md#exclude-files-from-classmaps
99
-             */
100
-            $autoloaders = array_filter($dependency->getAutoload(), function ($type) {
101
-                return 'exclude-from-classmap' !== $type;
102
-            }, ARRAY_FILTER_USE_KEY);
103
-
104
-            foreach ($autoloaders as $type => $value) {
105
-                // Might have to switch/case here.
106
-
107
-                if ('files' === $type) {
108
-                    $this->filesAutoloaders[$dependency->getPath()] = $value;
109
-                }
110
-
111
-                foreach ($value as $namespace => $namespace_relative_path) {
112
-                    if (!empty($namespace) && in_array($namespace, $this->excludeNamespaces)) {
113
-                        continue;
114
-                    }
115
-
116
-                    if (is_file($packagePath . $namespace_relative_path)) {
117
-                        //  $finder->files()->name($file)->in($source_path);
118
-
119
-                        $relativeFilepath = str_replace($prefixToRemove, '', $packagePath . $namespace_relative_path);
120
-                        $relativeFilepath = preg_replace('#[\\\/]+#', DIRECTORY_SEPARATOR, $relativeFilepath);
19
+	/**
20
+	 * The only path variable with a leading slash.
21
+	 * All directories in project end with a slash.
22
+	 *
23
+	 * @var string
24
+	 */
25
+	protected string $workingDir;
26
+
27
+	/** @var ComposerPackage[] */
28
+	protected array $dependencies;
29
+
30
+	protected array $excludePackageNames = array();
31
+	protected array $excludeNamespaces = array();
32
+	protected array $excludeFilePatterns = array();
33
+
34
+	/** @var Filesystem */
35
+	protected Filesystem $filesystem;
36
+
37
+	/**
38
+	 * Complete list of files specified in packages autoloaders.
39
+	 *
40
+	 * Relative filepaths as key, with their dependency as the value.
41
+	 *
42
+	 * Relative from vendor/
43
+	 *
44
+	 * @var array<string, ComposerPackage>
45
+	 */
46
+	protected array $filesWithDependencies = [];
47
+
48
+	/**
49
+	 * Record the files autolaoders for later use in building our own autoloader.
50
+	 *
51
+	 * @var array
52
+	 */
53
+	protected array $filesAutoloaders = [];
54
+
55
+	/**
56
+	 * Copier constructor.
57
+	 * @param ComposerPackage[] $dependencies
58
+	 * @param string $workingDir
59
+	 */
60
+	public function __construct(
61
+		array $dependencies,
62
+		string $workingDir,
63
+		StraussConfig $config
64
+	) {
65
+		$this->workingDir = $workingDir;
66
+
67
+		$this->dependencies = $dependencies;
68
+
69
+		$this->excludeNamespaces = $config->getExcludeNamespacesFromCopy();
70
+		$this->excludePackageNames = $config->getExcludePackagesFromCopy();
71
+		$this->excludeFilePatterns = $config->getExcludeFilePatternsFromCopy();
72
+
73
+		$this->filesystem = new Filesystem(new Local($this->workingDir));
74
+	}
75
+
76
+	/**
77
+	 * Read the autoload keys of the dependencies and generate a list of the files referenced.
78
+	 */
79
+	public function compileFileList()
80
+	{
81
+
82
+		// TODO: read 'vendor' from composer.json.
83
+		$prefixToRemove = $this->workingDir .'vendor'. DIRECTORY_SEPARATOR;
84
+
85
+		foreach ($this->dependencies as $dependency) {
86
+			if (in_array($dependency->getName(), $this->excludePackageNames)) {
87
+				continue;
88
+			}
89
+
90
+			$packagePath = $this->workingDir . 'vendor' . DIRECTORY_SEPARATOR
91
+				. $dependency->getPath() . DIRECTORY_SEPARATOR;
92
+
93
+			/**
94
+			 * Where $dependency->autoload is ~
95
+			 *
96
+			 * [ "psr-4" => [ "BrianHenryIE\Strauss" => "src" ] ]
97
+			 * Exclude "exclude-from-classmap"
98
+			 * @see https://getcomposer.org/doc/04-schema.md#exclude-files-from-classmaps
99
+			 */
100
+			$autoloaders = array_filter($dependency->getAutoload(), function ($type) {
101
+				return 'exclude-from-classmap' !== $type;
102
+			}, ARRAY_FILTER_USE_KEY);
103
+
104
+			foreach ($autoloaders as $type => $value) {
105
+				// Might have to switch/case here.
106
+
107
+				if ('files' === $type) {
108
+					$this->filesAutoloaders[$dependency->getPath()] = $value;
109
+				}
110
+
111
+				foreach ($value as $namespace => $namespace_relative_path) {
112
+					if (!empty($namespace) && in_array($namespace, $this->excludeNamespaces)) {
113
+						continue;
114
+					}
115
+
116
+					if (is_file($packagePath . $namespace_relative_path)) {
117
+						//  $finder->files()->name($file)->in($source_path);
118
+
119
+						$relativeFilepath = str_replace($prefixToRemove, '', $packagePath . $namespace_relative_path);
120
+						$relativeFilepath = preg_replace('#[\\\/]+#', DIRECTORY_SEPARATOR, $relativeFilepath);
121 121
                         
122
-                        $this->filesWithDependencies[$relativeFilepath] = $dependency;
123
-
124
-                        continue;
125
-                    }
126
-
127
-                    // else it is a directory.
128
-
129
-                    // trailingslashit().
130
-                    $namespace_relative_path = rtrim($namespace_relative_path, DIRECTORY_SEPARATOR)
131
-                        . DIRECTORY_SEPARATOR;
132
-
133
-                    $sourcePath = $packagePath . $namespace_relative_path;
134
-
135
-                    // trailingslashit(). (to remove duplicates).
136
-                    $sourcePath = rtrim($sourcePath, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR;
137
-
138
-                    $finder = new Finder();
139
-                    $finder->files()->in($sourcePath)->followLinks();
140
-
141
-                    foreach ($finder as $foundFile) {
142
-                        $filePath = $foundFile->getPathname();
143
-
144
-                        $relativeFilepath = str_replace($prefixToRemove, '', $filePath);
145
-
146
-                        // TODO: Is this needed here?! If anything, it's the prefix that needs to be normalised a few
147
-                        // lines above before being used.
148
-                        // Replace multiple \ and/or / with OS native DIRECTORY_SEPARATOR.
149
-                        $relativeFilepath = preg_replace('#[\\\/]+#', DIRECTORY_SEPARATOR, $relativeFilepath);
150
-
151
-                        foreach ($this->excludeFilePatterns as $excludePattern) {
152
-                            if (1 === preg_match($excludePattern, $relativeFilepath)) {
153
-                                continue 2;
154
-                            }
155
-                        }
156
-
157
-                        $this->filesWithDependencies[$relativeFilepath] = $dependency;
158
-                    }
159
-                }
160
-            }
161
-        }
162
-    }
163
-
164
-    /**
165
-     * Returns all found files.
166
-     *
167
-     * @return array<string, ComposerPackage>
168
-     */
169
-    public function getAllFilesAndDependencyList(): array
170
-    {
171
-        return $this->filesWithDependencies;
172
-    }
173
-
174
-    /**
175
-     * Returns found PHP files.
176
-     *
177
-     * @return array<string, ComposerPackage>
178
-     */
179
-    public function getPhpFilesAndDependencyList(): array
180
-    {
181
-        return array_filter($this->filesWithDependencies, function ($value, $key) {
182
-            return false !== strpos($key, '.php');
183
-        }, ARRAY_FILTER_USE_BOTH);
184
-    }
185
-
186
-    /**
187
-     * Get the recorded files autoloaders.
188
-     *
189
-     * @return array<string, array<string>>
190
-     */
191
-    public function getFilesAutoloaders(): array
192
-    {
193
-        return $this->filesAutoloaders;
194
-    }
122
+						$this->filesWithDependencies[$relativeFilepath] = $dependency;
123
+
124
+						continue;
125
+					}
126
+
127
+					// else it is a directory.
128
+
129
+					// trailingslashit().
130
+					$namespace_relative_path = rtrim($namespace_relative_path, DIRECTORY_SEPARATOR)
131
+						. DIRECTORY_SEPARATOR;
132
+
133
+					$sourcePath = $packagePath . $namespace_relative_path;
134
+
135
+					// trailingslashit(). (to remove duplicates).
136
+					$sourcePath = rtrim($sourcePath, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR;
137
+
138
+					$finder = new Finder();
139
+					$finder->files()->in($sourcePath)->followLinks();
140
+
141
+					foreach ($finder as $foundFile) {
142
+						$filePath = $foundFile->getPathname();
143
+
144
+						$relativeFilepath = str_replace($prefixToRemove, '', $filePath);
145
+
146
+						// TODO: Is this needed here?! If anything, it's the prefix that needs to be normalised a few
147
+						// lines above before being used.
148
+						// Replace multiple \ and/or / with OS native DIRECTORY_SEPARATOR.
149
+						$relativeFilepath = preg_replace('#[\\\/]+#', DIRECTORY_SEPARATOR, $relativeFilepath);
150
+
151
+						foreach ($this->excludeFilePatterns as $excludePattern) {
152
+							if (1 === preg_match($excludePattern, $relativeFilepath)) {
153
+								continue 2;
154
+							}
155
+						}
156
+
157
+						$this->filesWithDependencies[$relativeFilepath] = $dependency;
158
+					}
159
+				}
160
+			}
161
+		}
162
+	}
163
+
164
+	/**
165
+	 * Returns all found files.
166
+	 *
167
+	 * @return array<string, ComposerPackage>
168
+	 */
169
+	public function getAllFilesAndDependencyList(): array
170
+	{
171
+		return $this->filesWithDependencies;
172
+	}
173
+
174
+	/**
175
+	 * Returns found PHP files.
176
+	 *
177
+	 * @return array<string, ComposerPackage>
178
+	 */
179
+	public function getPhpFilesAndDependencyList(): array
180
+	{
181
+		return array_filter($this->filesWithDependencies, function ($value, $key) {
182
+			return false !== strpos($key, '.php');
183
+		}, ARRAY_FILTER_USE_BOTH);
184
+	}
185
+
186
+	/**
187
+	 * Get the recorded files autoloaders.
188
+	 *
189
+	 * @return array<string, array<string>>
190
+	 */
191
+	public function getFilesAutoloaders(): array
192
+	{
193
+		return $this->filesAutoloaders;
194
+	}
195 195
 }
Please login to merge, or discard this patch.
Spacing   +29 added lines, -29 removed lines patch added patch discarded remove patch
@@ -43,14 +43,14 @@  discard block
 block discarded – undo
43 43
      *
44 44
      * @var array<string, ComposerPackage>
45 45
      */
46
-    protected array $filesWithDependencies = [];
46
+    protected array $filesWithDependencies = [ ];
47 47
 
48 48
     /**
49 49
      * Record the files autolaoders for later use in building our own autoloader.
50 50
      *
51 51
      * @var array
52 52
      */
53
-    protected array $filesAutoloaders = [];
53
+    protected array $filesAutoloaders = [ ];
54 54
 
55 55
     /**
56 56
      * Copier constructor.
@@ -70,7 +70,7 @@  discard block
 block discarded – undo
70 70
         $this->excludePackageNames = $config->getExcludePackagesFromCopy();
71 71
         $this->excludeFilePatterns = $config->getExcludeFilePatternsFromCopy();
72 72
 
73
-        $this->filesystem = new Filesystem(new Local($this->workingDir));
73
+        $this->filesystem = new Filesystem( new Local( $this->workingDir ) );
74 74
     }
75 75
 
76 76
     /**
@@ -80,10 +80,10 @@  discard block
 block discarded – undo
80 80
     {
81 81
 
82 82
         // TODO: read 'vendor' from composer.json.
83
-        $prefixToRemove = $this->workingDir .'vendor'. DIRECTORY_SEPARATOR;
83
+        $prefixToRemove = $this->workingDir . 'vendor' . DIRECTORY_SEPARATOR;
84 84
 
85
-        foreach ($this->dependencies as $dependency) {
86
-            if (in_array($dependency->getName(), $this->excludePackageNames)) {
85
+        foreach ( $this->dependencies as $dependency ) {
86
+            if ( in_array( $dependency->getName(), $this->excludePackageNames ) ) {
87 87
                 continue;
88 88
             }
89 89
 
@@ -97,29 +97,29 @@  discard block
 block discarded – undo
97 97
              * Exclude "exclude-from-classmap"
98 98
              * @see https://getcomposer.org/doc/04-schema.md#exclude-files-from-classmaps
99 99
              */
100
-            $autoloaders = array_filter($dependency->getAutoload(), function ($type) {
100
+            $autoloaders = array_filter( $dependency->getAutoload(), function( $type ) {
101 101
                 return 'exclude-from-classmap' !== $type;
102
-            }, ARRAY_FILTER_USE_KEY);
102
+            }, ARRAY_FILTER_USE_KEY );
103 103
 
104
-            foreach ($autoloaders as $type => $value) {
104
+            foreach ( $autoloaders as $type => $value ) {
105 105
                 // Might have to switch/case here.
106 106
 
107
-                if ('files' === $type) {
108
-                    $this->filesAutoloaders[$dependency->getPath()] = $value;
107
+                if ( 'files' === $type ) {
108
+                    $this->filesAutoloaders[ $dependency->getPath() ] = $value;
109 109
                 }
110 110
 
111
-                foreach ($value as $namespace => $namespace_relative_path) {
112
-                    if (!empty($namespace) && in_array($namespace, $this->excludeNamespaces)) {
111
+                foreach ( $value as $namespace => $namespace_relative_path ) {
112
+                    if ( ! empty( $namespace ) && in_array( $namespace, $this->excludeNamespaces ) ) {
113 113
                         continue;
114 114
                     }
115 115
 
116
-                    if (is_file($packagePath . $namespace_relative_path)) {
116
+                    if ( is_file( $packagePath . $namespace_relative_path ) ) {
117 117
                         //  $finder->files()->name($file)->in($source_path);
118 118
 
119
-                        $relativeFilepath = str_replace($prefixToRemove, '', $packagePath . $namespace_relative_path);
120
-                        $relativeFilepath = preg_replace('#[\\\/]+#', DIRECTORY_SEPARATOR, $relativeFilepath);
119
+                        $relativeFilepath = str_replace( $prefixToRemove, '', $packagePath . $namespace_relative_path );
120
+                        $relativeFilepath = preg_replace( '#[\\\/]+#', DIRECTORY_SEPARATOR, $relativeFilepath );
121 121
                         
122
-                        $this->filesWithDependencies[$relativeFilepath] = $dependency;
122
+                        $this->filesWithDependencies[ $relativeFilepath ] = $dependency;
123 123
 
124 124
                         continue;
125 125
                     }
@@ -127,34 +127,34 @@  discard block
 block discarded – undo
127 127
                     // else it is a directory.
128 128
 
129 129
                     // trailingslashit().
130
-                    $namespace_relative_path = rtrim($namespace_relative_path, DIRECTORY_SEPARATOR)
130
+                    $namespace_relative_path = rtrim( $namespace_relative_path, DIRECTORY_SEPARATOR )
131 131
                         . DIRECTORY_SEPARATOR;
132 132
 
133 133
                     $sourcePath = $packagePath . $namespace_relative_path;
134 134
 
135 135
                     // trailingslashit(). (to remove duplicates).
136
-                    $sourcePath = rtrim($sourcePath, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR;
136
+                    $sourcePath = rtrim( $sourcePath, DIRECTORY_SEPARATOR ) . DIRECTORY_SEPARATOR;
137 137
 
138 138
                     $finder = new Finder();
139
-                    $finder->files()->in($sourcePath)->followLinks();
139
+                    $finder->files()->in( $sourcePath )->followLinks();
140 140
 
141
-                    foreach ($finder as $foundFile) {
141
+                    foreach ( $finder as $foundFile ) {
142 142
                         $filePath = $foundFile->getPathname();
143 143
 
144
-                        $relativeFilepath = str_replace($prefixToRemove, '', $filePath);
144
+                        $relativeFilepath = str_replace( $prefixToRemove, '', $filePath );
145 145
 
146 146
                         // TODO: Is this needed here?! If anything, it's the prefix that needs to be normalised a few
147 147
                         // lines above before being used.
148 148
                         // Replace multiple \ and/or / with OS native DIRECTORY_SEPARATOR.
149
-                        $relativeFilepath = preg_replace('#[\\\/]+#', DIRECTORY_SEPARATOR, $relativeFilepath);
149
+                        $relativeFilepath = preg_replace( '#[\\\/]+#', DIRECTORY_SEPARATOR, $relativeFilepath );
150 150
 
151
-                        foreach ($this->excludeFilePatterns as $excludePattern) {
152
-                            if (1 === preg_match($excludePattern, $relativeFilepath)) {
151
+                        foreach ( $this->excludeFilePatterns as $excludePattern ) {
152
+                            if ( 1 === preg_match( $excludePattern, $relativeFilepath ) ) {
153 153
                                 continue 2;
154 154
                             }
155 155
                         }
156 156
 
157
-                        $this->filesWithDependencies[$relativeFilepath] = $dependency;
157
+                        $this->filesWithDependencies[ $relativeFilepath ] = $dependency;
158 158
                     }
159 159
                 }
160 160
             }
@@ -178,9 +178,9 @@  discard block
 block discarded – undo
178 178
      */
179 179
     public function getPhpFilesAndDependencyList(): array
180 180
     {
181
-        return array_filter($this->filesWithDependencies, function ($value, $key) {
182
-            return false !== strpos($key, '.php');
183
-        }, ARRAY_FILTER_USE_BOTH);
181
+        return array_filter( $this->filesWithDependencies, function( $value, $key ) {
182
+            return false !== strpos( $key, '.php' );
183
+        }, ARRAY_FILTER_USE_BOTH );
184 184
     }
185 185
 
186 186
     /**
Please login to merge, or discard this patch.
Braces   +2 added lines, -4 removed lines patch added patch discarded remove patch
@@ -13,8 +13,7 @@  discard block
 block discarded – undo
13 13
 use League\Flysystem\Filesystem;
14 14
 use Symfony\Component\Finder\Finder;
15 15
 
16
-class FileEnumerator
17
-{
16
+class FileEnumerator {
18 17
 
19 18
     /**
20 19
      * The only path variable with a leading slash.
@@ -76,8 +75,7 @@  discard block
 block discarded – undo
76 75
     /**
77 76
      * Read the autoload keys of the dependencies and generate a list of the files referenced.
78 77
      */
79
-    public function compileFileList()
80
-    {
78
+    public function compileFileList() {
81 79
 
82 80
         // TODO: read 'vendor' from composer.json.
83 81
         $prefixToRemove = $this->workingDir .'vendor'. DIRECTORY_SEPARATOR;
Please login to merge, or discard this patch.