Subversion Repositories DevTools

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1615 mhunt 1
package com.erggroup.mass.ant;
2
 
3
import java.io.File;
4
import java.util.ArrayList;
5
import java.util.Iterator;
6
import org.apache.tools.ant.BuildException;
7
import org.apache.tools.ant.taskdefs.Property;
8
 
9
/**
10
 *
11
 */
12
public class Jats extends org.apache.tools.ant.Task
13
{
14
	static final String JatsHomeProperty = "${env.JATS_HOME}";
15
 
16
	public static final String JATS_PACKAGE_SCOPE = "${jats.package.project}";
17
 
18
	private String packageName = null;
19
	private File fromdir = null;
20
	private File todir   = null;
21
	private String includes = "**/*";
22
	private ArrayList elements = new ArrayList();
23
	private boolean verbose = true;
24
 
25
	public ManifestElement createManifest()
26
	{
27
		ManifestElement element = new ManifestElement();
28
		elements.add(element);
29
		return element;
30
	}
31
 
32
	public ReleaseElement createRelease()
33
	{
34
		ReleaseElement element = new ReleaseElement();
35
		elements.add(element);
36
		return element;
37
	}
38
 
39
	public SandboxElement createSandbox()
40
	{
41
		SandboxElement element = new SandboxElement();
42
		elements.add(element);
43
		return element;
44
	}
45
 
46
	public void execute() throws BuildException
47
	{
48
		if (todir == null)
49
		{
50
			File basedir = new File(project.replaceProperties("${basedir}"));
51
			todir = new File(basedir, "interface");
52
		}
53
 
54
		if (fromdir == null)
55
		{
56
			// Try to retrieve the JATS_HOME environment variable.
57
			//
58
			// <property name="env" environment="env" value="not used"/>
59
			// and then use ${env.JATS_HOME}
60
			//
61
			Property property = new Property();
62
			property.setProject(project);
63
			property.setTaskName(this.getTaskName());
64
			property.setName("env");
65
			property.setEnvironment("env");
66
			property.setValue("");
67
			property.perform();
68
 
69
			String jatsHome = project.replaceProperties(JatsHomeProperty);
70
			if (JatsHomeProperty.equals(jatsHome))
71
			{
72
				throw new BuildException("<" + this.getTaskName() + "> JATS_HOME environment variable not set");
73
			}
74
			else
75
			{
76
				fromdir = new File(jatsHome);
77
			}
78
		}
79
 
80
		Iterator i = elements.iterator();
81
		while (i.hasNext())
82
		{
83
			JatsElement element = (JatsElement)i.next();
84
			element.execute(this);
85
		}
86
	}
87
 
88
	public void setFromdir(File fromdir)
89
	{
90
		this.fromdir = fromdir;
91
	}
92
 
93
	public void setTodir(File todir)
94
	{
95
		this.todir = todir;
96
	}
97
 
98
	public File getFromdir()
99
	{
100
		return fromdir;
101
	}
102
 
103
	public File getTodir()
104
	{
105
		return todir;
106
	}
107
 
108
	public String getPackage()
109
	{
110
		if ( packageName != null && packageName.length() > 0 )
111
		{
112
			return packageName;
113
		}
114
		return project.getName();
115
	}
116
 
117
	public void setPackage( String value )
118
	{
119
		this.packageName = value;
120
	}
121
 
122
	public String getIncludes()
123
	{
124
		return includes;
125
	}
126
 
127
	public void setIncludes( String includes )
128
	{
129
		this.includes = includes;
130
	}
131
 
132
 
133
	public void setVerbose( String newValue )
134
	{
135
		this.verbose = !( "false".equalsIgnoreCase(newValue) );
136
	}
137
 
138
	public boolean isVerbose()
139
	{
140
		return verbose;
141
	}
142
}