1 package org.apache.maven.plugin.surefire.booterclient;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.maven.plugin.surefire.booterclient.lazytestprovider.OutputStreamFlushableCommandline;
23 import org.apache.maven.plugin.surefire.log.api.ConsoleLogger;
24 import org.apache.maven.surefire.booter.Classpath;
25 import org.apache.maven.surefire.booter.StartupConfiguration;
26 import org.apache.maven.surefire.booter.SurefireBooterForkException;
27
28 import javax.annotation.Nonnull;
29 import javax.annotation.Nullable;
30 import java.io.File;
31 import java.util.Map;
32 import java.util.Properties;
33
34 import static org.apache.maven.shared.utils.StringUtils.join;
35
36
37
38
39
40 public final class ClasspathForkConfiguration
41 extends AbstractClasspathForkConfiguration
42 {
43 @SuppressWarnings( "checkstyle:parameternumber" )
44 public ClasspathForkConfiguration( @Nonnull Classpath bootClasspath, @Nonnull File tempDirectory,
45 @Nullable String debugLine, @Nonnull File workingDirectory,
46 @Nonnull Properties modelProperties, @Nullable String argLine,
47 @Nonnull Map<String, String> environmentVariables,
48 @Nonnull String[] excludedEnvironmentVariables,
49 boolean debug, int forkCount,
50 boolean reuseForks, @Nonnull Platform pluginPlatform,
51 @Nonnull ConsoleLogger log )
52 {
53 super( bootClasspath, tempDirectory, debugLine, workingDirectory, modelProperties, argLine,
54 environmentVariables, excludedEnvironmentVariables, debug, forkCount, reuseForks, pluginPlatform, log );
55 }
56
57 @Override
58 protected void resolveClasspath( @Nonnull OutputStreamFlushableCommandline cli,
59 @Nonnull String booterThatHasMainMethod,
60 @Nonnull StartupConfiguration config,
61 @Nonnull File dumpLogDirectory )
62 throws SurefireBooterForkException
63 {
64 cli.addEnvironment( "CLASSPATH", join( toCompleteClasspath( config ).iterator(), File.pathSeparator ) );
65 cli.createArg().setValue( booterThatHasMainMethod );
66 }
67 }