import java.io.File;
import java.io.IOException;
-import org.eclipse.core.runtime.IPath;
-
public class PHPInterpreter {
- //public final String endOfOptionsDelimeter = " -- ";
- protected IPath installLocation;
- protected String name;
+ protected File installLocation;
- public PHPInterpreter(String aName, IPath validInstallLocation) {
- name = aName;
- installLocation = validInstallLocation;
+ public PHPInterpreter(File interpreter) {
+ installLocation = interpreter;
}
- public IPath getInstallLocation() {
+ public File getInstallLocation() {
return installLocation;
}
- public void setInstallLocation(IPath validInstallLocation) {
- installLocation = validInstallLocation;
- }
-
- public String getName() {
- return name;
+ public void setInstallLocation(File interpreter) {
+ installLocation = interpreter;
}
-
- public void setName(String newName) {
- name = newName;
- }
-
+
public String getCommand() {
- String directory = installLocation.toOSString() + File.separator;
- if (new File(directory + "php.exe").isFile())
- return directory + "php.exe";
-
- if (new File(directory, "php").isFile())
- return directory + "php";
-
- return null;
+ return installLocation.toString();
}
-
- public Process exec(String arguments, File workingDirectory, String[] env) throws IOException {
- return Runtime.getRuntime().exec(this.getCommand() + " " + arguments, env, workingDirectory);
+
+ // private boolean executePHPProcess(String arguments, File
+ // workingDirectory, String[] env) {
+ // Process process = null;
+ // try {
+ // StringBuffer buf = new StringBuffer();
+ // buf.append(getCommand() + " " + arguments);
+ // process = Runtime.getRuntime().exec(buf.toString(), env,
+ // workingDirectory);
+ // if (process != null) {
+ // // construct a formatted command line for the process properties
+ //
+ // // for (int i= 0; i < args.length; i++) {
+ // // buf.append(args[i]);
+ // // buf.append(' ');
+ // // }
+ //
+ // ILaunchConfigurationWorkingCopy wc = null;
+ // try {
+ // ILaunchConfigurationType lcType =
+ // DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurationType(
+ // PHPLaunchConfigurationAttribute.PHP_LAUNCH_CONFIGURATION_TYPE);
+ // String name = "PHP Launcher"; //$NON-NLS-1$
+ // wc = lcType.newInstance(null, name);
+ // wc.setAttribute(IDebugUIConstants.ATTR_FAVORITE_GROUPS, true);
+ //
+ // ILaunch newLaunch = new Launch(wc, ILaunchManager.RUN_MODE, null);
+ // IProcess iprocess = DebugPlugin.newProcess(newLaunch, process, "PHP
+ // Process"); //$NON-NLS-1$
+ // iprocess.setAttribute(IProcess.ATTR_CMDLINE, buf.toString());
+ // iprocess.setAttribute(IProcess.ATTR_PROCESS_TYPE,
+ // PHPLaunchConfigurationAttribute.PHP_LAUNCH_PROCESS_TYPE);
+ //
+ // DebugPlugin.getDefault().getLaunchManager().addLaunch(newLaunch);
+ //
+ // } catch (CoreException e) {
+ // }
+ //
+ // return true;
+ //
+ // }
+ // } catch (IOException e) {
+ // return false;
+ // }
+ // return false;
+ //
+ // }
+
+ public Process exec(String arguments, File workingDirectory, String[] env)
+ throws IOException {
+ return Runtime.getRuntime().exec(getCommand() + " " + arguments, env,
+ workingDirectory);
+ // executePHPProcess(arguments, workingDirectory, env);
}
-
+
public boolean equals(Object other) {
if (other instanceof PHPInterpreter) {
PHPInterpreter otherInterpreter = (PHPInterpreter) other;
- if (name.equals(otherInterpreter.getName()))
- return installLocation.equals(otherInterpreter.getInstallLocation());
+ return installLocation
+ .equals(otherInterpreter.getInstallLocation());
}
-
return false;
}
-}
+}
\ No newline at end of file