@@ -34,35 +34,37 @@ public static function cleanup(
3434 ) {
3535 $ composer = $ event ->getComposer ();
3636 $ 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
4248 $ serviceDir = sprintf (
43- '%s/google/apiclient-services/src/Google/Service ' ,
49+ '%s/google/apiclient-services/src ' ,
4450 $ vendorDir
4551 );
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 ' );
6668 }
6769 }
6870
0 commit comments