1 package org.apache.maven;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import java.io.FileNotFoundException;
23
24 import org.codehaus.plexus.logging.Logger;
25 import org.sonatype.aether.AbstractRepositoryListener;
26 import org.sonatype.aether.RepositoryEvent;
27 import org.sonatype.aether.transfer.MetadataNotFoundException;
28
29
30
31
32 class LoggingRepositoryListener
33 extends AbstractRepositoryListener
34 {
35
36 private final Logger logger;
37
38 public LoggingRepositoryListener( Logger logger )
39 {
40 this.logger = logger;
41 }
42
43 @Override
44 public void artifactInstalling( RepositoryEvent event )
45 {
46 logger.info( "Installing " + event.getArtifact().getFile() + " to " + event.getFile() );
47 }
48
49 @Override
50 public void metadataInstalling( RepositoryEvent event )
51 {
52 logger.debug( "Installing " + event.getMetadata() + " to " + event.getFile() );
53 }
54
55 @Override
56 public void metadataResolved( RepositoryEvent event )
57 {
58 Exception e = event.getException();
59 if ( e != null )
60 {
61 if ( e instanceof MetadataNotFoundException )
62 {
63 logger.debug( e.getMessage() );
64 }
65 else if ( logger.isDebugEnabled() )
66 {
67 logger.warn( e.getMessage(), e );
68 }
69 else
70 {
71 logger.warn( e.getMessage() );
72 }
73 }
74 }
75
76 @Override
77 public void metadataInvalid( RepositoryEvent event )
78 {
79 Exception exception = event.getException();
80
81 StringBuilder buffer = new StringBuilder( 256 );
82 buffer.append( "The metadata " );
83 if ( event.getMetadata().getFile() != null )
84 {
85 buffer.append( event.getMetadata().getFile() );
86 }
87 else
88 {
89 buffer.append( event.getMetadata() );
90 }
91
92 if ( exception instanceof FileNotFoundException )
93 {
94 buffer.append( " is inaccessible" );
95 }
96 else
97 {
98 buffer.append( " is invalid" );
99 }
100
101 if ( exception != null )
102 {
103 buffer.append( ": " );
104 buffer.append( exception.getMessage() );
105 }
106
107 if ( logger.isDebugEnabled() )
108 {
109 logger.warn( buffer.toString(), exception );
110 }
111 else
112 {
113 logger.warn( buffer.toString() );
114 }
115 }
116
117 @Override
118 public void artifactDescriptorInvalid( RepositoryEvent event )
119 {
120 StringBuilder buffer = new StringBuilder( 256 );
121 buffer.append( "The POM for " );
122 buffer.append( event.getArtifact() );
123 buffer.append( " is invalid, transitive dependencies (if any) will not be available" );
124
125 if ( logger.isDebugEnabled() )
126 {
127 logger.warn( buffer + ": " + event.getException().getMessage() );
128 }
129 else
130 {
131 logger.warn( buffer + ", enable debug logging for more details" );
132 }
133 }
134
135 @Override
136 public void artifactDescriptorMissing( RepositoryEvent event )
137 {
138 logger.warn( "The POM for " + event.getArtifact() + " is missing, no dependency information available" );
139 }
140
141 }