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.io.File;
22 import java.io.IOException;
23 import java.nio.file.Files;
24
25 import org.apache.maven.artifact.Artifact;
26 import org.apache.maven.artifact.metadata.AbstractArtifactMetadata;
27 import org.apache.maven.artifact.metadata.ArtifactMetadata;
28 import org.apache.maven.artifact.repository.ArtifactRepository;
29 import org.apache.maven.artifact.repository.metadata.RepositoryMetadataStoreException;
30
31
32
33
34
35 @Deprecated
36 public class ProjectArtifactMetadata extends AbstractArtifactMetadata {
37 private final File file;
38
39 public ProjectArtifactMetadata(Artifact artifact) {
40 this(artifact, null);
41 }
42
43 public ProjectArtifactMetadata(Artifact artifact, File file) {
44 super(artifact);
45 this.file = file;
46 }
47
48 public File getFile() {
49 return file;
50 }
51
52 public String getRemoteFilename() {
53 return getFilename();
54 }
55
56 public String getLocalFilename(ArtifactRepository repository) {
57 return getFilename();
58 }
59
60 private String getFilename() {
61 return getArtifactId() + "-" + artifact.getVersion() + ".pom";
62 }
63
64 public void storeInLocalRepository(ArtifactRepository localRepository, ArtifactRepository remoteRepository)
65 throws RepositoryMetadataStoreException {
66 File destination = new File(
67 localRepository.getBasedir(), localRepository.pathOfLocalRepositoryMetadata(this, remoteRepository));
68
69
70
71
72
73
74
75
76 try {
77 Files.createDirectories(destination.toPath().getParent());
78 Files.copy(file.toPath(), destination.toPath());
79 } catch (IOException e) {
80 throw new RepositoryMetadataStoreException("Error copying POM to the local repository.", e);
81 }
82 }
83
84 public String toString() {
85 return "project information for " + artifact.getArtifactId() + " " + artifact.getVersion();
86 }
87
88 public boolean storedInArtifactVersionDirectory() {
89 return true;
90 }
91
92 public String getBaseVersion() {
93 return artifact.getBaseVersion();
94 }
95
96 public Object getKey() {
97 return "project " + artifact.getGroupId() + ":" + artifact.getArtifactId();
98 }
99
100 public void merge(ArtifactMetadata metadata) {
101 ProjectArtifactMetadata m = (ProjectArtifactMetadata) metadata;
102 if (!m.file.equals(file)) {
103 throw new IllegalStateException("Cannot add two different pieces of metadata for: " + getKey());
104 }
105 }
106
107 public void merge(org.apache.maven.repository.legacy.metadata.ArtifactMetadata metadata) {
108 this.merge((ArtifactMetadata) metadata);
109 }
110 }