@@ -34,35 +34,37 @@ public static function cleanup(
34
34
) {
35
35
$ composer = $ event ->getComposer ();
36
36
$ extra = $ composer ->getPackage ()->getExtra ();
37
- $ servicesToKeep = isset ($ extra ['google/apiclient-services ' ])
38
- ? $ extra ['google/apiclient-services ' ]
39
- : [];
40
- if ($ servicesToKeep ) {
41
- $ vendorDir = $ composer ->getConfig ()->get ('vendor-dir ' );
37
+ $ servicesToKeep = $ extra ['google/apiclient-services ' ] ?? [];
38
+ if (empty ($ servicesToKeep )) {
39
+ return ;
40
+ }
41
+ $ vendorDir = $ composer ->getConfig ()->get ('vendor-dir ' );
42
+ $ serviceDir = sprintf (
43
+ '%s/google/apiclient-services/src/Google/Service ' ,
44
+ $ vendorDir
45
+ );
46
+ if (!is_dir ($ serviceDir )) {
47
+ // path for google/apiclient-services >= 0.200.0
42
48
$ serviceDir = sprintf (
43
- '%s/google/apiclient-services/src/Google/Service ' ,
49
+ '%s/google/apiclient-services/src ' ,
44
50
$ vendorDir
45
51
);
46
- if (!is_dir ($ serviceDir )) {
47
- // path for google/apiclient-services >= 0.200.0
48
- $ serviceDir = sprintf (
49
- '%s/google/apiclient-services/src ' ,
50
- $ vendorDir
51
- );
52
- }
53
- self ::verifyServicesToKeep ($ serviceDir , $ servicesToKeep );
54
- $ finder = self ::getServicesToRemove ($ serviceDir , $ servicesToKeep );
55
- $ filesystem = $ filesystem ?: new Filesystem ();
56
- if (0 !== $ count = count ($ finder )) {
57
- $ event ->getIO ()->write (
58
- sprintf ('Removing %s google services ' , $ count )
59
- );
60
- foreach ($ finder as $ file ) {
61
- $ realpath = $ file ->getRealPath ();
62
- $ filesystem ->remove ($ realpath );
63
- $ filesystem ->remove ($ realpath . '.php ' );
64
- }
65
- }
52
+ }
53
+ self ::verifyServicesToKeep ($ serviceDir , $ servicesToKeep );
54
+ $ finder = self ::getServicesToRemove ($ serviceDir , $ servicesToKeep );
55
+ $ filesystem = $ filesystem ?: new Filesystem ();
56
+ $ servicesToRemoveCount = $ finder ->count ();
57
+ if (0 === $ servicesToRemoveCount ) {
58
+ return ;
59
+ }
60
+ $ event ->getIO ()->write (
61
+ sprintf ('Removing %d google services ' , $ servicesToRemoveCount )
62
+ );
63
+ $ pathsToRemove = iterator_to_array ($ finder );
64
+ foreach ($ pathsToRemove as $ pathToRemove ) {
65
+ $ realpath = $ pathToRemove ->getRealPath ();
66
+ $ filesystem ->remove ($ realpath );
67
+ $ filesystem ->remove ($ realpath . '.php ' );
66
68
}
67
69
}
68
70
0 commit comments