1   package org.apache.maven.project;
2   
3   
4   
5   
6   
7   
8   
9   
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  import java.io.File;
23  
24  import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
25  
26  public class InvalidProjectVersionException
27      extends ProjectBuildingException
28  {
29  
30      private final String locationInPom;
31  
32      private final String offendingVersion;
33  
34      public InvalidProjectVersionException( String projectId, String locationInPom, String offendingVersion,
35                                             File pomFile, InvalidVersionSpecificationException cause )
36      {
37          super( projectId, formatMessage( projectId, locationInPom, offendingVersion, cause ), pomFile, cause );
38          this.locationInPom = locationInPom;
39          this.offendingVersion = offendingVersion;
40      }
41  
42      private static String formatMessage( String projectId, String locationInPom, String offendingVersion,
43                                           InvalidVersionSpecificationException cause )
44      {
45          return "Invalid version: " + offendingVersion + " found for: " + locationInPom + " in project: " + projectId
46              + ". Reason: " + cause.getMessage();
47      }
48  
49      public String getOffendingVersion()
50      {
51          return offendingVersion;
52      }
53  
54      public String getLocationInPom()
55      {
56          return locationInPom;
57      }
58  
59  }