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  
27  
28  
29  public class InvalidProjectVersionException
30      extends ProjectBuildingException
31  {
32  
33      private final String locationInPom;
34  
35      private final String offendingVersion;
36  
37      public InvalidProjectVersionException( String projectId, String locationInPom, String offendingVersion,
38                                             File pomFile, InvalidVersionSpecificationException cause )
39      {
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( String projectId, String locationInPom, String offendingVersion,
46                                           InvalidVersionSpecificationException cause )
47      {
48          return "Invalid version: " + offendingVersion + " found for: " + locationInPom + " in project: " + projectId
49              + ". Reason: " + cause.getMessage();
50      }
51  
52      public String getOffendingVersion()
53      {
54          return offendingVersion;
55      }
56  
57      public String getLocationInPom()
58      {
59          return locationInPom;
60      }
61  
62  }