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  }