aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/launcher/CommandLauncher.java
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/launcher/CommandLauncher.java')
-rw-r--r--framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/launcher/CommandLauncher.java213
1 files changed, 0 insertions, 213 deletions
diff --git a/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/launcher/CommandLauncher.java b/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/launcher/CommandLauncher.java
deleted file mode 100644
index 8c126efe..00000000
--- a/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/launcher/CommandLauncher.java
+++ /dev/null
@@ -1,213 +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.launcher;
-
-import static org.apache.tools.ant.MagicNames.ANT_SHELL_LAUNCHER_REF_ID;
-import static org.apache.tools.ant.MagicNames.ANT_VM_LAUNCHER_REF_ID;
-
-import java.io.File;
-import java.io.IOException;
-
-import org.apache.tools.ant.Project;
-import org.apache.tools.ant.taskdefs.condition.Os;
-import org.apache.tools.ant.types.Commandline;
-import org.apache.tools.ant.util.FileUtils;
-
-/**
- * A command launcher for a particular JVM/OS platform. This class is
- * a general purpose command launcher which can only launch commands
- * in the current working directory.
- */
-public class CommandLauncher {
-
- protected static final FileUtils FILE_UTILS = FileUtils.getFileUtils();
-
- private static CommandLauncher vmLauncher = null;
- private static CommandLauncher shellLauncher = null;
-
- static {
- if(!Os.isFamily("os/2")) {
- vmLauncher = new Java13CommandLauncher();
- }
-
- if (Os.isFamily("mac") && !Os.isFamily("unix")) {
- // Mac
- shellLauncher = new MacCommandLauncher(new CommandLauncher());
- } else if (Os.isFamily("os/2")) {
- // OS/2
- shellLauncher = new OS2CommandLauncher(new CommandLauncher());
- } else if (Os.isFamily("windows")) {
- CommandLauncher baseLauncher = new CommandLauncher();
-
- if (!Os.isFamily("win9x")) {
- // Windows XP/2000/NT
- shellLauncher = new WinNTCommandLauncher(baseLauncher);
- } else {
- // Windows 98/95 - need to use an auxiliary script
- shellLauncher =
- new ScriptCommandLauncher("bin/antRun.bat", baseLauncher);
- }
- } else if (Os.isFamily("netware")) {
-
- CommandLauncher baseLauncher = new CommandLauncher();
-
- shellLauncher =
- new PerlScriptCommandLauncher("bin/antRun.pl", baseLauncher);
- } else if (Os.isFamily("openvms")) {
- // OpenVMS
- shellLauncher = new VmsCommandLauncher();
- } else {
- // Generic
- shellLauncher = new ScriptCommandLauncher("bin/antRun",
- new CommandLauncher());
- }
- }
-
- /**
- * Launches the given command in a new process.
- *
- * @param project
- * The project that the command is part of.
- * @param cmd
- * The command to execute.
- * @param env
- * The environment for the new process. If null, the
- * environment of the current process is used.
- * @return the created Process.
- * @throws IOException
- * if attempting to run a command in a specific directory.
- */
- public Process exec(Project project, String[] cmd, String[] env)
- throws IOException {
- if(project != null) {
- project.log("Execute:CommandLauncher: "
- + Commandline.describeCommand(cmd), Project.MSG_DEBUG);
- }
- return Runtime.getRuntime().exec(cmd, env);
- }
-
- /**
- * Launches the given command in a new process, in the given
- * working directory.
- *
- * @param project
- * The project that the command is part of.
- * @param cmd
- * The command to execute.
- * @param env
- * The environment for the new process. If null, the
- * environment of the current process is used.
- * @param workingDir
- * The directory to start the command in. If null, the
- * current directory is used.
- * @return the created Process.
- * @throws IOException
- * if trying to change directory.
- */
- public Process exec(Project project, String[] cmd, String[] env,
- File workingDir) throws IOException {
- if (workingDir == null) {
- return exec(project, cmd, env);
- }
- throw new IOException("Cannot execute a process in different "
- + "directory under this JVM");
- }
-
- /**
- * Obtains the shell launcher configured for the given project or
- * the default shell launcher.
- */
- public static CommandLauncher getShellLauncher(Project project) {
- CommandLauncher launcher = extractLauncher(ANT_SHELL_LAUNCHER_REF_ID,
- project);
- if (launcher == null) {
- launcher = shellLauncher;
- }
-
- return launcher;
- }
-
- /**
- * Obtains the VM launcher configured for the given project or
- * the default VM launcher.
- */
- public static CommandLauncher getVMLauncher(Project project) {
- CommandLauncher launcher = extractLauncher(ANT_VM_LAUNCHER_REF_ID,
- project);
- if (launcher == null) {
- launcher = vmLauncher;
- }
- return launcher;
- }
-
- private static CommandLauncher extractLauncher(String referenceName,
- Project project) {
- CommandLauncher launcher = null;
- if (project != null) {
- launcher = (CommandLauncher) project.getReference(referenceName);
- }
-
- if (launcher == null) {
- launcher = getSystemLauncher(referenceName);
- }
- return launcher;
- }
-
- private static CommandLauncher getSystemLauncher(String launcherRefId) {
- CommandLauncher launcher = null;
- String launcherClass = System.getProperty(launcherRefId);
- if (launcherClass != null) {
- try {
- launcher = (CommandLauncher) Class.forName(launcherClass)
- .newInstance();
- } catch(InstantiationException e) {
- System.err.println("Could not instantiate launcher class "
- + launcherClass + ": " + e.getMessage());
- } catch(IllegalAccessException e) {
- System.err.println("Could not instantiate launcher class "
- + launcherClass + ": " + e.getMessage());
- } catch(ClassNotFoundException e) {
- System.err.println("Could not instantiate launcher class "
- + launcherClass + ": " + e.getMessage());
- }
- }
-
- return launcher;
- }
-
- /**
- * Sets the VM launcher to use for the given project.
- */
- public static void setVMLauncher(Project project,
- CommandLauncher launcher) {
- if (project != null) {
- project.addReference(ANT_VM_LAUNCHER_REF_ID, launcher);
- }
- }
-
- /**
- * Sets the shell launcher to use for the given project.
- */
- public static void setShellLauncher(Project project,
- CommandLauncher launcher) {
- if (project != null) {
- project.addReference(ANT_SHELL_LAUNCHER_REF_ID, launcher);
- }
- }
-
-}