1 | package org.apache.maven.continuum.release.executors; |
2 | |
3 | /* |
4 | * Licensed to the Apache Software Foundation (ASF) under one |
5 | * or more contributor license agreements. See the NOTICE file |
6 | * distributed with this work for additional information |
7 | * regarding copyright ownership. The ASF licenses this file |
8 | * to you under the Apache License, Version 2.0 (the |
9 | * "License"); you may not use this file except in compliance |
10 | * with the License. You may obtain a copy of the License at |
11 | * |
12 | * http://www.apache.org/licenses/LICENSE-2.0 |
13 | * |
14 | * Unless required by applicable law or agreed to in writing, |
15 | * software distributed under the License is distributed on an |
16 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
17 | * KIND, either express or implied. See the License for the |
18 | * specific language governing permissions and limitations |
19 | * under the License. |
20 | */ |
21 | |
22 | import java.util.ArrayList; |
23 | |
24 | import org.apache.maven.continuum.release.tasks.ReleaseProjectTask; |
25 | import org.apache.maven.shared.release.ReleaseExecutionException; |
26 | import org.apache.maven.shared.release.ReleaseFailureException; |
27 | import org.apache.maven.shared.release.ReleaseManagerListener; |
28 | import org.codehaus.plexus.taskqueue.execution.TaskExecutionException; |
29 | |
30 | /** |
31 | * @author Edwin Punzalan |
32 | * @version $Id: RollbackReleaseTaskExecutor.java 765340 2009-04-15 20:22:00Z evenisse $ |
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 | } |