summaryrefslogtreecommitdiff
path: root/src/net/sf/antcontrib/cpptasks/PrecompileDef.java
diff options
context:
space:
mode:
authorMark Donszelmann <Mark.Donszelmann@gmail.com>2009-11-05 23:27:33 +0100
committerMark Donszelmann <Mark.Donszelmann@gmail.com>2009-11-05 23:27:33 +0100
commit254c4886d58979eebd0e352f4d16e391736f2a33 (patch)
tree8feca0cc1caa5177dd52a7b9b2dfd63502c941fd /src/net/sf/antcontrib/cpptasks/PrecompileDef.java
parentef6f25ba42792d2d811fd6826c0dd528ad77b1e9 (diff)
downloadcpptasks-parallel-254c4886d58979eebd0e352f4d16e391736f2a33.tar.gz
cpptasks-parallel-254c4886d58979eebd0e352f4d16e391736f2a33.tar.bz2
cpptasks-parallel-254c4886d58979eebd0e352f4d16e391736f2a33.tar.xz
cpptasks-parallel-254c4886d58979eebd0e352f4d16e391736f2a33.zip
Reorganized source directories in line with cpptasks-1.0b5, for easier tracking
Diffstat (limited to 'src/net/sf/antcontrib/cpptasks/PrecompileDef.java')
-rw-r--r--src/net/sf/antcontrib/cpptasks/PrecompileDef.java215
1 files changed, 0 insertions, 215 deletions
diff --git a/src/net/sf/antcontrib/cpptasks/PrecompileDef.java b/src/net/sf/antcontrib/cpptasks/PrecompileDef.java
deleted file mode 100644
index 4dd9831..0000000
--- a/src/net/sf/antcontrib/cpptasks/PrecompileDef.java
+++ /dev/null
@@ -1,215 +0,0 @@
-/*
- *
- * Copyright 2002-2004 The Ant-Contrib project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package net.sf.antcontrib.cpptasks;
-import java.io.File;
-import java.util.Enumeration;
-import java.util.Vector;
-
-import net.sf.antcontrib.cpptasks.types.ConditionalFileSet;
-
-import org.apache.tools.ant.Project;
-import org.apache.tools.ant.DirectoryScanner;
-import org.apache.tools.ant.types.DataType;
-/**
- * An element that specifies a prototype file and rules for source files that
- * should not use precompiled headers
- *
- * @author Curt Arnold
- */
-public final class PrecompileDef extends DataType {
- private final Vector exceptSets = new Vector();
- private String ifCond;
- /**
- * Directory of prototype file
- */
- private File prototype = new File("stdafx.cpp");
- private String unlessCond;
- /**
- * Constructor
- *
- */
- public PrecompileDef() {
- }
- /**
- * Method used by PrecompileExceptDef to add exception set to
- * PrecompileDef.
- */
- public void appendExceptFileSet(ConditionalFileSet exceptSet) {
- exceptSet.setProject(getProject());
- exceptSets.addElement(exceptSet);
- }
- /**
- * Adds filesets that specify files that should not be processed with
- * precompiled headers enabled.
- *
- * @param exceptSet
- * FileSet specify files that should not be processed with
- * precompiled headers enabled.
- */
- public PrecompileExceptDef createExcept() {
- return new PrecompileExceptDef(this);
- }
- public void execute() throws org.apache.tools.ant.BuildException {
- throw new org.apache.tools.ant.BuildException(
- "Not an actual task, but looks like one for documentation purposes");
- }
- public String[] getExceptFiles() {
- PrecompileDef ref = getRef();
- if (ref != null) {
- return ref.getExceptFiles();
- }
- if (exceptSets.size() == 0) {
- return new String[0];
- }
- Project p = getProject();
- String[] exceptFiles = null;
- Enumeration setEnum = exceptSets.elements();
- while (setEnum.hasMoreElements()) {
- ConditionalFileSet exceptSet = (ConditionalFileSet) setEnum
- .nextElement();
- if (exceptSet.isActive()) {
- DirectoryScanner scanner = exceptSet
- .getDirectoryScanner(p);
- String[] scannerFiles = scanner.getIncludedFiles();
- if (exceptFiles == null) {
- exceptFiles = scannerFiles;
- } else {
- if (scannerFiles.length > 0) {
- String[] newFiles = new String[exceptFiles.length
- + scannerFiles.length];
- for (int i = 0; i < exceptFiles.length; i++) {
- newFiles[i] = exceptFiles[i];
- }
- int index = exceptFiles.length;
- for (int i = 0; i < scannerFiles.length; i++) {
- newFiles[index++] = scannerFiles[i];
- }
- exceptFiles = newFiles;
- }
- }
- }
- }
- if (exceptFiles == null) {
- exceptFiles = new String[0];
- }
- return exceptFiles;
- }
- /**
- * Gets prototype source file
- *
- */
- public File getPrototype() {
- PrecompileDef ref = getRef();
- if (ref != null) {
- return ref.getPrototype();
- }
- return prototype;
- }
- private PrecompileDef getRef() {
- if (isReference()) {
- return ((PrecompileDef) getCheckedRef(PrecompileDef.class,
- "PrecompileDef"));
- }
- return null;
- }
- public boolean isActive() {
- boolean isActive = CUtil.isActive(getProject(), ifCond, unlessCond);
- if (!isActive) {
- PrecompileDef ref = getRef();
- if (ref != null) {
- return ref.isActive();
- }
- }
- return isActive;
- }
- /**
- * Sets a description of the current data type.
- */
- public void setDescription(String desc) {
- super.setDescription(desc);
- }
- /**
- * Sets an id that can be used to reference this element.
- *
- * @param id
- * id
- */
- public void setId(String id) {
- //
- // this is actually accomplished by a different
- // mechanism, but we can document it
- //
- }
- /**
- * Set the 'if' condition.
- *
- * The processor will be ignored unless the property is defined.
- *
- * The value of property is insignificant, but values that would imply
- * misinterpretation ("false", "no") will throw an exception when
- * isActive() is evaluated.
- *
- * @param propName
- * name of property
- */
- public void setIf(String propName) {
- ifCond = propName;
- }
- /**
- * Sets file to precompile.
- *
- * Should be a source file that includes only one unguarded header file.
- * Default value is "stdafx.cpp".
- *
- * @param prototype
- * file path for prototype source file
- */
- public void setPrototype(File prototype) {
- if (isReference()) {
- throw tooManyAttributes();
- }
- if (prototype == null) {
- throw new NullPointerException("prototype");
- }
- this.prototype = prototype;
- }
- /**
- * Specifies that this element should behave as if the content of the
- * element with the matching id attribute was inserted at this location.
- *
- * @param ref
- * Reference to other element
- *
- */
- public void setRefid(org.apache.tools.ant.types.Reference ref) {
- super.setRefid(ref);
- }
- /**
- * Set the 'unless' condition. If named property exists at execution time,
- * the processor will be ignored.
- *
- * Value of property is insignificant, but values that would imply
- * misinterpretation ("false", "no") of the behavior will throw an
- * exception when isActive is called.
- *
- * @param propName
- * name of property
- */
- public void setUnless(String propName) {
- unlessCond = propName;
- }
-}