1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.project;
20
21 import java.io.File;
22 import java.util.List;
23
24
25
26
27 public class ProjectBuildingException extends Exception {
28 private final String projectId;
29
30 private File pomFile;
31
32 private List<ProjectBuildingResult> results;
33
34 public ProjectBuildingException(String projectId, String message, Throwable cause) {
35 super(createMessage(message, projectId, null), cause);
36 this.projectId = projectId;
37 }
38
39
40
41
42
43
44 public ProjectBuildingException(String projectId, String message, File pomFile) {
45 super(createMessage(message, projectId, pomFile));
46 this.projectId = projectId;
47 this.pomFile = pomFile;
48 }
49
50
51
52
53
54
55
56 protected ProjectBuildingException(String projectId, String message, File pomFile, Throwable cause) {
57 super(createMessage(message, projectId, pomFile), cause);
58 this.projectId = projectId;
59 this.pomFile = pomFile;
60 }
61
62 public ProjectBuildingException(List<ProjectBuildingResult> results) {
63 super("Some problems were encountered while processing the POMs");
64 this.projectId = "";
65 this.results = results;
66 }
67
68 public File getPomFile() {
69 return pomFile;
70 }
71
72
73
74
75 public String getPomLocation() {
76 if (getPomFile() != null) {
77 return getPomFile().getAbsolutePath();
78 } else {
79 return "null";
80 }
81 }
82
83 public String getProjectId() {
84 return projectId;
85 }
86
87 public List<ProjectBuildingResult> getResults() {
88 return results;
89 }
90
91 private static String createMessage(String message, String projectId, File pomFile) {
92 StringBuilder buffer = new StringBuilder(256);
93 buffer.append(message);
94 buffer.append(" for project ").append(projectId);
95 if (pomFile != null) {
96 buffer.append(" at ").append(pomFile.getAbsolutePath());
97 }
98 return buffer.toString();
99 }
100 }