1 package org.apache.maven.plugin.surefire.extensions.junit5;
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.extensions.SurefireConsoleOutputReporter;
23 import org.apache.maven.plugin.surefire.report.ConsoleOutputFileReporter;
24 import org.apache.maven.surefire.extensions.ConsoleOutputReportEventListener;
25
26 import java.io.File;
27
28
29
30
31
32
33
34
35 public class JUnit5ConsoleOutputReporter
36 extends SurefireConsoleOutputReporter
37 {
38
39
40
41
42
43 private boolean usePhrasedFileName;
44
45 public boolean isUsePhrasedFileName()
46 {
47 return usePhrasedFileName;
48 }
49
50 public void setUsePhrasedFileName( boolean usePhrasedFileName )
51 {
52 this.usePhrasedFileName = usePhrasedFileName;
53 }
54
55 @Override
56 public ConsoleOutputReportEventListener createListener( File reportsDirectory, String reportNameSuffix,
57 Integer forkNumber )
58 {
59 return new ConsoleOutputFileReporter( reportsDirectory, reportNameSuffix, isUsePhrasedFileName(), forkNumber,
60 getEncoding() );
61 }
62
63 @Override
64 public Object clone( ClassLoader target )
65 {
66 try
67 {
68 Object clone = super.clone( target );
69
70 Class<?> cls = clone.getClass();
71 cls.getMethod( "setUsePhrasedFileName", boolean.class )
72 .invoke( clone, isUsePhrasedFileName() );
73
74 return clone;
75 }
76 catch ( ReflectiveOperationException e )
77 {
78 throw new IllegalStateException( e.getLocalizedMessage() );
79 }
80 }
81
82 @Override
83 public String toString()
84 {
85 return "JUnit5ConsoleOutputReporter{"
86 + "disable=" + isDisable()
87 + ", encoding=" + getEncoding()
88 + ", usePhrasedFileName=" + isUsePhrasedFileName()
89 + '}';
90 }
91 }