1 package org.apache.maven.surefire.api.util;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import java.io.File;
23 import java.util.Objects;
24 import java.util.stream.Stream;
25
26
27
28
29
30
31
32 public final class SureFireFileManager
33 {
34
35 private static TempFileManager instance = create();
36
37 private static TempFileManager create()
38 {
39 String subDirName = "surefire";
40
41
42
43 String userSuffix = Stream.of( "user.name", "USER", "USERNAME" )
44 .map( System::getProperty )
45 .filter( Objects::nonNull )
46 .findFirst()
47 .map( u -> u.replaceAll( "[^A-Za-z0-9\\-_]", "" ) )
48 .map( u -> u.isEmpty() ? null : u )
49 .orElse( Long.toString( System.currentTimeMillis() ) );
50
51 if ( userSuffix != null )
52 {
53 subDirName += "-" + userSuffix;
54 }
55
56 TempFileManager tfm = TempFileManager.instance( subDirName );
57 tfm.setDeleteOnExit( true );
58 return tfm;
59 }
60
61 public static File createTempFile( String prefix, String suffix )
62 {
63 return instance.createTempFile( prefix, suffix );
64 }
65
66 }