1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.internal.aether;
20
21 import java.io.FileNotFoundException;
22 import org.eclipse.aether.AbstractRepositoryListener;
23 import org.eclipse.aether.RepositoryEvent;
24 import org.eclipse.aether.transfer.MetadataNotFoundException;
25 import org.slf4j.Logger;
26
27
28
29
30 class LoggingRepositoryListener extends AbstractRepositoryListener {
31
32 private final Logger logger;
33
34 LoggingRepositoryListener(Logger logger) {
35 this.logger = logger;
36 }
37
38 @Override
39 public void artifactInstalling(RepositoryEvent event) {
40 logger.info("Installing " + event.getArtifact().getFile() + " to " + event.getFile());
41 }
42
43 @Override
44 public void metadataInstalling(RepositoryEvent event) {
45 logger.debug("Installing " + event.getMetadata() + " to " + event.getFile());
46 }
47
48 @Override
49 public void metadataResolved(RepositoryEvent event) {
50 Exception e = event.getException();
51 if (e != null) {
52 if (e instanceof MetadataNotFoundException) {
53 logger.debug(e.getMessage());
54 } else if (logger.isDebugEnabled()) {
55 logger.warn(e.getMessage(), e);
56 } else {
57 logger.warn(e.getMessage());
58 }
59 }
60 }
61
62 @Override
63 public void metadataInvalid(RepositoryEvent event) {
64 Exception exception = event.getException();
65
66 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 if (logger.isDebugEnabled()) {
86 logger.warn(buffer.toString(), exception);
87 } else {
88 logger.warn(buffer.toString());
89 }
90 }
91
92 @Override
93 public void artifactDescriptorInvalid(RepositoryEvent event) {
94 StringBuilder buffer = new StringBuilder(256);
95 buffer.append("The POM for ");
96 buffer.append(event.getArtifact());
97 buffer.append(" is invalid, transitive dependencies (if any) will not be available");
98
99 if (logger.isDebugEnabled()) {
100 logger.warn(buffer + ": " + event.getException().getMessage());
101 } else {
102 logger.warn(buffer + ", enable verbose output (-X) for more details");
103 }
104 }
105
106 @Override
107 public void artifactDescriptorMissing(RepositoryEvent event) {
108 logger.warn("The POM for " + event.getArtifact() + " is missing, no dependency information available");
109 }
110 }