diff --git a/src/main/org/apache/tools/ant/taskdefs/condition/AntVersion.java b/src/main/org/apache/tools/ant/taskdefs/condition/AntVersion.java index 4083ce900..1818e5178 100644 --- a/src/main/org/apache/tools/ant/taskdefs/condition/AntVersion.java +++ b/src/main/org/apache/tools/ant/taskdefs/condition/AntVersion.java @@ -1,96 +1,96 @@ -/* - * Copyright 2006 The Apache Software Foundation - * - * 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 org.apache.tools.ant.taskdefs.condition; - -import org.apache.tools.ant.BuildException; -import org.apache.tools.ant.Project; -import org.apache.tools.ant.util.DeweyDecimal; - -/** - * An antversion condition - * @since ant 1.7 - */ -public class AntVersion implements Condition { - - private String atLeast = null; - private String exactly = null; - - public boolean eval() throws BuildException { - validate(); - DeweyDecimal actual = getVersion(); - if (null != atLeast) { - if (actual.isGreaterThanOrEqual(new DeweyDecimal(atLeast))) { - return true; - } else { - return false; - } - } - if (null != exactly) { - if (actual.isEqual(new DeweyDecimal(exactly))) { - return true; - } else { - return false; - } - } - //default - return false; - } - - private void validate() throws BuildException { - if (atLeast != null && exactly != null) { - throw new BuildException("Only one of atleast or exactly may be set."); - } - if (null == atLeast && null == exactly) { - throw new BuildException("One of atleast or exactly must be set."); - } - } - - private DeweyDecimal getVersion() { - Project p = new Project(); - p.init(); - String versionString = p.getProperty("ant.version"); - String v = versionString.substring(versionString.indexOf("Ant version")+12, - versionString.indexOf("compiled on")-1); - char[] cs = v.toCharArray(); - int end = cs.length; - for (int i = cs.length; i > 0; i--) { - if (!Character.isLetter(cs[i-1])) { - end = i; - break; - } - } - v = v.substring(0, end); - return new DeweyDecimal(v); - } - - public String getAtLeast() { - return atLeast; - } - - public void setAtLeast(String atLeast) { - this.atLeast = atLeast; - } - - public String getExactly() { - return exactly; - } - - public void setExactly(String exactly) { - this.exactly = exactly; - } +/* + * Copyright 2006 The Apache Software Foundation + * + * 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 org.apache.tools.ant.taskdefs.condition; + +import org.apache.tools.ant.BuildException; +import org.apache.tools.ant.Project; +import org.apache.tools.ant.util.DeweyDecimal; + +/** + * An antversion condition + * @since ant 1.7 + */ +public class AntVersion implements Condition { + + private String atLeast = null; + private String exactly = null; + + public boolean eval() throws BuildException { + validate(); + DeweyDecimal actual = getVersion(); + if (null != atLeast) { + if (actual.isGreaterThanOrEqual(new DeweyDecimal(atLeast))) { + return true; + } else { + return false; + } + } + if (null != exactly) { + if (actual.isEqual(new DeweyDecimal(exactly))) { + return true; + } else { + return false; + } + } + //default + return false; + } + + private void validate() throws BuildException { + if (atLeast != null && exactly != null) { + throw new BuildException("Only one of atleast or exactly may be set."); + } + if (null == atLeast && null == exactly) { + throw new BuildException("One of atleast or exactly must be set."); + } + } + + private DeweyDecimal getVersion() { + Project p = new Project(); + p.init(); + String versionString = p.getProperty("ant.version"); + String v = versionString.substring(versionString.indexOf("Ant version")+12, + versionString.indexOf("compiled on")-1); + char[] cs = v.toCharArray(); + int end = cs.length; + for (int i = cs.length; i > 0; i--) { + if (!Character.isLetter(cs[i-1])) { + end = i; + break; + } + } + v = v.substring(0, end); + return new DeweyDecimal(v); + } + + public String getAtLeast() { + return atLeast; + } + + public void setAtLeast(String atLeast) { + this.atLeast = atLeast; + } + + public String getExactly() { + return exactly; + } + + public void setExactly(String exactly) { + this.exactly = exactly; + } } \ No newline at end of file