package com.dubture.symfony.core.launch;
import org.apache.commons.exec.CommandLine;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.Path;
import org.eclipse.php.composer.core.launch.ScriptNotFoundException;
import org.eclipse.php.composer.core.launch.environment.PrjPharEnvironment;
import com.dubture.symfony.core.preferences.SymfonyCoreConstants;
public class SysPhpProjectConsole extends PrjPharEnvironment {
private String php;
public SysPhpProjectConsole(String executable) {
php = executable;
}
public boolean isAvailable() {
return php != null;
}
public CommandLine getCommand() {
CommandLine cmd = new CommandLine(php.trim());
cmd.addArgument(phar.trim());
return cmd;
}
@Override
protected IResource getScript(IProject project) {
return project.findMember(new Path(SymfonyCoreConstants.DEFAULT_CONSOLE));
}
@Override
public void setUp(IProject project) throws ScriptNotFoundException {
IResource script = getScript(project);
if (script == null) {
throw new ScriptNotFoundException("No script found in project " + project.getName());
}
this.phar = script.getFullPath().removeFirstSegments(1).toOSString();
}
}