1 package org.apache.torque.mojo;
2
3 import org.apache.maven.plugin.MojoExecutionException;
4 import org.apache.tools.ant.Project;
5 import org.apache.tools.ant.Task;
6 import org.apache.torque.util.MojoAntBuildListener;
7 import org.kuali.core.db.torque.FilteredPropertyCopier;
8
9
10
11
12 public class AntTaskMojo extends BaseMojo {
13
14
15
16
17 private Task antTask;
18
19
20
21
22 private Project antProject;
23
24
25
26
27 protected void configureTask() throws MojoExecutionException {
28 if (getAntTask() == null) {
29 throw new IllegalArgumentException("Ant task is null");
30 }
31
32
33 setAntProject(getIniatializedAntProject());
34 getAntTask().setProject(getAntProject());
35 try {
36
37 FilteredPropertyCopier copier = new FilteredPropertyCopier();
38
39
40 copier.addExclude("project");
41 copier.addExclude("driverProperties");
42 copier.copyProperties(getAntTask(), this);
43 } catch (Exception e) {
44 throw new MojoExecutionException("Error copying properties", e);
45 }
46 }
47
48
49
50
51 @Override
52 public void executeMojo() throws MojoExecutionException {
53 configureTask();
54 getAntTask().execute();
55 }
56
57
58
59
60 protected Project getIniatializedAntProject() {
61 getLog().info("Initializing the Ant Project");
62
63 Project antProject = new Project();
64
65 antProject.init();
66
67 antProject.addBuildListener(new MojoAntBuildListener(getLog()));
68
69 return antProject;
70 }
71
72 public Project getAntProject() {
73 return antProject;
74 }
75
76 public void setAntProject(Project antProject) {
77 this.antProject = antProject;
78 }
79
80 public Task getAntTask() {
81 return antTask;
82 }
83
84 public void setAntTask(Task antTask) {
85 this.antTask = antTask;
86 }
87 }