/******************************************************************************* * SiJaPP - Simple Java PreProcessor * Copyright (C) 2003 Manuel Linsmayer * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *******************************************************************************/ package sijapp; import java.io.File; import java.util.Hashtable; import org.apache.tools.ant.BuildException; import org.apache.tools.ant.Task; public class SijappTask extends Task { // Source directory private File srcDir; // Destination directory private File destDir; // Defines private Hashtable defines = new Hashtable(); // Setter for source directory public void setSrcdir(File srcDir) { this.srcDir = new File(srcDir.getPath()); } // Setter for destination directory public void setDestdir(File destDir) { this.destDir = new File(destDir.getPath()); } // Setter for defines public void addConfiguredDefine(Define def) { this.defines.put(def.getName(), def.getValue()); } // Setter for defines public void addConfiguredDefineList(DefineList defList) { Define[] list = defList.getDefines(); for (int i = 0; i < list.length; i++) { this.defines.put(list[i].getName(), list[i].getValue()); } } // Task implementation public void execute() throws BuildException { try { Sijapp sijapp = new Sijapp(this.srcDir, this.destDir); Preprocessor pp = new Preprocessor(this.defines); sijapp.run(pp); } catch (SijappException e) { throw new BuildException(e.getMessage()); } } }