1 package org.apache.maven.surefire.booter;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 public class StartupConfiguration
28 {
29 private final String providerClassName;
30
31 private final ClasspathConfiguration classpathConfiguration;
32
33 private final ClassLoaderConfiguration classLoaderConfiguration;
34
35 private final boolean isForkRequested;
36
37 private final boolean isInForkedVm;
38
39 private final boolean redirectTestOutputToFile;
40
41
42 public StartupConfiguration( String providerClassName, ClasspathConfiguration classpathConfiguration,
43 ClassLoaderConfiguration classLoaderConfiguration, boolean forkRequested,
44 boolean inForkedVm, boolean redirectTestOutputToFile )
45 {
46 this.providerClassName = providerClassName;
47 this.classpathConfiguration = classpathConfiguration;
48 this.classLoaderConfiguration = classLoaderConfiguration;
49 isForkRequested = forkRequested;
50 isInForkedVm = inForkedVm;
51 this.redirectTestOutputToFile = redirectTestOutputToFile;
52 }
53
54 public static StartupConfiguration inForkedVm( String providerClassName,
55 ClasspathConfiguration classpathConfiguration,
56 ClassLoaderConfiguration classLoaderConfiguration )
57 {
58 return new StartupConfiguration( providerClassName, classpathConfiguration, classLoaderConfiguration, false,
59 true, false );
60 }
61
62 public ClasspathConfiguration getClasspathConfiguration()
63 {
64 return classpathConfiguration;
65 }
66
67 public boolean useSystemClassLoader()
68 {
69
70 return classLoaderConfiguration.isUseSystemClassLoader() && ( isInForkedVm || isForkRequested );
71 }
72
73 public boolean isManifestOnlyJarRequestedAndUsable()
74 {
75 return classLoaderConfiguration.isManifestOnlyJarRequestedAndUsable();
76 }
77
78 public boolean isRedirectTestOutputToFile()
79 {
80 return redirectTestOutputToFile;
81 }
82
83 public String getProviderClassName()
84 {
85 return providerClassName;
86 }
87
88 public ClassLoaderConfiguration getClassLoaderConfiguration()
89 {
90 return classLoaderConfiguration;
91 }
92
93 public boolean isShadefire(){
94 return providerClassName.startsWith( "org.apache.maven.surefire.shadefire");
95 }
96 }