1 package org.apache.maven.script.ant;
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.plugin.AbstractMojo;
23 import org.apache.maven.plugin.ContextEnabled;
24 import org.apache.maven.plugin.MojoExecutionException;
25 import org.codehaus.plexus.component.MapOrientedComponent;
26 import org.codehaus.plexus.component.configurator.ComponentConfigurationException;
27 import org.codehaus.plexus.component.factory.ant.AntComponentExecutionException;
28 import org.codehaus.plexus.component.factory.ant.AntScriptInvoker;
29 import org.codehaus.plexus.component.repository.ComponentRequirement;
30
31 import java.util.Map;
32
33
34 public class AntMojoWrapper
35 extends AbstractMojo
36 implements ContextEnabled, MapOrientedComponent
37 {
38
39 private Map pluginContext;
40 private final AntScriptInvoker scriptInvoker;
41
42 public AntMojoWrapper( AntScriptInvoker scriptInvoker )
43 {
44 this.scriptInvoker = scriptInvoker;
45 }
46
47 public void execute()
48 throws MojoExecutionException
49 {
50 try
51 {
52 scriptInvoker.invoke();
53 }
54 catch ( AntComponentExecutionException e )
55 {
56 throw new MojoExecutionException( "Failed to execute: " + e.getMessage(), e );
57 }
58 }
59
60 public void setPluginContext( Map pluginContext )
61 {
62 this.pluginContext = pluginContext;
63 }
64
65 public Map getPluginContext()
66 {
67 return pluginContext;
68 }
69
70 public void addComponentRequirement( ComponentRequirement requirementDescriptor, Object requirementValue )
71 throws ComponentConfigurationException
72 {
73 scriptInvoker.addComponentRequirement( requirementDescriptor, requirementValue );
74 }
75
76 public void setComponentConfiguration( Map componentConfiguration )
77 throws ComponentConfigurationException
78 {
79 scriptInvoker.setComponentConfiguration( componentConfiguration );
80 }
81
82 }