1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.internal.impl;
20
21 import javax.inject.Named;
22 import javax.inject.Singleton;
23
24 import java.util.Collection;
25
26 import org.apache.maven.api.Event;
27 import org.apache.maven.api.EventType;
28 import org.apache.maven.api.Listener;
29 import org.apache.maven.eventspy.EventSpy;
30 import org.apache.maven.execution.ExecutionEvent;
31
32
33
34
35 @Named
36 @Singleton
37 public class EventSpyImpl implements EventSpy {
38 @Override
39 public void init(Context context) throws Exception {}
40
41 @Override
42 public void onEvent(Object arg) throws Exception {
43 if (arg instanceof ExecutionEvent ee) {
44 InternalMavenSession session =
45 InternalMavenSession.from(ee.getSession().getSession());
46 EventType eventType = convert(ee.getType());
47 Collection<Listener> listeners = session.getListeners();
48 if (!listeners.isEmpty()) {
49 Event event = new DefaultEvent(session, ee, eventType);
50 for (Listener listener : listeners) {
51 listener.onEvent(event);
52 }
53 }
54 }
55 }
56
57
58
59
60 protected EventType convert(ExecutionEvent.Type type) {
61 return EventType.values()[type.ordinal()];
62 }
63
64 @Override
65 public void close() throws Exception {}
66 }