diff options
Diffstat (limited to 'server')
-rw-r--r-- | server/sonar-server/src/main/java/org/sonar/server/platform/TempFolderProvider.java | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/server/sonar-server/src/main/java/org/sonar/server/platform/TempFolderProvider.java b/server/sonar-server/src/main/java/org/sonar/server/platform/TempFolderProvider.java index 981bfb8d606..21aabdb9729 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/platform/TempFolderProvider.java +++ b/server/sonar-server/src/main/java/org/sonar/server/platform/TempFolderProvider.java @@ -30,14 +30,19 @@ import java.io.IOException; public class TempFolderProvider extends ProviderAdapter { + private TempFolder tempFolder; + public TempFolder provide(ServerFileSystem fs) { - File tempDir = new File(fs.getTempDir(), "tmp"); - try { - FileUtils.forceMkdir(tempDir); - } catch (IOException e) { - throw new IllegalStateException("Unable to create root temp directory " + tempDir, e); + if (tempFolder == null) { + File tempDir = new File(fs.getTempDir(), "tmp"); + try { + FileUtils.forceMkdir(tempDir); + } catch (IOException e) { + throw new IllegalStateException("Unable to create root temp directory " + tempDir, e); + } + tempFolder = new DefaultTempFolder(tempDir); } - return new DefaultTempFolder(tempDir); + return tempFolder; } } |