1 package org.apache.maven.continuum.release.executors;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.maven.continuum.release.tasks.ReleaseProjectTask;
23 import org.apache.maven.shared.release.ReleaseExecutionException;
24 import org.apache.maven.shared.release.ReleaseFailureException;
25 import org.apache.maven.shared.release.ReleaseManagerListener;
26 import org.codehaus.plexus.taskqueue.execution.TaskExecutionException;
27
28 import java.util.ArrayList;
29
30
31
32
33
34 public class RollbackReleaseTaskExecutor
35 extends AbstractReleaseTaskExecutor
36 {
37 protected void execute( ReleaseProjectTask releaseTask )
38 throws TaskExecutionException
39 {
40 try
41 {
42 releaseManager.rollback( releaseTask.getDescriptor(), settings, new ArrayList(),
43 releaseTask.getListener() );
44 }
45 catch ( ReleaseExecutionException e )
46 {
47 updateListener( releaseTask.getListener(), e.getMessage() );
48 throw new TaskExecutionException( "Failed to rollback release", e );
49 }
50 catch ( ReleaseFailureException e )
51 {
52 updateListener( releaseTask.getListener(), e.getMessage() );
53 throw new TaskExecutionException( "Failed to rollback release", e );
54 }
55 }
56
57 private void updateListener( ReleaseManagerListener listener, String name )
58 {
59 listener.error( name );
60 }
61 }