Explorar el Código

Archive: cleanup temp dir on download error

Stephan Vock hace 6 años
padre
commit
59360983c6
Se han modificado 1 ficheros con 7 adiciones y 2 borrados
  1. 7 2
      src/Composer/Package/Archiver/ArchiveManager.php

+ 7 - 2
src/Composer/Package/Archiver/ArchiveManager.php

@@ -147,8 +147,13 @@ class ArchiveManager
             $sourcePath = sys_get_temp_dir().'/composer_archive'.uniqid();
             $filesystem->ensureDirectoryExists($sourcePath);
 
-            // Download sources
-            $this->downloadManager->download($package, $sourcePath);
+            try {
+                // Download sources
+                $this->downloadManager->download($package, $sourcePath);
+            } catch (\Exception $e) {
+                $filesystem->removeDirectory($sourcePath);
+                throw  $e;
+            }
 
             // Check exclude from downloaded composer.json
             if (file_exists($composerJsonPath = $sourcePath.'/composer.json')) {