package org.nodeclipse.enide.maven.launch.jetty; import java.io.File; import java.util.List; import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.core.runtime.CoreException; import org.eclipse.debug.core.ILaunchConfiguration; import org.eclipse.debug.core.model.ILaunchConfigurationDelegate; import org.eclipse.jface.preference.IPreferenceStore; import org.nodeclipse.enide.maven.preferences.MavenConstants; /** * mvn -Djetty.port=9999 jetty:run</br> * * @since 0.11 * @author Paul Verest */ public class LaunchConfigurationDelegate extends org.nodeclipse.enide.maven.launch.LaunchConfigurationDelegate implements ILaunchConfigurationDelegate { @Override protected void specialOptions(ILaunchConfiguration configuration, IPreferenceStore preferenceStore, List<String> cmdLine) throws CoreException { StringBuilder cmdLineSb = new StringBuilder(200); String mavenOptions= preferenceStore.getString(MavenConstants.MAVEN_OPTIONS); // if(!mavenOptions.equals("")) { // String[] sa = mavenOptions.split(" "); // for(String s : sa) { // cmdLine.add(s); // } // } cmdLineSb.append(mavenOptions); String file = configuration.getAttribute(MavenConstants.KEY_FILE_PATH, ""); String filePath = ResourcesPlugin.getWorkspace().getRoot().findMember(file).getLocation().toOSString(); // path is relative, so cannot find it, unless get absolute path // cmdLine.add("-f"); // -f,--file <arg> Force the use of an alternate POM // cmdLine.add(filePath); cmdLineSb.append(" -f ").append(filePath); int jettyPort = preferenceStore.getInt(MavenConstants.MAVEN_OPTION_JETTY_PORT); if (jettyPort!=0){ //cmdLine.add("-Djetty.port="+jettyPort); cmdLineSb.append(" -Djetty.port=").append(filePath); } //cmdLine.add("jetty:run"); cmdLineSb.append(" jetty:run"); cmdLine.add(cmdLineSb.toString()); //workingPath = (new File(filePath)).getParentFile(); //setWorkingDirectoryDefault(filePath); workingDirectoryDefault = (new File(filePath)).getParentFile(); } }