aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/condition/Os.java
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/condition/Os.java')
-rw-r--r--framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/condition/Os.java321
1 files changed, 0 insertions, 321 deletions
diff --git a/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/condition/Os.java b/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/condition/Os.java
deleted file mode 100644
index 974c396f..00000000
--- a/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/condition/Os.java
+++ /dev/null
@@ -1,321 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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 java.util.Locale;
-
-import org.apache.tools.ant.BuildException;
-
-/**
- * Condition that tests the OS type.
- *
- * @since Ant 1.4
- */
-public class Os implements Condition {
- private static final String OS_NAME =
- System.getProperty("os.name").toLowerCase(Locale.ENGLISH);
- private static final String OS_ARCH =
- System.getProperty("os.arch").toLowerCase(Locale.ENGLISH);
- private static final String OS_VERSION =
- System.getProperty("os.version").toLowerCase(Locale.ENGLISH);
- private static final String PATH_SEP =
- System.getProperty("path.separator");
-
- /**
- * OS family to look for
- */
- private String family;
- /**
- * Name of OS
- */
- private String name;
- /**
- * version of OS
- */
- private String version;
- /**
- * OS architecture
- */
- private String arch;
- /**
- * OS family that can be tested for. {@value}
- */
- public static final String FAMILY_WINDOWS = "windows";
- /**
- * OS family that can be tested for. {@value}
- */
- public static final String FAMILY_9X = "win9x";
- /**
- * OS family that can be tested for. {@value}
- */
- public static final String FAMILY_NT = "winnt";
- /**
- * OS family that can be tested for. {@value}
- */
- public static final String FAMILY_OS2 = "os/2";
- /**
- * OS family that can be tested for. {@value}
- */
- public static final String FAMILY_NETWARE = "netware";
- /**
- * OS family that can be tested for. {@value}
- */
- public static final String FAMILY_DOS = "dos";
- /**
- * OS family that can be tested for. {@value}
- */
- public static final String FAMILY_MAC = "mac";
- /**
- * OS family that can be tested for. {@value}
- */
- public static final String FAMILY_TANDEM = "tandem";
- /**
- * OS family that can be tested for. {@value}
- */
- public static final String FAMILY_UNIX = "unix";
- /**
- * OS family that can be tested for. {@value}
- */
- public static final String FAMILY_VMS = "openvms";
- /**
- * OS family that can be tested for. {@value}
- */
- public static final String FAMILY_ZOS = "z/os";
- /** OS family that can be tested for. {@value} */
- public static final String FAMILY_OS400 = "os/400";
-
- /**
- * OpenJDK is reported to call MacOS X "Darwin"
- * @see https://issues.apache.org/bugzilla/show_bug.cgi?id=44889
- * @see https://issues.apache.org/jira/browse/HADOOP-3318
- */
- private static final String DARWIN = "darwin";
-
- /**
- * Default constructor
- *
- */
- public Os() {
- //default
- }
-
- /**
- * Constructor that sets the family attribute
- * @param family a String value
- */
- public Os(String family) {
- setFamily(family);
- }
-
- /**
- * 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>tandem</li>
- * <li>unix</li>
- * <li>windows</li>
- * <li>win9x</li>
- * <li>z/os</li>
- * <li>os/400</li>
- * </ul>
- */
- public void setFamily(String f) {
- family = f.toLowerCase(Locale.ENGLISH);
- }
-
- /**
- * Sets the desired OS name
- *
- * @param name The OS name
- */
- public void setName(String name) {
- this.name = name.toLowerCase(Locale.ENGLISH);
- }
-
- /**
- * Sets the desired OS architecture
- *
- * @param arch The OS architecture
- */
- public void setArch(String arch) {
- this.arch = arch.toLowerCase(Locale.ENGLISH);
- }
-
- /**
- * Sets the desired OS version
- *
- * @param version The OS version
- */
- public void setVersion(String version) {
- this.version = version.toLowerCase(Locale.ENGLISH);
- }
-
- /**
- * Determines if the OS on which Ant is executing matches the type of
- * that set in setFamily.
- * @return true if the os matches.
- * @throws BuildException if there is an error.
- * @see Os#setFamily(String)
- */
- public boolean eval() throws BuildException {
- return isOs(family, name, arch, version);
- }
-
- /**
- * Determines if the OS on which Ant is executing matches the
- * given OS family.
- * @param family the family to check for
- * @return true if the OS matches
- * @since 1.5
- */
- public static boolean isFamily(String family) {
- return isOs(family, null, null, null);
- }
-
- /**
- * Determines if the OS on which Ant is executing matches the
- * given OS name.
- *
- * @param name the OS name to check for
- * @return true if the OS matches
- * @since 1.7
- */
- public static boolean isName(String name) {
- return isOs(null, name, null, null);
- }
-
- /**
- * Determines if the OS on which Ant is executing matches the
- * given OS architecture.
- *
- * @param arch the OS architecture to check for
- * @return true if the OS matches
- * @since 1.7
- */
- public static boolean isArch(String arch) {
- return isOs(null, null, arch, null);
- }
-
- /**
- * Determines if the OS on which Ant is executing matches the
- * given OS version.
- *
- * @param version the OS version to check for
- * @return true if the OS matches
- * @since 1.7
- */
- public static boolean isVersion(String version) {
- return isOs(null, null, null, version);
- }
-
- /**
- * Determines if the OS on which Ant is executing matches the
- * given OS family, name, architecture and version
- *
- * @param family The OS family
- * @param name The OS name
- * @param arch The OS architecture
- * @param version The OS version
- * @return true if the OS matches
- * @since 1.7
- */
- public static boolean isOs(String family, String name, String arch,
- String version) {
- boolean retValue = false;
-
- if (family != null || name != null || arch != null
- || version != null) {
-
- boolean isFamily = true;
- boolean isName = true;
- boolean isArch = true;
- boolean isVersion = true;
-
- if (family != null) {
-
- //windows probing logic relies on the word 'windows' in
- //the OS
- boolean isWindows = OS_NAME.indexOf(FAMILY_WINDOWS) > -1;
- boolean is9x = false;
- boolean isNT = false;
- if (isWindows) {
- //there are only four 9x platforms that we look for
- is9x = (OS_NAME.indexOf("95") >= 0
- || OS_NAME.indexOf("98") >= 0
- || OS_NAME.indexOf("me") >= 0
- //wince isn't really 9x, but crippled enough to
- //be a muchness. Ant doesn't run on CE, anyway.
- || OS_NAME.indexOf("ce") >= 0);
- isNT = !is9x;
- }
- if (family.equals(FAMILY_WINDOWS)) {
- isFamily = isWindows;
- } else if (family.equals(FAMILY_9X)) {
- isFamily = isWindows && is9x;
- } else if (family.equals(FAMILY_NT)) {
- isFamily = isWindows && isNT;
- } else if (family.equals(FAMILY_OS2)) {
- isFamily = OS_NAME.indexOf(FAMILY_OS2) > -1;
- } else if (family.equals(FAMILY_NETWARE)) {
- isFamily = OS_NAME.indexOf(FAMILY_NETWARE) > -1;
- } else if (family.equals(FAMILY_DOS)) {
- isFamily = PATH_SEP.equals(";") && !isFamily(FAMILY_NETWARE);
- } else if (family.equals(FAMILY_MAC)) {
- isFamily = OS_NAME.indexOf(FAMILY_MAC) > -1
- || OS_NAME.indexOf(DARWIN) > -1;
- } else if (family.equals(FAMILY_TANDEM)) {
- isFamily = OS_NAME.indexOf("nonstop_kernel") > -1;
- } else if (family.equals(FAMILY_UNIX)) {
- isFamily = PATH_SEP.equals(":")
- && !isFamily(FAMILY_VMS)
- && (!isFamily(FAMILY_MAC) || OS_NAME.endsWith("x")
- || OS_NAME.indexOf(DARWIN) > -1);
- } else if (family.equals(FAMILY_ZOS)) {
- isFamily = OS_NAME.indexOf(FAMILY_ZOS) > -1
- || OS_NAME.indexOf("os/390") > -1;
- } else if (family.equals(FAMILY_OS400)) {
- isFamily = OS_NAME.indexOf(FAMILY_OS400) > -1;
- } else if (family.equals(FAMILY_VMS)) {
- isFamily = OS_NAME.indexOf(FAMILY_VMS) > -1;
- } else {
- throw new BuildException(
- "Don\'t know how to detect os family \""
- + family + "\"");
- }
- }
- if (name != null) {
- isName = name.equals(OS_NAME);
- }
- if (arch != null) {
- isArch = arch.equals(OS_ARCH);
- }
- if (version != null) {
- isVersion = version.equals(OS_VERSION);
- }
- retValue = isFamily && isName && isArch && isVersion;
- }
- return retValue;
- }
-}