01: /*
02: * ChainBuilder ESB
03: * Visual Enterprise Integration
04: *
05: * Copyright (C) 2008 Bostech Corporation
06: *
07: * This program is free software; you can redistribute it and/or modify it
08: * under the terms of the GNU General Public License as published by the
09: * Free Software Foundation; either version 2 of the License, or (at your option)
10: * any later version.
11: *
12: * This program is distributed in the hope that it will be useful,
13: * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
14: * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
15: * for more details.
16: *
17: * You should have received a copy of the GNU General Public License along with
18: * this program; if not, write to the Free Software Foundation, Inc.,
19: * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20: *
21: *
22: * $Id$
23: */
24: package com.bostechcorp.cbesb.build.ant;
25:
26: import java.io.File;
27:
28: import org.apache.tools.ant.BuildException;
29: import org.apache.tools.ant.Task;
30:
31: import com.bostechcorp.cbesb.build.ant.util.JbiXmlFile;
32:
33: public class IsComponentProjectTask extends Task {
34: private String workspace;
35: private String projectName;
36: private String returnProperty;
37:
38: public void setProjectName(String projectName) {
39: this .projectName = projectName;
40: }
41:
42: public void setWorkspace(String workspace) {
43: this .workspace = workspace;
44: }
45:
46: public void setReturnProperty(String returnProperty) {
47: this .returnProperty = returnProperty;
48: }
49:
50: public void execute() throws BuildException {
51: if (workspace == null) {
52: throw new BuildException("Missing workspace attribute.");
53: }
54: if (projectName == null) {
55: throw new BuildException("Missing projectName attribute.");
56: }
57: if (returnProperty == null) {
58: throw new BuildException(
59: "Missing returnProperty attribute.");
60: }
61:
62: boolean isComponent = false;
63:
64: File workspaceFile = new File(workspace);
65: File jbiXmlFile = new File(workspaceFile, projectName
66: + File.separator + "src" + File.separator + "resources"
67: + File.separator + "META-INF" + File.separator
68: + "jbi.xml");
69: if (jbiXmlFile.exists()) {
70: JbiXmlFile jbi = new JbiXmlFile();
71: try {
72: jbi.load(jbiXmlFile);
73: } catch (Exception e) {
74: getProject().log(e.getLocalizedMessage());
75: throw new BuildException(
76: "Exception loading jbi.xml file:"
77: + jbiXmlFile.getAbsolutePath(), e);
78: }
79: isComponent = (jbi.isComponent() || jbi.isSharedLibrary());
80: }
81:
82: getProject().setProperty(returnProperty,
83: Boolean.toString(isComponent));
84:
85: }
86:
87: }
|