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 org.codehaus.plexus.logging.Logger;
23 import org.sonatype.aether.RepositoryEvent;
24 import org.sonatype.aether.transfer.MetadataNotFoundException;
25 import org.sonatype.aether.util.listener.AbstractRepositoryListener;
26
27
28
29
30 class LoggingRepositoryListener
31 extends AbstractRepositoryListener
32 {
33
34 private final Logger logger;
35
36 public LoggingRepositoryListener( Logger logger )
37 {
38 this.logger = logger;
39 }
40
41 @Override
42 public void artifactInstalling( RepositoryEvent event )
43 {
44 logger.info( "Installing " + event.getArtifact().getFile() + " to " + event.getFile() );
45 }
46
47 @Override
48 public void metadataInstalling( RepositoryEvent event )
49 {
50 logger.debug( "Installing " + event.getMetadata() + " to " + event.getFile() );
51 }
52
53 @Override
54 public void metadataResolved( RepositoryEvent event )
55 {
56 Exception e = event.getException();
57 if ( e != null )
58 {
59 if ( e instanceof MetadataNotFoundException )
60 {
61 logger.debug( e.getMessage() );
62 }
63 else if ( logger.isDebugEnabled() )
64 {
65 logger.warn( e.getMessage(), e );
66 }
67 else
68 {
69 logger.warn( e.getMessage() );
70 }
71 }
72 }
73
74 @Override
75 public void metadataInvalid( RepositoryEvent event )
76 {
77 StringBuilder buffer = new StringBuilder( 256 );
78 buffer.append( "The metadata " );
79 if ( event.getMetadata().getFile() != null )
80 {
81 buffer.append( event.getMetadata().getFile() );
82 }
83 else
84 {
85 buffer.append( event.getMetadata() );
86 }
87 buffer.append( " is invalid" );
88 if ( event.getException() != null )
89 {
90 buffer.append( ": " );
91 buffer.append( event.getException().getMessage() );
92 }
93
94 if ( logger.isDebugEnabled() )
95 {
96 logger.warn( buffer.toString(), event.getException() );
97 }
98 else
99 {
100 logger.warn( buffer.toString() );
101 }
102 }
103
104 @Override
105 public void artifactDescriptorInvalid( RepositoryEvent event )
106 {
107 StringBuilder buffer = new StringBuilder( 256 );
108 buffer.append( "The POM for " );
109 buffer.append( event.getArtifact() );
110 buffer.append( " is invalid, transitive dependencies (if any) will not be available" );
111
112 if ( logger.isDebugEnabled() )
113 {
114 logger.warn( buffer + ": " + event.getException().getMessage() );
115 }
116 else
117 {
118 logger.warn( buffer + ", enable debug logging for more details" );
119 }
120 }
121
122 @Override
123 public void artifactDescriptorMissing( RepositoryEvent event )
124 {
125 logger.warn( "The POM for " + event.getArtifact() + " is missing, no dependency information available" );
126 }
127
128 }