1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.resolver.internal.ant;
20
21 import java.io.FileNotFoundException;
22
23 import org.apache.tools.ant.Project;
24 import org.apache.tools.ant.Task;
25 import org.eclipse.aether.AbstractRepositoryListener;
26 import org.eclipse.aether.RepositoryEvent;
27 import org.eclipse.aether.transfer.MetadataNotFoundException;
28
29
30
31
32 class AntRepositoryListener extends AbstractRepositoryListener {
33
34 private Task task;
35
36 AntRepositoryListener(final Task task) {
37 this.task = task;
38 }
39
40 @Override
41 public void artifactInstalling(final RepositoryEvent event) {
42 task.log("Installing " + event.getArtifact().getFile() + " to " + event.getFile());
43 }
44
45 @Override
46 public void metadataInstalling(final RepositoryEvent event) {
47 task.log("Installing " + event.getMetadata() + " to " + event.getFile());
48 }
49
50 @Override
51 public void metadataResolved(final RepositoryEvent event) {
52 final Exception e = event.getException();
53 if (e != null) {
54 if (e instanceof MetadataNotFoundException) {
55 task.log(e.getMessage(), Project.MSG_DEBUG);
56 } else {
57 task.log(e.getMessage(), e, Project.MSG_WARN);
58 }
59 }
60 }
61
62 @Override
63 public void metadataInvalid(final RepositoryEvent event) {
64 final Exception exception = event.getException();
65
66 final StringBuilder buffer = new StringBuilder(256);
67 buffer.append("The metadata ");
68 if (event.getMetadata().getFile() != null) {
69 buffer.append(event.getMetadata().getFile());
70 } else {
71 buffer.append(event.getMetadata());
72 }
73
74 if (exception instanceof FileNotFoundException) {
75 buffer.append(" is inaccessible");
76 } else {
77 buffer.append(" is invalid");
78 }
79
80 if (exception != null) {
81 buffer.append(": ");
82 buffer.append(exception.getMessage());
83 }
84
85 task.log(buffer.toString(), exception, Project.MSG_WARN);
86 }
87
88 @Override
89 public void artifactDescriptorInvalid(final RepositoryEvent event) {
90 task.log(
91 "The POM for " + event.getArtifact() + " is invalid"
92 + ", transitive dependencies (if any) will not be available: "
93 + event.getException().getMessage(),
94 event.getException(),
95 Project.MSG_WARN);
96 }
97 ;
98
99 @Override
100 public void artifactDescriptorMissing(final RepositoryEvent event) {
101 task.log(
102 "The POM for " + event.getArtifact() + " is missing, no dependency information available",
103 Project.MSG_WARN);
104 }
105 ;
106 }