// Path: com.github.jarlakxen.scala.sbt/src/com/github/jarlakxen/scala/sbt/SbtVersion.java
// public enum SbtVersion {
// 
// 	/**
// 	 * SBT 0.11
// 	 */
// 	SBT011("0.11", "0.11.3-2"),
// 
// 	/**
// 	 * SBT 0.12
// 	 */
// 	SBT012("0.12", "0.12.4"),
// 
// 	/**
// 	 * SBT 0.13
// 	 */
// 	SBT013("0.13", "0.13.0");
// 
// 	public static SbtVersion getDefault() {
// 		return SBT013;
// 	}
// 
// 	public static SbtVersion getVersion(String version) {
// 		for (SbtVersion value : values()) {
// 			if (version.startsWith(value.prefix)) {
// 				return value;
// 			}
// 		}
// 		return null;
// 	}
// 
// 	private String prefix;
// 	private String lastVersion;
// 
// 	private SbtVersion(String prefix, String lastVersion) {
// 		this.prefix = prefix;
// 		this.lastVersion = lastVersion;
// 	}
// 
// 	public String getPrefix() {
// 		return prefix;
// 	}
// 
// 	public String getLastVersion() {
// 		return lastVersion;
// 	}
// 
// 	public String getLauncherJarName() {
// 		return "sbt-launch-" + lastVersion + ".jar";
// 	}
// }
// 
// Path: com.github.jarlakxen.scala.sbt/src/com/github/jarlakxen/scala/sbt/ScalaVersion.java
// public enum ScalaVersion {
// 	V_2_10_3("2.10.3"),
// 	V_2_10_2("2.10.2"),
// 	V_2_10_1("2.10.1"),
// 	V_2_9_3("2.9.3"),
// 	V_2_9_2("2.9.2");
// 
// 	public static ScalaVersion getDefault() {
// 		return V_2_10_3;
// 	}
// 	
// 	public static ScalaVersion versionOf(String text){
// 		for(ScalaVersion version : values()){
// 			if(version.getText().equals(text)){
// 				return version;
// 			}
// 		}
// 		return null;
// 	}
// 
// 	private final String text;
// 	private final String baseVersion;
// 	
// 	private ScalaVersion(String text) {
// 		this.text = text;
// 		this.baseVersion = text.substring(0, text.lastIndexOf("."));
// 	}
// 
// 	public String getText() {
// 		return text;
// 	}
// 	
// 	public String getBaseVersion(){
// 		return baseVersion;
// 	}
// }
// 
// Path: com.github.jarlakxen.scala.sbt/src/com/github/jarlakxen/scala/sbt/builder/TestLibrary.java
// public enum TestLibrary {
// 	SPECS2 {
// 		@Override
// 		protected void populate(Map<String, String> dependancyMap) {
// 			dependancyMap.put("2.10", "\"org.specs2\" %% \"specs2\" % \"2.2.3\" % \"test\"");
// 			dependancyMap.put("2.9", "\"org.specs2\" %% \"specs2\" % \"1.12.4.1\" % \"test\"");
// 		}
// 	};
// 
// 	private Map<String, String> dependancyMap;
// 
// 	private TestLibrary() {
// 		dependancyMap = new HashMap<String, String>();
// 		populate(dependancyMap);
// 	}
// 
// 	protected abstract void populate(Map<String, String> dependancyMap);
// 
// 	public String getDependancy(ScalaVersion version) {
// 		if(dependancyMap.containsKey(version.getText())){
// 			return dependancyMap.get(version.getText());
// 		}
// 		
// 		return dependancyMap.get(version.getBaseVersion());
// 	}
// 
// }
// 
// Path: com.github.jarlakxen.scala.sbt/src/com/github/jarlakxen/scala/sbt/wizard/create/SbtWizard.java
// public class SbtWizard extends BasicNewProjectResourceWizard {
// 
// 	private CreateSbtProjectConfiguration configuration = CreateSbtProjectConfiguration.getDefault();
// 
// 	@Override
// 	public void addPages() {
// 		super.addPages();
// 		WizardNewProjectCreationPage mainPage = (WizardNewProjectCreationPage) getPage("basicNewProjectPage");
// 		addPage(new SbtProjectWizardPage(mainPage, configuration));
// 		addPage(new SbtOptionsWizardPage(configuration));
// 	}
// 
// 	@Override
// 	public boolean performFinish() {
// 		if (super.performFinish() == false) {
// 			return false;
// 		}
// 
// 		configuration.setProject(getNewProject());
// 
// 		try {
// 			CreateSbtProjectJob job = new CreateSbtProjectJob(configuration);
// 			job.schedule();
// 			return true;
// 		} catch (Exception e) {
// 			UIUtil.showErrorDialog(e.toString());
// 			SbtPlugin.logException(e);
// 			return false;
// 		}
// 	}
// }


import org.eclipse.core.resources.IProject;
import com.github.jarlakxen.scala.sbt.SbtVersion;
import com.github.jarlakxen.scala.sbt.ScalaVersion;
import com.github.jarlakxen.scala.sbt.builder.TestLibrary;
import com.github.jarlakxen.scala.sbt.wizard.create.SbtWizard;
package com.github.jarlakxen.scala.sbt.configurations;



/**
 * Configuration for create SBT project.
 * 
 * @see SbtWizard
 * @author Facundo Viale
 */
public class CreateSbtProjectConfiguration {
	
	public static CreateSbtProjectConfiguration getDefault(){
		CreateSbtProjectConfiguration configuration = new CreateSbtProjectConfiguration();
// Path: com.github.jarlakxen.scala.sbt/src/com/github/jarlakxen/scala/sbt/SbtVersion.java
// public enum SbtVersion {
// 
// 	/**
// 	 * SBT 0.11
// 	 */
// 	SBT011("0.11", "0.11.3-2"),
// 
// 	/**
// 	 * SBT 0.12
// 	 */
// 	SBT012("0.12", "0.12.4"),
// 
// 	/**
// 	 * SBT 0.13
// 	 */
// 	SBT013("0.13", "0.13.0");
// 
// 	public static SbtVersion getDefault() {
// 		return SBT013;
// 	}
// 
// 	public static SbtVersion getVersion(String version) {
// 		for (SbtVersion value : values()) {
// 			if (version.startsWith(value.prefix)) {
// 				return value;
// 			}
// 		}
// 		return null;
// 	}
// 
// 	private String prefix;
// 	private String lastVersion;
// 
// 	private SbtVersion(String prefix, String lastVersion) {
// 		this.prefix = prefix;
// 		this.lastVersion = lastVersion;
// 	}
// 
// 	public String getPrefix() {
// 		return prefix;
// 	}
// 
// 	public String getLastVersion() {
// 		return lastVersion;
// 	}
// 
// 	public String getLauncherJarName() {
// 		return "sbt-launch-" + lastVersion + ".jar";
// 	}
// }
// 
// Path: com.github.jarlakxen.scala.sbt/src/com/github/jarlakxen/scala/sbt/ScalaVersion.java
// public enum ScalaVersion {
// 	V_2_10_3("2.10.3"),
// 	V_2_10_2("2.10.2"),
// 	V_2_10_1("2.10.1"),
// 	V_2_9_3("2.9.3"),
// 	V_2_9_2("2.9.2");
// 
// 	public static ScalaVersion getDefault() {
// 		return V_2_10_3;
// 	}
// 	
// 	public static ScalaVersion versionOf(String text){
// 		for(ScalaVersion version : values()){
// 			if(version.getText().equals(text)){
// 				return version;
// 			}
// 		}
// 		return null;
// 	}
// 
// 	private final String text;
// 	private final String baseVersion;
// 	
// 	private ScalaVersion(String text) {
// 		this.text = text;
// 		this.baseVersion = text.substring(0, text.lastIndexOf("."));
// 	}
// 
// 	public String getText() {
// 		return text;
// 	}
// 	
// 	public String getBaseVersion(){
// 		return baseVersion;
// 	}
// }
// 
// Path: com.github.jarlakxen.scala.sbt/src/com/github/jarlakxen/scala/sbt/builder/TestLibrary.java
// public enum TestLibrary {
// 	SPECS2 {
// 		@Override
// 		protected void populate(Map<String, String> dependancyMap) {
// 			dependancyMap.put("2.10", "\"org.specs2\" %% \"specs2\" % \"2.2.3\" % \"test\"");
// 			dependancyMap.put("2.9", "\"org.specs2\" %% \"specs2\" % \"1.12.4.1\" % \"test\"");
// 		}
// 	};
// 
// 	private Map<String, String> dependancyMap;
// 
// 	private TestLibrary() {
// 		dependancyMap = new HashMap<String, String>();
// 		populate(dependancyMap);
// 	}
// 
// 	protected abstract void populate(Map<String, String> dependancyMap);
// 
// 	public String getDependancy(ScalaVersion version) {
// 		if(dependancyMap.containsKey(version.getText())){
// 			return dependancyMap.get(version.getText());
// 		}
// 		
// 		return dependancyMap.get(version.getBaseVersion());
// 	}
// 
// }
// 
// Path: com.github.jarlakxen.scala.sbt/src/com/github/jarlakxen/scala/sbt/wizard/create/SbtWizard.java
// public class SbtWizard extends BasicNewProjectResourceWizard {
// 
// 	private CreateSbtProjectConfiguration configuration = CreateSbtProjectConfiguration.getDefault();
// 
// 	@Override
// 	public void addPages() {
// 		super.addPages();
// 		WizardNewProjectCreationPage mainPage = (WizardNewProjectCreationPage) getPage("basicNewProjectPage");
// 		addPage(new SbtProjectWizardPage(mainPage, configuration));
// 		addPage(new SbtOptionsWizardPage(configuration));
// 	}
// 
// 	@Override
// 	public boolean performFinish() {
// 		if (super.performFinish() == false) {
// 			return false;
// 		}
// 
// 		configuration.setProject(getNewProject());
// 
// 		try {
// 			CreateSbtProjectJob job = new CreateSbtProjectJob(configuration);
// 			job.schedule();
// 			return true;
// 		} catch (Exception e) {
// 			UIUtil.showErrorDialog(e.toString());
// 			SbtPlugin.logException(e);
// 			return false;
// 		}
// 	}
// }


// Path: com.github.jarlakxen.scala.sbt/src/com/github/jarlakxen/scala/sbt/configurations/CreateSbtProjectConfiguration.java
import org.eclipse.core.resources.IProject;
import com.github.jarlakxen.scala.sbt.SbtVersion;
import com.github.jarlakxen.scala.sbt.ScalaVersion;
import com.github.jarlakxen.scala.sbt.builder.TestLibrary;
import com.github.jarlakxen.scala.sbt.wizard.create.SbtWizard;

package com.github.jarlakxen.scala.sbt.configurations;



/**
 * Configuration for create SBT project.
 * 
 * @see SbtWizard
 * @author Facundo Viale
 */
public class CreateSbtProjectConfiguration {
	
	public static CreateSbtProjectConfiguration getDefault(){
		CreateSbtProjectConfiguration configuration = new CreateSbtProjectConfiguration();
		configuration.setSbtVersion(SbtVersion.SBT013);