1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.plugins.surefire.report;
20
21 import javax.inject.Inject;
22
23 import java.io.File;
24
25 import org.apache.maven.plugins.annotations.Execute;
26 import org.apache.maven.plugins.annotations.LifecyclePhase;
27 import org.apache.maven.plugins.annotations.Mojo;
28 import org.apache.maven.plugins.annotations.Parameter;
29 import org.apache.maven.project.MavenProject;
30 import org.codehaus.plexus.i18n.I18N;
31
32
33
34
35
36
37 @Mojo(name = "report")
38 @Execute(lifecycle = "surefire", phase = LifecyclePhase.TEST)
39 @SuppressWarnings("unused")
40 public class SurefireReport extends AbstractSurefireReport {
41
42
43
44
45 @Parameter(defaultValue = "surefire", property = "outputName", required = true)
46 private String outputName;
47
48
49
50
51
52
53 @Parameter(defaultValue = "true", property = "alwaysGenerateSurefireReport")
54 private boolean alwaysGenerateSurefireReport;
55
56
57
58
59
60 @Parameter(defaultValue = "false", property = "skipSurefireReport")
61 private boolean skipSurefireReport;
62
63 @Inject
64 public SurefireReport(I18N i18n) {
65 super(i18n);
66 }
67
68 @Override
69 protected File getSurefireReportsDirectory(MavenProject subProject) {
70 String buildDir = subProject.getBuild().getDirectory();
71 return new File(buildDir, "surefire-reports");
72 }
73
74 @Override
75 public String getOutputName() {
76 return outputName;
77 }
78
79 @Override
80 protected boolean isSkipped() {
81 return skipSurefireReport;
82 }
83
84 @Override
85 protected boolean isGeneratedWhenNoResults() {
86 return alwaysGenerateSurefireReport;
87 }
88
89 @Override
90 protected String getI18Nsection() {
91 return "surefire";
92 }
93 }