View Javadoc

1   /*
2    * #%L
3    * Native ARchive plugin for Maven
4    * %%
5    * Copyright (C) 2002 - 2014 NAR Maven Plugin developers.
6    * %%
7    * Licensed under the Apache License, Version 2.0 (the "License");
8    * you may not use this file except in compliance with the License.
9    * You may obtain a copy of the License at
10   * 
11   * http://www.apache.org/licenses/LICENSE-2.0
12   * 
13   * Unless required by applicable law or agreed to in writing, software
14   * distributed under the License is distributed on an "AS IS" BASIS,
15   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16   * See the License for the specific language governing permissions and
17   * limitations under the License.
18   * #L%
19   */
20  package com.github.maven_nar.cpptasks;
21  
22  import java.util.Vector;
23  
24  import org.apache.tools.ant.BuildEvent;
25  import org.apache.tools.ant.BuildListener;
26  
27  /**
28   * Captures build events
29   * 
30   */
31  public class MockBuildListener implements BuildListener {
32    private final Vector buildFinishedEvents = new Vector();
33    private final Vector buildStartedEvents = new Vector();
34    private final Vector messageLoggedEvents = new Vector();
35    private final Vector targetFinishedEvents = new Vector();
36    private final Vector targetStartedEvents = new Vector();
37    private final Vector taskFinishedEvents = new Vector();
38    private final Vector taskStartedEvents = new Vector();
39  
40    /**
41     * Signals that the last target has finished. This event will still be
42     * fired if an error occurred during the build.
43     * 
44     * @param event
45     *          An event with any relevant extra information. Must not be
46     *          <code>null</code>.
47     * 
48     * @see BuildEvent#getException()
49     */
50    @Override
51    public void buildFinished(final BuildEvent event) {
52      this.buildFinishedEvents.addElement(event);
53    }
54  
55    /**
56     * Signals that a build has started. This event is fired before any targets
57     * have started.
58     * 
59     * @param event
60     *          An event with any relevant extra information. Must not be
61     *          <code>null</code>.
62     */
63    @Override
64    public void buildStarted(final BuildEvent event) {
65      this.buildStartedEvents.addElement(event);
66    }
67  
68    public Vector getBuildFinishedEvents() {
69      return new Vector(this.buildFinishedEvents);
70    }
71  
72    /**
73     * Gets a list of buildStarted events
74     * 
75     * @return list of build started events
76     */
77    public Vector getBuildStartedEvents() {
78      return new Vector(this.buildStartedEvents);
79    }
80  
81    /**
82     * Gets message logged events
83     * 
84     * @return vector of "MessageLogged" events.
85     */
86    public Vector getMessageLoggedEvents() {
87      return new Vector(this.messageLoggedEvents);
88    }
89  
90    /**
91     * Gets target finished events
92     * 
93     * @return vector of "TargetFinished" events.
94     */
95    public Vector getTargetFinishedEvents() {
96      return new Vector(this.targetFinishedEvents);
97    }
98  
99    /**
100    * Gets target started events
101    * 
102    * @return vector of "TargetStarted" events.
103    */
104   public Vector getTargetStartedEvents() {
105     return new Vector(this.targetStartedEvents);
106   }
107 
108   /**
109    * Gets task finished events
110    * 
111    * @return vector of "TaskFinished" events.
112    */
113   public Vector getTaskFinishedEvents() {
114     return new Vector(this.taskFinishedEvents);
115   }
116 
117   /**
118    * Gets task started events
119    * 
120    * @return vector of "TaskStarted" events.
121    */
122   public Vector getTaskStartedEvents() {
123     return new Vector(this.taskStartedEvents);
124   }
125 
126   /**
127    * Signals a message logging event.
128    * 
129    * @param event
130    *          An event with any relevant extra information. Must not be
131    *          <code>null</code>.
132    * 
133    * @see BuildEvent#getMessage()
134    * @see BuildEvent#getPriority()
135    */
136   @Override
137   public void messageLogged(final BuildEvent event) {
138     this.messageLoggedEvents.addElement(event);
139   }
140 
141   /**
142    * Signals that a target has finished. This event will still be fired if an
143    * error occurred during the build.
144    * 
145    * @param event
146    *          An event with any relevant extra information. Must not be
147    *          <code>null</code>.
148    * 
149    * @see BuildEvent#getException()
150    */
151   @Override
152   public void targetFinished(final BuildEvent event) {
153     this.targetFinishedEvents.addElement(event);
154   }
155 
156   /**
157    * Signals that a target is starting.
158    * 
159    * @param event
160    *          An event with any relevant extra information. Must not be
161    *          <code>null</code>.
162    * 
163    * @see BuildEvent#getTarget()
164    */
165   @Override
166   public void targetStarted(final BuildEvent event) {
167     this.targetStartedEvents.addElement(event);
168   }
169 
170   /**
171    * Signals that a task has finished. This event will still be fired if an
172    * error occurred during the build.
173    * 
174    * @param event
175    *          An event with any relevant extra information. Must not be
176    *          <code>null</code>.
177    * 
178    * @see BuildEvent#getException()
179    */
180   @Override
181   public void taskFinished(final BuildEvent event) {
182     this.taskFinishedEvents.addElement(event);
183   }
184 
185   /**
186    * Signals that a task is starting.
187    * 
188    * @param event
189    *          An event with any relevant extra information. Must not be
190    *          <code>null</code>.
191    * 
192    * @see BuildEvent#getTask()
193    */
194   @Override
195   public void taskStarted(final BuildEvent event) {
196     this.taskStartedEvents.addElement(event);
197   }
198 }