1 package org.codehaus.mojo.wagon;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 import java.io.IOException;
19
20 import org.apache.maven.plugin.MojoExecutionException;
21 import org.apache.maven.wagon.ConnectionException;
22 import org.apache.maven.wagon.Wagon;
23 import org.apache.maven.wagon.WagonException;
24
25
26
27
28
29 public abstract class AbstractSingleWagonMojo extends AbstractWagonMojo {
30
31
32
33
34
35
36
37 private String url;
38
39
40
41
42
43
44 private String serverId;
45
46 @Override
47 public void execute() throws MojoExecutionException {
48 if (this.skip) {
49 this.getLog().info("Skip execution.");
50 return;
51 }
52
53 Wagon wagon = null;
54 try {
55 wagon = createWagon(serverId, url);
56 execute(wagon);
57 } catch (WagonException e) {
58 throw new MojoExecutionException("Error handling resource", e);
59 } catch (IOException e) {
60 throw new MojoExecutionException("Error handling resource", e);
61 } finally {
62 disconnectQuietly(wagon);
63 }
64 }
65
66 protected void disconnectQuietly(Wagon wagon) {
67 if (wagon == null) {
68 return;
69 }
70 try {
71 wagon.disconnect();
72 } catch (ConnectionException e) {
73 getLog().debug("Error disconnecting wagon - ignored", e);
74 }
75 }
76
77
78
79
80
81
82
83
84 protected abstract void execute(Wagon wagon) throws MojoExecutionException, WagonException, IOException;
85
86 }