1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.project.artifact;
20
21 import java.util.Collections;
22 import java.util.List;
23 import org.apache.maven.artifact.DefaultArtifact;
24 import org.apache.maven.artifact.handler.ArtifactHandler;
25 import org.apache.maven.model.Dependency;
26 import org.apache.maven.model.DependencyManagement;
27 import org.apache.maven.project.MavenProject;
28
29
30
31
32 public class ProjectArtifact extends DefaultArtifact implements ArtifactWithDependencies {
33 private MavenProject project;
34
35 public ProjectArtifact(MavenProject project) {
36 super(
37 project.getGroupId(),
38 project.getArtifactId(),
39 project.getVersion(),
40 null,
41 "pom",
42 null,
43 new PomArtifactHandler());
44 this.project = project;
45 setFile(project.getFile());
46 setResolved(true);
47 }
48
49 public MavenProject getProject() {
50 return project;
51 }
52
53 public List<Dependency> getDependencies() {
54 return project.getModel().getDependencies();
55 }
56
57 public List<Dependency> getManagedDependencies() {
58 DependencyManagement depMngt = project.getModel().getDependencyManagement();
59 return (depMngt != null) ? Collections.unmodifiableList(depMngt.getDependencies()) : Collections.emptyList();
60 }
61
62
63 static class PomArtifactHandler implements ArtifactHandler {
64 public String getClassifier() {
65 return null;
66 }
67
68 public String getDirectory() {
69 return null;
70 }
71
72 public String getExtension() {
73 return "pom";
74 }
75
76 public String getLanguage() {
77 return "none";
78 }
79
80 public String getPackaging() {
81 return "pom";
82 }
83
84 public boolean isAddedToClasspath() {
85 return false;
86 }
87
88 public boolean isIncludesDependencies() {
89 return false;
90 }
91 }
92 }