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
23 import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
24
25
26
27
28 public class InvalidProjectVersionException extends ProjectBuildingException {
29
30 private final String locationInPom;
31
32 private final String offendingVersion;
33
34 public InvalidProjectVersionException(
35 String projectId,
36 String locationInPom,
37 String offendingVersion,
38 File pomFile,
39 InvalidVersionSpecificationException cause) {
40 super(projectId, formatMessage(projectId, locationInPom, offendingVersion, cause), pomFile, cause);
41 this.locationInPom = locationInPom;
42 this.offendingVersion = offendingVersion;
43 }
44
45 private static String formatMessage(
46 String projectId,
47 String locationInPom,
48 String offendingVersion,
49 InvalidVersionSpecificationException cause) {
50 return "Invalid version: " + offendingVersion + " found for: " + locationInPom + " in project: " + projectId
51 + ". Reason: " + cause.getMessage();
52 }
53
54 public String getOffendingVersion() {
55 return offendingVersion;
56 }
57
58 public String getLocationInPom() {
59 return locationInPom;
60 }
61 }