@@ -60,6 +60,15 @@ function replace_in_file(string $file, array $replacements): void {
60
60
);
61
61
}
62
62
63
+ function replaceForWindows (): array {
64
+ return preg_split (
'/ \\r \\n| \\r| \\n/ ' ,
run (
'dir /S /B * | findstr /v /i .git\ | findstr /v /i vendor | findstr /v /i ' .
basename (
__FILE__ ).
' | findstr /r /i /M /F:/ ":author :vendor :package VendorName skeleton vendor_name vendor_slug [email protected] " ' ));
65
+ }
66
+
67
+ function replaceForAllOtherOSes (): array {
68
+ return explode (
PHP_EOL ,
run (
'grep -E -r -l -i ":author|:vendor|:package|VendorName|skeleton|vendor_name|vendor_slug|[email protected] " --exclude-dir=vendor ./* ./.github/* | grep -v ' .
basename (
__FILE__ )));
69
+ }
70
+
71
+
63
72
$ gitName = run ('git config user.name ' );
64
73
$ authorName = ask ('Author name ' , $ gitName );
65
74
@@ -100,7 +109,7 @@ function replace_in_file(string $file, array $replacements): void {
100
109
exit (1 );
101
110
}
102
111
103
- $ files =
explode ( PHP_EOL , run ( ' grep -E -r -l -i ":author|:vendor|:package|VendorName|skeleton|vendor_name|vendor_slug|[email protected] " --exclude-dir=vendor ./* ./.github/* | grep -v ' . basename ( __FILE__ ) ));
112
+ $ files = ( str_starts_with ( strtoupper ( PHP_OS ), ' WIN ' ) ? replaceForWindows () : replaceForAllOtherOSes ( ));
104
113
105
114
foreach ($ files as $ file ) {
106
115
replace_in_file ($ file , [
@@ -117,12 +126,10 @@ function replace_in_file(string $file, array $replacements): void {
117
126
]);
118
127
119
128
match (true ) {
120
- str_contains ($ file , 'src/Skeleton.php ' ) => rename ($ file , './src/ ' . $ className . '.php ' ),
121
- str_contains ($ file , 'src/SkeletonServiceProvider.php ' ) => rename ($ file , './src/ ' . $ className . 'ServiceProvider.php ' ),
122
- str_contains ($ file , 'src/SkeletonFacade.php ' ) => rename ($ file , './src/ ' . $ className . 'Facade.php ' ),
123
- str_contains ($ file , 'src/Commands/SkeletonCommand.php ' ) => rename ($ file , './src/Commands/ ' . $ className . 'Command.php ' ),
129
+ str_contains ($ file , 'src ' .DIRECTORY_SEPARATOR .'SkeletonClass.php ' ) => rename ($ file , '. ' .DIRECTORY_SEPARATOR .'src ' .DIRECTORY_SEPARATOR .'' . $ className . 'Class.php ' ),
124
130
default => [],
125
131
};
132
+
126
133
}
127
134
128
135
confirm ('Execute `composer install` and run tests? ' ) && run ('composer install && composer test ' );
0 commit comments