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