git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@270679 13f79535-47bb-0310-9956-ffa450edef68master
| @@ -0,0 +1,86 @@ | |||||
| /* | |||||
| * Copyright (C) The Apache Software Foundation. All rights reserved. | |||||
| * | |||||
| * This software is published under the terms of the Apache Software License | |||||
| * version 1.1, a copy of which has been included with this distribution in | |||||
| * the LICENSE.txt file. | |||||
| */ | |||||
| package org.apache.tools.ant.taskdefs.condition; | |||||
| import java.util.Locale; | |||||
| import org.apache.aut.nativelib.Os; | |||||
| import org.apache.myrmidon.api.TaskException; | |||||
| /** | |||||
| * Condition to check the current OS.</p> | |||||
| * | |||||
| * @author <a href="mailto:stefan.bodewig@epost.de">Stefan Bodewig</a> | |||||
| * @version $Revision$ | |||||
| */ | |||||
| public class OsCondition | |||||
| extends ConditionBase | |||||
| implements Condition | |||||
| { | |||||
| private String m_family; | |||||
| private String m_name; | |||||
| private String m_version; | |||||
| private String m_arch; | |||||
| /** | |||||
| * Sets the desired OS family type | |||||
| * | |||||
| * @param f The OS family type desired<br /> | |||||
| * Possible values:<br /> | |||||
| * <ul><li>dos</li> | |||||
| * <li>mac</li> | |||||
| * <li>netware</li> | |||||
| * <li>os/2</li> | |||||
| * <li>unix</li> | |||||
| * <li>windows</li></ul> | |||||
| */ | |||||
| public void setFamily( final String family ) | |||||
| { | |||||
| m_family = family.toLowerCase( Locale.US ); | |||||
| } | |||||
| /** | |||||
| * Sets the desired OS name | |||||
| * | |||||
| * @param name The OS name | |||||
| */ | |||||
| public void setName( final String name ) | |||||
| { | |||||
| m_name = name.toLowerCase( Locale.US ); | |||||
| } | |||||
| /** | |||||
| * Sets the desired OS architecture | |||||
| * | |||||
| * @param arch The OS architecture | |||||
| */ | |||||
| public void setArch( final String arch ) | |||||
| { | |||||
| m_arch = arch.toLowerCase( Locale.US ); | |||||
| } | |||||
| /** | |||||
| * Sets the desired OS version | |||||
| * | |||||
| * @param version The OS version | |||||
| */ | |||||
| public void setVersion( String version ) | |||||
| { | |||||
| this.m_version = version.toLowerCase( Locale.US ); | |||||
| } | |||||
| /** | |||||
| * Determines if the OS on which Ant is executing matches the type of | |||||
| * that set in setFamily. | |||||
| * @see Os#setFamily(String) | |||||
| */ | |||||
| public boolean eval() | |||||
| throws TaskException | |||||
| { | |||||
| return Os.isOs( m_family, m_name, m_arch, m_version ); | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,86 @@ | |||||
| /* | |||||
| * Copyright (C) The Apache Software Foundation. All rights reserved. | |||||
| * | |||||
| * This software is published under the terms of the Apache Software License | |||||
| * version 1.1, a copy of which has been included with this distribution in | |||||
| * the LICENSE.txt file. | |||||
| */ | |||||
| package org.apache.tools.ant.taskdefs.condition; | |||||
| import java.util.Locale; | |||||
| import org.apache.aut.nativelib.Os; | |||||
| import org.apache.myrmidon.api.TaskException; | |||||
| /** | |||||
| * Condition to check the current OS.</p> | |||||
| * | |||||
| * @author <a href="mailto:stefan.bodewig@epost.de">Stefan Bodewig</a> | |||||
| * @version $Revision$ | |||||
| */ | |||||
| public class OsCondition | |||||
| extends ConditionBase | |||||
| implements Condition | |||||
| { | |||||
| private String m_family; | |||||
| private String m_name; | |||||
| private String m_version; | |||||
| private String m_arch; | |||||
| /** | |||||
| * Sets the desired OS family type | |||||
| * | |||||
| * @param f The OS family type desired<br /> | |||||
| * Possible values:<br /> | |||||
| * <ul><li>dos</li> | |||||
| * <li>mac</li> | |||||
| * <li>netware</li> | |||||
| * <li>os/2</li> | |||||
| * <li>unix</li> | |||||
| * <li>windows</li></ul> | |||||
| */ | |||||
| public void setFamily( final String family ) | |||||
| { | |||||
| m_family = family.toLowerCase( Locale.US ); | |||||
| } | |||||
| /** | |||||
| * Sets the desired OS name | |||||
| * | |||||
| * @param name The OS name | |||||
| */ | |||||
| public void setName( final String name ) | |||||
| { | |||||
| m_name = name.toLowerCase( Locale.US ); | |||||
| } | |||||
| /** | |||||
| * Sets the desired OS architecture | |||||
| * | |||||
| * @param arch The OS architecture | |||||
| */ | |||||
| public void setArch( final String arch ) | |||||
| { | |||||
| m_arch = arch.toLowerCase( Locale.US ); | |||||
| } | |||||
| /** | |||||
| * Sets the desired OS version | |||||
| * | |||||
| * @param version The OS version | |||||
| */ | |||||
| public void setVersion( String version ) | |||||
| { | |||||
| this.m_version = version.toLowerCase( Locale.US ); | |||||
| } | |||||
| /** | |||||
| * Determines if the OS on which Ant is executing matches the type of | |||||
| * that set in setFamily. | |||||
| * @see Os#setFamily(String) | |||||
| */ | |||||
| public boolean eval() | |||||
| throws TaskException | |||||
| { | |||||
| return Os.isOs( m_family, m_name, m_arch, m_version ); | |||||
| } | |||||
| } | |||||