Преглед изворни кода

Avoid errors in cleanup, fixes #8766, fixes #8764

Jordi Boggiano пре 5 година
родитељ
комит
7d3f45cf04
1 измењених фајлова са 11 додато и 8 уклоњено
  1. 11 8
      src/Composer/Downloader/FileDownloader.php

+ 11 - 8
src/Composer/Downloader/FileDownloader.php

@@ -239,14 +239,17 @@ class FileDownloader implements DownloaderInterface, ChangeReportInterface
         if (file_exists($fileName)) {
             $this->filesystem->unlink($fileName);
         }
-        if (is_dir($path) && $this->filesystem->isDirEmpty($this->config->get('vendor-dir').'/composer/')) {
-            $this->filesystem->removeDirectory($this->config->get('vendor-dir').'/composer/');
-        }
-        if (is_dir($path) && $this->filesystem->isDirEmpty($this->config->get('vendor-dir'))) {
-            $this->filesystem->removeDirectory($this->config->get('vendor-dir'));
-        }
-        if (is_dir($path) && $this->filesystem->isDirEmpty($path)) {
-            $this->filesystem->removeDirectory($path);
+
+        $dirsToCleanUp = array(
+            $this->config->get('vendor-dir').'/composer/',
+            $this->config->get('vendor-dir'),
+            $path,
+        );
+
+        foreach ($dirsToCleanUp as $dir) {
+            if (is_dir($dir) && $this->filesystem->isDirEmpty($dir)) {
+                $this->filesystem->removeDirectory($dir);
+            }
         }
     }