/* sbt -- Simple Build Tool
 * Copyright 2008 Mark Harrah, David MacIver
 */
package sbt

/** The default project when no project is explicitly configured and the common base class for
* configuring a project.*/
class class DefaultProject extends sbt.BasicScalaProject with ScalaObjectDefaultProject(val sbt.ProjectInfoinfo: sbt.ProjectInfoProjectInfo) extends sbt.BasicScalaProjectBasicScalaProject
class class DefaultWebProject extends sbt.BasicWebScalaProject with ScalaObjectDefaultWebProject(val sbt.ProjectInfoinfo: sbt.ProjectInfoProjectInfo) extends sbt.BasicWebScalaProjectBasicWebScalaProject

import BasicScalaProject._

/** This class defines concrete instances of actions from ScalaProject using overridable paths,
* options, and configuration. */
abstract class class BasicScalaProject extends java.lang.Object with sbt.ScalaProject with sbt.BasicDependencyProject with sbt.BasicProjectPaths with ScalaObjectBasicScalaProject extends sbt.ScalaProjectScalaProject with sbt.BasicDependencyProjectBasicDependencyProject with sbt.BasicProjectPathsBasicProjectPaths
{
	/** The class to be run by the 'run' action.
	* See http://code.google.com/p/simple-build-tool/wiki/RunningProjectCode for details.*/
	def => Option[String]mainClass: Option[String]Option[String] = object NoneNone
	def => Collection[sbt.Project]dependencies = => sbt.ProjectInfoinfo.=> Iterable[sbt.Project]dependencies (Iterable[sbt.Project])Collection[sbt.Project]++ => scala.collection.Map[String,sbt.Project]subProjects.=> Iterator[sbt.Project]values.=> List[sbt.Project]toList

	val sbt.CompileConditionalmainCompileConditional = sbt.CompileConditionalnew sbt.CompileConditionalCompileConditional(=> BasicScalaProject.this.MainCompileConfigmainCompileConfiguration)
	val sbt.CompileConditionaltestCompileConditional = sbt.CompileConditionalnew sbt.CompileConditionalCompileConditional(=> BasicScalaProject.this.TestCompileConfigtestCompileConfiguration)

	/** Declares all sources to be packaged by the package-src action.*/
	def => sbt.PathFinderpackageSourcePaths = (sbt.PathFinder,sbt.FileFilter)sbt.PathFinderdescendents((=> sbt.PathmainScalaSourcePath (sbt.PathFinder)sbt.PathFinder+++ => sbt.PathmainResourcesPath) => sbt.PathFinder##, implicit sbt.Project.filter : (String)sbt.NameFilter"*")
	/** Declares all sources to be packaged by the package-test-src action.*/
	def => sbt.PathFinderpackageTestSourcePaths = (sbt.PathFinder,sbt.FileFilter)sbt.PathFinderdescendents((=> sbt.PathtestScalaSourcePath (sbt.PathFinder)sbt.PathFinder+++ => sbt.PathtestResourcesPath) => sbt.PathFinder##, implicit sbt.Project.filter : (String)sbt.NameFilter"*")
	/** Declares all paths to be packaged by the package-project action.*/
	def => sbt.PathFinderpackageProjectPaths =
	{
		val sbt.PathFinderchildren = (=> sbt.ProjectInfoinfo.=> sbt.ProjectDirectoryprojectPath => sbt.Path##) (sbt.FileFilter)sbt.PathFinder* (object sbt.AllPassFilterAllPassFilter (sbt.FileFilter)sbt.FileFilter-- => sbt.FileFilterdefaultExcludes) (sbt.PathFinder)sbt.PathFinder--- (=> sbt.PathFinderpackageProjectRootExcludes (sbt.FileFilter)sbt.PathFinder** object sbt.AllPassFilterAllPassFilter)
		(sbt.PathFinder,sbt.FileFilter)sbt.PathFinderdescendents(sbt.PathFinderchildren, implicit sbt.Project.filter : (String)sbt.NameFilter"*")
	}
	protected def => sbt.PathFinderpackageProjectRootExcludes: sbt.PathFinderPathFinder = => sbt.PathoutputPath (sbt.PathFinder)sbt.PathFinder+++ => sbt.PathmanagedDependencyPath (sbt.PathFinder)sbt.PathFinder+++ => sbt.PathbootPath
	
	def => sbt.PathFindermainScalaSources = (sbt.PathFinder,sbt.FileFilter)sbt.PathFinderdescendents(=> sbt.PathmainScalaSourcePath, implicit sbt.Project.filter : (String)sbt.NameFilter"*.scala")
	def => sbt.PathFindertestScalaSources = (sbt.PathFinder,sbt.FileFilter)sbt.PathFinderdescendents(=> sbt.PathtestScalaSourcePath, implicit sbt.Project.filter : (String)sbt.NameFilter"*.scala")
	
	/** A PathFinder that selects all main sources.  It excludes paths that match 'defaultExcludes'.*/
	def => sbt.PathFindermainSources = => sbt.PathFindermainScalaSources
	/** A PathFinder that selects all test sources.  It excludes paths that match 'defaultExcludes'.*/
	def => sbt.PathFindertestSources = => sbt.PathFindertestScalaSources
	/** A PathFinder that selects all main resources.  It excludes paths that match 'defaultExcludes'.*/
	def => sbt.PathFindermainResources = (sbt.PathFinder,sbt.FileFilter)sbt.PathFinderdescendents(=> sbt.PathmainResourcesPath => sbt.Path##, implicit sbt.Project.filter : (String)sbt.NameFilter"*")
	/** A PathFinder that selects all test resources.  It excludes paths that match 'defaultExcludes'.*/
	def => sbt.PathFindertestResources = (sbt.PathFinder,sbt.FileFilter)sbt.PathFinderdescendents(=> sbt.PathtestResourcesPath => sbt.Path##, implicit sbt.Project.filter : (String)sbt.NameFilter"*")
	
	/** A PathFinder that selects all the classes compiled from the main sources.*/
	def => sbt.PathFindermainClasses = (=> sbt.PathmainCompilePath => sbt.Path##) (sbt.FileFilter)sbt.PathFinder** implicit sbt.Project.filter : (String)sbt.NameFilter"*.class"
	/** A PathFinder that selects all the classes compiled from the test sources.*/
	def => sbt.PathFindertestClasses = (=> sbt.PathtestCompilePath => sbt.Path##) (sbt.FileFilter)sbt.PathFinder** implicit sbt.Project.filter : (String)sbt.NameFilter"*.class"
	
	import Project._
	
	/** The options provided to the 'compile' action.*/
	def => Seq[BasicScalaProject.this.CompileOption]compileOptions: Seq[BasicScalaProject.this.CompileOption]Seq[CompileOption] = => BasicScalaProject.this.CompileOptionDeprecation (BasicScalaProject.this.CompileOption)List[BasicScalaProject.this.CompileOption]:: object NilNil
	/** The options provided to the 'test-compile' action, defaulting to those for the 'compile' action.*/
	def => Seq[BasicScalaProject.this.CompileOption]testCompileOptions: Seq[BasicScalaProject.this.CompileOption]Seq[CompileOption] = => Seq[BasicScalaProject.this.CompileOption]compileOptions
	
	/** The options provided to the 'doc' and 'docTest' actions.*/
	def => Seq[BasicScalaProject.this.ScaladocOption]documentOptions: Seq[BasicScalaProject.this.ScaladocOption]Seq[ScaladocOption] =
		=> BasicScalaProject.this.SimpleDocOptionLinkSource (BasicScalaProject.this.ScaladocOption with Product)List[BasicScalaProject.this.ScaladocOption with Product]::
		(String)BasicScalaProject.this.CompoundDocOptiondocumentTitle(=> Stringname (Any)java.lang.String+ java.lang.String(" ")" " (Any)java.lang.String+ => sbt.Versionversion (Any)java.lang.String+ java.lang.String(" API")" API") (BasicScalaProject.this.CompoundDocOption)List[BasicScalaProject.this.CompoundDocOption]::
		(String)BasicScalaProject.this.CompoundDocOptionwindowTitle(=> Stringname (Any)java.lang.String+ java.lang.String(" ")" " (Any)java.lang.String+ => sbt.Versionversion (Any)java.lang.String+ java.lang.String(" API")" API") (BasicScalaProject.this.CompoundDocOption)List[BasicScalaProject.this.CompoundDocOption]::
		object NilNil
	/** The options provided to the 'test' action.  You can specify tests to exclude here.*/
	def => Seq[BasicScalaProject.this.TestOption]testOptions: Seq[BasicScalaProject.this.TestOption]Seq[TestOption] = ((String) => Boolean)BasicScalaProject.this.TestFilterTestFilter((String)BooleanincludeTest) (BasicScalaProject.this.TestFilter)List[BasicScalaProject.this.TestFilter]:: object NilNil
	/** The options provided to the clean action.  You can add files to be removed here.*/
	def => Seq[BasicScalaProject.this.CleanOption]cleanOptions: Seq[BasicScalaProject.this.CleanOption]Seq[CleanOption] =
		(sbt.TaskAnalysis[_, _, _])BasicScalaProject.this.ClearAnalysisClearAnalysis(=> sbt.CompileConditionalmainCompileConditional.=> BasicScalaProject.this.mainCompileConditional.AnalysisTypeanalysis) (BasicScalaProject.this.ClearAnalysis)List[BasicScalaProject.this.ClearAnalysis]::
		(sbt.TaskAnalysis[_, _, _])BasicScalaProject.this.ClearAnalysisClearAnalysis(=> sbt.CompileConditionaltestCompileConditional.=> BasicScalaProject.this.testCompileConditional.AnalysisTypeanalysis) (BasicScalaProject.this.ClearAnalysis)List[BasicScalaProject.this.ClearAnalysis]::
		object NilNil
		
	def => Seq[BasicScalaProject.this.PackageOption]packageOptions: Seq[BasicScalaProject.this.PackageOption]Seq[PackageOption] = => Option[String]mainClass.((String) => BasicScalaProject.this.MainClass)Option[BasicScalaProject.this.MainClass]map((String)BasicScalaProject.this.MainClassMainClass(String_)).=> List[BasicScalaProject.this.MainClass]toList
	
	private def => sbt.PathsucceededTestPath = => sbt.PathtestAnalysisPath (String)sbt.Path/ java.lang.String("succeeded-tests")"succeeded-tests"
	private def (Boolean)List[BasicScalaProject.this.TestOption with Product]quickOptions(BooleanfailedOnly: BooleanBoolean) =
	{
		val sbt.Pathpath = => sbt.PathsucceededTestPath
		val BasicScalaProject.this.testCompileConditional.AnalysisTypeanalysis = => sbt.CompileConditionaltestCompileConditional.=> BasicScalaProject.this.testCompileConditional.AnalysisTypeanalysis
		((String) => Boolean)BasicScalaProject.this.TestFilterTestFilter(sbt.impl.TestQuickFilternew impl.sbt.impl.TestQuickFilterTestQuickFilter(BasicScalaProject.this.testCompileConditional.AnalysisTypeanalysis, BooleanfailedOnly, sbt.Pathpath, => sbt.Loggerlog))  (BasicScalaProject.this.TestOption with Product)List[BasicScalaProject.this.TestOption with Product]:: (Iterable[sbt.TestReportListener])BasicScalaProject.this.TestListenersTestListeners(sbt.impl.TestStatusReporternew impl.sbt.impl.TestStatusReporterTestStatusReporter(sbt.Pathpath, => sbt.Loggerlog) (sbt.impl.TestStatusReporter)List[sbt.impl.TestStatusReporter]:: object NilNil) (BasicScalaProject.this.TestListeners)List[BasicScalaProject.this.TestListeners]:: object NilNil
	}
	
	protected def (String)BooleanincludeTest(Stringtest: StringString): BooleanBoolean = Boolean(true)true
	
	/** These are the directories that are created when a user makes a new project from sbt.*/
	private def => List[sbt.Path]directoriesToCreate: List[sbt.Path]List[Path] =
		=> sbt.PathdependencyPath (sbt.Path)List[sbt.Path]::
		=> sbt.PathmainScalaSourcePath (sbt.Path)List[sbt.Path]::
		=> sbt.PathmainResourcesPath (sbt.Path)List[sbt.Path]::
		=> sbt.PathtestScalaSourcePath (sbt.Path)List[sbt.Path]::
		=> sbt.PathtestResourcesPath (sbt.Path)List[sbt.Path]::
		object NilNil
	
	/** This is called to create the initial directories when a user makes a new project from
	* sbt.*/
	override final def ()UnitinitializeDirectories()
	{
		object sbt.FileUtilitiesFileUtilities.(List[java.io.File],sbt.Logger)Option[String]createDirectories(=> List[sbt.Path]directoriesToCreate.((sbt.Path) => java.io.File)List[java.io.File]map(sbt.Path_.=> java.io.FileasFile), => sbt.Loggerlog) Unitmatch
		{
			Unitcase Some(StringerrorMessage) => => sbt.Loggerlog.(=> String)Uniterror(java.lang.String("Could not initialize directory structure: ")"Could not initialize directory structure: " (Any)java.lang.String+ StringerrorMessage)
			Unitcase object NoneNone => => sbt.Loggerlog.(=> String)Unitsuccess(java.lang.String("Successfully initialized directory structure.")"Successfully initialized directory structure.")
		}
	}
	import Configurations._
	/** The managed configuration to use when determining the classpath for a Scala interpreter session.*/
	def => sbt.ConfigurationconsoleConfiguration = => sbt.ConfigurationTest
	
	/** A PathFinder that provides the classpath to pass to scaladoc.  It is the same as the compile classpath
	* by default. */
	def => sbt.PathFinderdocClasspath = => sbt.PathFindercompileClasspath
	/** A PathFinder that provides the classpath to pass to the compiler.*/
	def => sbt.PathFindercompileClasspath = (sbt.Configuration)sbt.PathFinderfullClasspath(=> sbt.ConfigurationCompile) (sbt.PathFinder)sbt.PathFinder+++ => sbt.PathFinderoptionalClasspath
	/** A PathFinder that provides the classpath to use when unit testing.*/
	def => sbt.PathFindertestClasspath = (sbt.Configuration)sbt.PathFinderfullClasspath(=> sbt.ConfigurationTest) (sbt.PathFinder)sbt.PathFinder+++ => sbt.PathFinderoptionalClasspath
	/** A PathFinder that provides the classpath to use when running the class specified in 'mainClass'.*/
	def => sbt.PathFinderrunClasspath = (sbt.Configuration)sbt.PathFinderfullClasspath(=> sbt.ConfigurationRuntime) (sbt.PathFinder)sbt.PathFinder+++ => sbt.PathFinderoptionalClasspath
	/** A PathFinder that provides the classpath to use for a Scala interpreter session.*/
	def => sbt.PathFinderconsoleClasspath = (sbt.Configuration)sbt.PathFinderfullClasspath(=> sbt.ConfigurationconsoleConfiguration) (sbt.PathFinder)sbt.PathFinder+++ => sbt.PathFinderoptionalClasspath
	/** A PathFinder that corresponds to Maven's optional scope.  It includes any managed libraries in the
	* 'optional' configuration for this project only.*/
	def => sbt.PathFinderoptionalClasspath = (sbt.Configuration,Boolean)sbt.PathFindermanagedClasspath(=> sbt.ConfigurationOptional, Boolean(false)false)

	/** This returns the unmanaged classpath for only this project for the given configuration.  It by
	* default includes the main compiled classes for this project and the libraries in this project's
	* unmanaged library directory (lib) and the managed directory for the specified configuration.  It
	* also adds the resource directories appropriate to the configuration.*/
	def (sbt.Configuration)sbt.PathFinderfullUnmanagedClasspath(sbt.Configurationconfig: sbt.ConfigurationConfiguration) =
	{
		val sbt.PathFinderbase =  => sbt.PathmainCompilePath (sbt.PathFinder)sbt.PathFinder+++ => sbt.PathmainResourcesPath (sbt.PathFinder)sbt.PathFinder+++ => sbt.PathFinderunmanagedClasspath
		sbt.Configurationconfig sbt.PathFindermatch
		{
			sbt.PathFindercase => sbt.ConfigurationTest => => sbt.PathtestCompilePath (sbt.PathFinder)sbt.PathFinder+++ => sbt.PathtestResourcesPath (sbt.PathFinder)sbt.PathFinder+++ sbt.PathFinderbase
			sbt.PathFindercase _ => sbt.PathFinderbase
		}
	}
	
	protected def => Iterable[java.io.File]scalaJars: Iterable[java.io.File]Iterable[java.io.File] =
	{
		val Iterable[java.io.File]externalJars = => sbt.CompileConditionalmainCompileConditional.=> BasicScalaProject.this.mainCompileConditional.AnalysisTypeanalysis.=> scala.collection.Set[java.io.File]allExternals.((java.io.File) => Boolean)Iterable[java.io.File]filter(object sbt.ClasspathUtilitiesClasspathUtilities.(java.io.File)BooleanisArchive)
		Iterable[java.io.File]externalJars.((java.io.File) => Boolean)Iterable[java.io.File]filter(object sbt.BasicScalaProjectBasicScalaProject.=> scala.collection.immutable.Set[java.lang.String]ScalaJarNames (java.lang.String)Booleancontains java.io.File_.()java.lang.StringgetName)
	}
		
	/** The list of test frameworks to use for testing.  Note that adding frameworks to this list
	* for an active project currently requires an explicit 'clean' to properly update the set of tests to
	* run*/
	def => Iterable[sbt.TestFramework]testFrameworks: Iterable[sbt.TestFramework]Iterable[TestFramework] = object sbt.ScalaCheckFrameworkScalaCheckFramework (sbt.LazyTestFramework)List[sbt.LazyTestFramework]:: object sbt.SpecsFrameworkSpecsFramework (sbt.LazyTestFramework)List[sbt.LazyTestFramework]:: object sbt.ScalaTestFrameworkScalaTestFramework (object sbt.ScalaTestFramework)List[object sbt.ScalaTestFramework]:: object NilNil
	
	def => java.lang.StringmainLabel = java.lang.String("main")"main"
	def => java.lang.StringtestLabel = java.lang.String("test")"test"
		
	def => BasicScalaProject.this.MainCompileConfigmainCompileConfiguration = BasicScalaProject.this.MainCompileConfignew BasicScalaProject.this.MainCompileConfigMainCompileConfig
	def => BasicScalaProject.this.TestCompileConfigtestCompileConfiguration = BasicScalaProject.this.TestCompileConfignew BasicScalaProject.this.TestCompileConfigTestCompileConfig
	abstract class class BaseCompileConfig extends sbt.CompileConfiguration with ScalaObjectBaseCompileConfig extends sbt.CompileConfigurationCompileConfiguration
	{
		def => sbt.Loggerlog = BasicScalaProject.this.typeBasicScalaProject.this.=> sbt.Loggerlog
		def => sbt.ProjectDirectoryprojectPath = => sbt.ProjectInfoinfo.=> sbt.ProjectDirectoryprojectPath
	}
	class class MainCompileConfig extends BasicScalaProject.this.BaseCompileConfig with ScalaObjectMainCompileConfig extends BasicScalaProject.this.BaseCompileConfigBaseCompileConfig
	{
		def => java.lang.Stringlabel = => java.lang.StringmainLabel
		def => sbt.PathFindersources = => sbt.PathFindermainSources
		def => sbt.PathoutputDirectory = => sbt.PathmainCompilePath
		def => sbt.PathFinderclasspath = => sbt.PathFindercompileClasspath
		def => sbt.PathanalysisPath = => sbt.PathmainAnalysisPath
		def => object NiltestDefinitionClassNames = object NilNil
		def => Seq[String]options = => Seq[BasicScalaProject.this.CompileOption]compileOptions.((BasicScalaProject.this.CompileOption) => String)Seq[String]map(BasicScalaProject.this.CompileOption_.=> StringasString)
	}
	class class TestCompileConfig extends BasicScalaProject.this.BaseCompileConfig with ScalaObjectTestCompileConfig extends BasicScalaProject.this.BaseCompileConfigBaseCompileConfig
	{
		def => java.lang.Stringlabel = => java.lang.StringtestLabel
		def => sbt.PathFindersources = => sbt.PathFindertestSources
		def => sbt.PathoutputDirectory = => sbt.PathtestCompilePath
		def => sbt.PathFinderclasspath = => sbt.PathFindertestClasspath
		def => sbt.PathanalysisPath = => sbt.PathtestAnalysisPath
		def => Iterable[String]testDefinitionClassNames = => Iterable[sbt.TestFramework]testFrameworks.((sbt.TestFramework) => String)Iterable[String]map(sbt.TestFramework_.=> StringtestSuperClassName)
		def => Seq[String]options = => Seq[BasicScalaProject.this.CompileOption]testCompileOptions.((BasicScalaProject.this.CompileOption) => String)Seq[String]map(BasicScalaProject.this.CompileOption_.=> StringasString)
	}
	
	protected def => BasicScalaProject.this.TaskcompileAction = (=> Option[String])BasicScalaProject.this.Tasktask { => sbt.CompileConditionalmainCompileConditional.=> Option[String]run } (String)BasicScalaProject.this.TaskdescribedAs => java.lang.StringMainCompileDescription
	protected def => BasicScalaProject.this.TasktestCompileAction = (=> Option[String])BasicScalaProject.this.Tasktask { => sbt.CompileConditionaltestCompileConditional.=> Option[String]run } (BasicScalaProject.this.ManagedTask*)BasicScalaProject.this.TaskdependsOn => BasicScalaProject.this.Taskcompile (String)BasicScalaProject.this.TaskdescribedAs => java.lang.StringTestCompileDescription
	protected def => BasicScalaProject.this.TaskcleanAction = (sbt.PathFinder,=> Seq[BasicScalaProject.this.CleanOption])BasicScalaProject.this.TaskcleanTask(=> sbt.PathoutputPath, => Seq[BasicScalaProject.this.CleanOption]cleanOptions) (String)BasicScalaProject.this.TaskdescribedAs => java.lang.StringCleanDescription
	protected def => BasicScalaProject.this.MethodTaskrunAction = ((Array[String]) => BasicScalaProject.this.ManagedTask)BasicScalaProject.this.MethodTasktask { Array[String]args => (Option[String],sbt.PathFinder,=> Seq[String])BasicScalaProject.this.TaskrunTask(=> Option[String]mainClass, => sbt.PathFinderrunClasspath, Array[String]args) (BasicScalaProject.this.ManagedTask*)BasicScalaProject.this.TaskdependsOn(=> BasicScalaProject.this.Taskcompile) } (String)BasicScalaProject.this.MethodTaskdescribedAs => java.lang.StringRunDescription
	protected def => BasicScalaProject.this.TaskconsoleQuickAction = (sbt.PathFinder)BasicScalaProject.this.TaskconsoleTask(=> sbt.PathFinderconsoleClasspath) (String)BasicScalaProject.this.TaskdescribedAs => java.lang.StringConsoleQuickDescription
	protected def => BasicScalaProject.this.TaskconsoleAction = (sbt.PathFinder)BasicScalaProject.this.TaskconsoleTask(=> sbt.PathFinderconsoleClasspath).(BasicScalaProject.this.ManagedTask*)BasicScalaProject.this.TaskdependsOn(=> BasicScalaProject.this.TasktestCompile) (String)BasicScalaProject.this.TaskdescribedAs => java.lang.StringConsoleDescription
	protected def => BasicScalaProject.this.TaskdocAction = (String,sbt.PathFinder,sbt.Path,sbt.PathFinder,=> Seq[BasicScalaProject.this.ScaladocOption])BasicScalaProject.this.TaskscaladocTask(=> java.lang.StringmainLabel, => sbt.PathFindermainSources, => sbt.PathmainDocPath, => sbt.PathFinderdocClasspath, => Seq[BasicScalaProject.this.ScaladocOption]documentOptions).(BasicScalaProject.this.ManagedTask*)BasicScalaProject.this.TaskdependsOn(=> BasicScalaProject.this.Taskcompile) (String)BasicScalaProject.this.TaskdescribedAs => java.lang.StringDocDescription
	protected def => BasicScalaProject.this.TaskdocTestAction = (String,sbt.PathFinder,sbt.Path,sbt.PathFinder,=> Seq[BasicScalaProject.this.ScaladocOption])BasicScalaProject.this.TaskscaladocTask(=> java.lang.StringtestLabel, => sbt.PathFindertestSources, => sbt.PathtestDocPath, => sbt.PathFinderdocClasspath, => Seq[BasicScalaProject.this.ScaladocOption]documentOptions).(BasicScalaProject.this.ManagedTask*)BasicScalaProject.this.TaskdependsOn(=> BasicScalaProject.this.TasktestCompile) (String)BasicScalaProject.this.TaskdescribedAs => java.lang.StringTestDocDescription
	protected def => BasicScalaProject.this.TasktestAction = (=> Seq[BasicScalaProject.this.TestOption])BasicScalaProject.this.TaskdefaultTestTask(=> Seq[BasicScalaProject.this.TestOption]testOptions)
	protected def => BasicScalaProject.this.MethodTasktestOnlyAction = (sbt.CompileAnalysis,=> Seq[BasicScalaProject.this.TestOption])((Seq[BasicScalaProject.this.TestOption]) => BasicScalaProject.this.Task)BasicScalaProject.this.MethodTasktestQuickMethod(=> sbt.CompileConditionaltestCompileConditional.=> BasicScalaProject.this.testCompileConditional.AnalysisTypeanalysis, => Seq[BasicScalaProject.this.TestOption]testOptions)(Seq[BasicScalaProject.this.TestOption]options =>
		(=> Seq[BasicScalaProject.this.TestOption])BasicScalaProject.this.TaskdefaultTestTask(Seq[BasicScalaProject.this.TestOption]options)) (String)BasicScalaProject.this.MethodTaskdescribedAs(=> java.lang.StringTestOnlyDescription)
	protected def => BasicScalaProject.this.MethodTasktestQuickAction = (Boolean)BasicScalaProject.this.MethodTaskdefaultTestQuickMethod(Boolean(false)false) (String)BasicScalaProject.this.MethodTaskdescribedAs(=> java.lang.StringTestQuickDescription)
	protected def => BasicScalaProject.this.MethodTasktestFailedAction = (Boolean)BasicScalaProject.this.MethodTaskdefaultTestQuickMethod(Boolean(true)true) (String)BasicScalaProject.this.MethodTaskdescribedAs(=> java.lang.StringTestFailedDescription)
	protected def (Boolean)BasicScalaProject.this.MethodTaskdefaultTestQuickMethod(BooleanfailedOnly: BooleanBoolean) =
		(sbt.CompileAnalysis,=> Seq[BasicScalaProject.this.TestOption])((Seq[BasicScalaProject.this.TestOption]) => BasicScalaProject.this.Task)BasicScalaProject.this.MethodTasktestQuickMethod(=> sbt.CompileConditionaltestCompileConditional.=> BasicScalaProject.this.testCompileConditional.AnalysisTypeanalysis, => Seq[BasicScalaProject.this.TestOption]testOptions)(Seq[BasicScalaProject.this.TestOption]options => (=> Seq[BasicScalaProject.this.TestOption])BasicScalaProject.this.TaskdefaultTestTask((Boolean)List[BasicScalaProject.this.TestOption with Product]quickOptions(BooleanfailedOnly) (List[BasicScalaProject.this.TestOption])List[BasicScalaProject.this.TestOption]::: Seq[BasicScalaProject.this.TestOption]options.=> List[BasicScalaProject.this.TestOption]toList))
	protected def (=> Seq[BasicScalaProject.this.TestOption])BasicScalaProject.this.TaskdefaultTestTask(=> Seq[BasicScalaProject.this.TestOption]testOptions: => Seq[TestOption]) =
		(Iterable[sbt.TestFramework],sbt.PathFinder,sbt.CompileAnalysis,=> Seq[BasicScalaProject.this.TestOption])BasicScalaProject.this.TasktestTask(=> Iterable[sbt.TestFramework]testFrameworks, => sbt.PathFindertestClasspath, => sbt.CompileConditionaltestCompileConditional.=> BasicScalaProject.this.testCompileConditional.AnalysisTypeanalysis, => Seq[BasicScalaProject.this.TestOption]testOptions).(BasicScalaProject.this.ManagedTask*)BasicScalaProject.this.TaskdependsOn(=> BasicScalaProject.this.TasktestCompile) (String)BasicScalaProject.this.TaskdescribedAs => java.lang.StringTestDescription
		
	override protected def => BasicScalaProject.this.TaskpublishLocalAction = super.=> BasicScalaProject.this.TaskpublishLocalAction (BasicScalaProject.this.ManagedTask*)BasicScalaProject.this.TaskdependsOn(=> BasicScalaProject.this.Task`package`)
	
	protected def => BasicScalaProject.this.TaskpackageAction = (sbt.PathFinder,sbt.Path,=> String,=> Seq[BasicScalaProject.this.PackageOption])BasicScalaProject.this.TaskpackageTask(=> sbt.PathFindermainClasses (sbt.PathFinder)sbt.PathFinder+++ => sbt.PathFindermainResources, => sbt.PathoutputPath, => java.lang.StringdefaultJarName, => Seq[BasicScalaProject.this.PackageOption]packageOptions).(BasicScalaProject.this.ManagedTask*)BasicScalaProject.this.TaskdependsOn(=> BasicScalaProject.this.Taskcompile) (String)BasicScalaProject.this.TaskdescribedAs => java.lang.StringPackageDescription
	protected def => BasicScalaProject.this.TaskpackageTestAction = (sbt.PathFinder,sbt.Path,=> String,BasicScalaProject.this.PackageOption*)BasicScalaProject.this.TaskpackageTask(=> sbt.PathFindertestClasses (sbt.PathFinder)sbt.PathFinder+++ => sbt.PathFindertestResources, => sbt.PathoutputPath, => java.lang.StringdefaultJarBaseName (Any)java.lang.String+ java.lang.String("-test.jar")"-test.jar").(BasicScalaProject.this.ManagedTask*)BasicScalaProject.this.TaskdependsOn(=> BasicScalaProject.this.TasktestCompile) (String)BasicScalaProject.this.TaskdescribedAs => java.lang.StringTestPackageDescription
	protected def => BasicScalaProject.this.TaskpackageDocsAction = (sbt.PathFinder,sbt.Path,=> String,BasicScalaProject.this.PackageOption*)BasicScalaProject.this.TaskpackageTask(=> sbt.PathmainDocPath => sbt.Path##, => sbt.PathoutputPath, => java.lang.StringdefaultJarBaseName (Any)java.lang.String+ java.lang.String("-docs.jar")"-docs.jar", object BasicScalaProject.this.RecursiveRecursive).(BasicScalaProject.this.ManagedTask*)BasicScalaProject.this.TaskdependsOn(=> BasicScalaProject.this.Taskdoc) (String)BasicScalaProject.this.TaskdescribedAs => java.lang.StringDocPackageDescription
	protected def => BasicScalaProject.this.TaskpackageSrcAction = (sbt.PathFinder,sbt.Path,=> String,BasicScalaProject.this.PackageOption*)BasicScalaProject.this.TaskpackageTask(=> sbt.PathFinderpackageSourcePaths, => sbt.PathoutputPath, => java.lang.StringdefaultJarBaseName (Any)java.lang.String+ java.lang.String("-src.jar")"-src.jar") (String)BasicScalaProject.this.TaskdescribedAs => java.lang.StringSourcePackageDescription
	protected def => BasicScalaProject.this.TaskpackageTestSrcAction = (sbt.PathFinder,sbt.Path,=> String,BasicScalaProject.this.PackageOption*)BasicScalaProject.this.TaskpackageTask(=> sbt.PathFinderpackageTestSourcePaths, => sbt.PathoutputPath, => java.lang.StringdefaultJarBaseName (Any)java.lang.String+ java.lang.String("-test-src.jar")"-test-src.jar") (String)BasicScalaProject.this.TaskdescribedAs => java.lang.StringTestSourcePackageDescription
	protected def => BasicScalaProject.this.TaskpackageProjectAction = (sbt.PathFinder,sbt.Path,=> String)BasicScalaProject.this.TaskzipTask(=> sbt.PathFinderpackageProjectPaths, => sbt.PathoutputPath, => java.lang.StringdefaultJarBaseName (Any)java.lang.String+ java.lang.String("-project.zip")"-project.zip") (String)BasicScalaProject.this.TaskdescribedAs => java.lang.StringProjectPackageDescription
	
	protected def => BasicScalaProject.this.TaskdocAllAction = (=> BasicScalaProject.this.Taskdoc (BasicScalaProject.this.Task)BasicScalaProject.this.Task&& => BasicScalaProject.this.TaskdocTest) (String)BasicScalaProject.this.TaskdescribedAs => java.lang.StringDocAllDescription
	protected def => BasicScalaProject.this.TaskpackageAllAction = (=> Option[String])BasicScalaProject.this.Tasktask { object NoneNone } (BasicScalaProject.this.ManagedTask*)BasicScalaProject.this.TaskdependsOn(=> BasicScalaProject.this.Task`package`, => BasicScalaProject.this.TaskpackageTest, => BasicScalaProject.this.TaskpackageSrc, => BasicScalaProject.this.TaskpackageTestSrc, => BasicScalaProject.this.TaskpackageDocs) (String)BasicScalaProject.this.TaskdescribedAs => java.lang.StringPackageAllDescription
	protected def => BasicScalaProject.this.TaskgraphAction = (sbt.Path,sbt.CompileAnalysis)BasicScalaProject.this.TaskgraphTask(=> sbt.PathgraphPath, => sbt.CompileConditionalmainCompileConditional.=> BasicScalaProject.this.mainCompileConditional.AnalysisTypeanalysis).(BasicScalaProject.this.ManagedTask*)BasicScalaProject.this.TaskdependsOn(=> BasicScalaProject.this.Taskcompile)
	protected def => BasicScalaProject.this.TaskincrementVersionAction = (=> Option[String])BasicScalaProject.this.Tasktask { ()UnitincrementVersionNumber(); object NoneNone } (String)BasicScalaProject.this.TaskdescribedAs => java.lang.StringIncrementVersionDescription
	protected def => BasicScalaProject.this.TaskreleaseAction = (=> BasicScalaProject.this.Tasktest (BasicScalaProject.this.Task)BasicScalaProject.this.Task&& => BasicScalaProject.this.TaskpackageAll (BasicScalaProject.this.Task)BasicScalaProject.this.Task&& => BasicScalaProject.this.TaskincrementVersion) (String)BasicScalaProject.this.TaskdescribedAs => java.lang.StringReleaseDescription
	
	lazy val BasicScalaProject.this.Taskcompile = => BasicScalaProject.this.TaskcompileAction
	lazy val BasicScalaProject.this.TasktestCompile = => BasicScalaProject.this.TasktestCompileAction
	lazy val BasicScalaProject.this.Taskclean = => BasicScalaProject.this.TaskcleanAction
	lazy val BasicScalaProject.this.MethodTaskrun = => BasicScalaProject.this.MethodTaskrunAction
	lazy val BasicScalaProject.this.TaskconsoleQuick = => BasicScalaProject.this.TaskconsoleQuickAction
	lazy val BasicScalaProject.this.Taskconsole = => BasicScalaProject.this.TaskconsoleAction
	lazy val BasicScalaProject.this.Taskdoc = => BasicScalaProject.this.TaskdocAction
	lazy val BasicScalaProject.this.TaskdocTest = => BasicScalaProject.this.TaskdocTestAction
	lazy val BasicScalaProject.this.Tasktest = => BasicScalaProject.this.TasktestAction
	lazy val BasicScalaProject.this.Task`package` = => BasicScalaProject.this.TaskpackageAction
	lazy val BasicScalaProject.this.TaskpackageTest = => BasicScalaProject.this.TaskpackageTestAction
	lazy val BasicScalaProject.this.TaskpackageDocs = => BasicScalaProject.this.TaskpackageDocsAction
	lazy val BasicScalaProject.this.TaskpackageSrc = => BasicScalaProject.this.TaskpackageSrcAction
	lazy val BasicScalaProject.this.TaskpackageTestSrc = => BasicScalaProject.this.TaskpackageTestSrcAction
	lazy val BasicScalaProject.this.TaskpackageProject = => BasicScalaProject.this.TaskpackageProjectAction
	lazy val BasicScalaProject.this.TaskdocAll = => BasicScalaProject.this.TaskdocAllAction
	lazy val BasicScalaProject.this.TaskpackageAll = => BasicScalaProject.this.TaskpackageAllAction
	lazy val BasicScalaProject.this.Taskgraph = => BasicScalaProject.this.TaskgraphAction
	lazy val BasicScalaProject.this.TaskincrementVersion = => BasicScalaProject.this.TaskincrementVersionAction
	lazy val BasicScalaProject.this.Taskrelease = => BasicScalaProject.this.TaskreleaseAction

	lazy val BasicScalaProject.this.MethodTasktestQuick = => BasicScalaProject.this.MethodTasktestQuickAction
	lazy val BasicScalaProject.this.MethodTasktestFailed = => BasicScalaProject.this.MethodTasktestFailedAction
	lazy val BasicScalaProject.this.MethodTasktestOnly = => BasicScalaProject.this.MethodTasktestOnlyAction
	
	def => sbt.PathFinderjarsOfProjectDependencies = object sbt.PathPath.(=> Iterable[sbt.Path])sbt.PathFinderlazyPathFinder {
		=> List[sbt.Project]topologicalSort.(Int)List[sbt.Project]dropRight(Int(1)1) ((sbt.Project) => Iterable[sbt.Path])List[sbt.Path]flatMap { sbt.Projectp =>
			sbt.Projectp Iterable[sbt.Path]match
			{
				List[sbt.Path]case sbt.BasicProjectPathsbpp: sbt.BasicProjectPathsBasicProjectPaths => (sbt.Path*)List[sbt.Path]List(sbt.BasicProjectPathsbpp.=> sbt.PathoutputPath (String)sbt.Path/ sbt.BasicProjectPathsbpp.=> java.lang.StringdefaultJarName)
				Nil.typecase _ => object NilNil
			}
		}
	}
	
	/** The directories to which a project writes are listed here and is used
	* to check a project and its dependencies for collisions.*/
	override def => List[sbt.Path]outputDirectories = => sbt.PathoutputPath (sbt.Path)List[sbt.Path]:: => sbt.PathmanagedDependencyPath (sbt.Path)List[sbt.Path]:: object NilNil
}
abstract class class BasicWebScalaProject extends sbt.BasicScalaProject with sbt.WebScalaProject with sbt.WebProjectPaths with ScalaObjectBasicWebScalaProject extends sbt.BasicScalaProjectBasicScalaProject with sbt.WebScalaProjectWebScalaProject with sbt.WebProjectPathsWebProjectPaths
{
	import BasicWebScalaProject._
	
	lazy val BasicWebScalaProject.this.TaskprepareWebapp = => BasicWebScalaProject.this.TaskprepareWebappAction
	protected def => BasicWebScalaProject.this.TaskprepareWebappAction =
		(sbt.PathFinder,=> sbt.Path,sbt.PathFinder,=> Iterable[java.io.File])BasicWebScalaProject.this.TaskprepareWebappTask((sbt.PathFinder,sbt.FileFilter)sbt.PathFinderdescendents(=> sbt.PathwebappPath => sbt.Path##, implicit sbt.Project.filter : (String)sbt.NameFilter"*") (sbt.PathFinder)sbt.PathFinder+++ => sbt.PathFinderextraWebappFiles, => sbt.PathtemporaryWarPath, => sbt.PathFinderrunClasspath, => Iterable[java.io.File]scalaJars) (BasicWebScalaProject.this.ManagedTask*)BasicWebScalaProject.this.TaskdependsOn(=> BasicWebScalaProject.this.Taskcompile)
	/** Additional files to include in the web application. */
	protected def => sbt.PathFinderextraWebappFiles: sbt.PathFinderPathFinder = object sbt.PathPath.=> sbt.PathFinderemptyPathFinder
	
	lazy val BasicWebScalaProject.this.TaskjettyRun = => BasicWebScalaProject.this.TaskjettyRunAction
	protected def => BasicWebScalaProject.this.TaskjettyRunAction =
		(=> sbt.Path,=> String,sbt.PathFinder,String,Seq[java.io.File],Int)BasicWebScalaProject.this.TaskjettyRunTask(=> sbt.PathtemporaryWarPath, => java.lang.StringjettyContextPath, => sbt.PathFindertestClasspath, java.lang.String("test")"test", => Seq[sbt.Path]scanDirectories.((sbt.Path) => java.io.File)Seq[java.io.File]map(sbt.Path_.=> java.io.FileasFile), => IntscanInterval) (BasicWebScalaProject.this.ManagedTask*)BasicWebScalaProject.this.TaskdependsOn(=> BasicWebScalaProject.this.TaskprepareWebapp) (String)BasicWebScalaProject.this.TaskdescribedAs(=> java.lang.StringJettyRunDescription)
		
	/** The directories that should be watched to determine if the web application needs to be reloaded..*/
	def => Seq[sbt.Path]scanDirectories: Seq[sbt.Path]Seq[Path] = => sbt.PathtemporaryWarPath (sbt.Path)List[sbt.Path]:: object NilNil
	/** The time in seconds between scans that check whether the web application should be reloaded.*/
	def => IntscanInterval: IntInt = Int(3)3

	lazy val BasicWebScalaProject.this.TaskjettyRestart = => BasicWebScalaProject.this.TaskjettyStop (BasicWebScalaProject.this.Task)BasicWebScalaProject.this.Task&& => BasicWebScalaProject.this.TaskjettyRun
	lazy val BasicWebScalaProject.this.TaskjettyStop = => BasicWebScalaProject.this.TaskjettyStopAction
	protected def => BasicWebScalaProject.this.TaskjettyStopAction = => BasicWebScalaProject.this.TaskjettyStopTask (String)BasicWebScalaProject.this.TaskdescribedAs(=> java.lang.StringJettyStopDescription)
	
	/** The clean action for a web project is modified so that it first stops jetty if it is running,
	* since the webapp directory will be removed by the clean.*/
	override def => BasicWebScalaProject.this.TaskcleanAction = super.=> BasicWebScalaProject.this.TaskcleanAction (BasicWebScalaProject.this.ManagedTask*)BasicWebScalaProject.this.TaskdependsOn => BasicWebScalaProject.this.TaskjettyStop
	
	override protected def => BasicWebScalaProject.this.TaskpackageAction = (sbt.PathFinder,sbt.Path,=> String,=> Seq[BasicWebScalaProject.this.PackageOption])BasicWebScalaProject.this.TaskpackageTask((sbt.PathFinder,sbt.FileFilter)sbt.PathFinderdescendents(=> sbt.PathtemporaryWarPath => sbt.Path##, implicit sbt.Project.filter : (String)sbt.NameFilter"*"), => sbt.PathoutputPath,
		=> java.lang.StringdefaultWarName, object NilNil) (BasicWebScalaProject.this.ManagedTask*)BasicWebScalaProject.this.TaskdependsOn(=> BasicWebScalaProject.this.TaskprepareWebapp) (String)BasicWebScalaProject.this.TaskdescribedAs => java.lang.StringPackageWarDescription
}

object object sbt.BasicScalaProjectBasicScalaProject
{
	val java.lang.StringCleanDescription =
		java.lang.String("Deletes all generated files (the target directory).")"Deletes all generated files (the target directory)."
	val java.lang.StringMainCompileDescription =
		java.lang.String("Compiles main sources.")"Compiles main sources."
	val java.lang.StringTestCompileDescription =
		java.lang.String("Compiles test sources.")"Compiles test sources."
	val java.lang.StringTestDescription =
		java.lang.String("Runs all tests detected during compilation.")"Runs all tests detected during compilation."
	val java.lang.StringTestOnlyDescription =
		java.lang.String("Runs the tests provided as arguments.")"Runs the tests provided as arguments."
	val java.lang.StringTestFailedDescription =
		java.lang.String("Runs the tests provided as arguments if they have not succeeded.")"Runs the tests provided as arguments if they have not succeeded."
	val java.lang.StringTestQuickDescription =
		java.lang.String("Runs the tests provided as arguments if they have not succeeded or their dependencies changed.")"Runs the tests provided as arguments if they have not succeeded or their dependencies changed."
	val java.lang.StringDocDescription =
		java.lang.String("Generates API documentation for main Scala source files using scaladoc.")"Generates API documentation for main Scala source files using scaladoc."
	val java.lang.StringTestDocDescription =
		java.lang.String("Generates API documentation for test Scala source files using scaladoc.")"Generates API documentation for test Scala source files using scaladoc."
	val java.lang.StringRunDescription =
		java.lang.String("Runs the main class specified for the project or starts the console if main class is not specified.")"Runs the main class specified for the project or starts the console if main class is not specified."
	val java.lang.StringConsoleDescription =
		java.lang.String("Starts the Scala interpreter with the project classes on the classpath.")"Starts the Scala interpreter with the project classes on the classpath."
	val java.lang.StringConsoleQuickDescription =
		java.lang.String("Starts the Scala interpreter with the project classes on the classpath without running compile first.")"Starts the Scala interpreter with the project classes on the classpath without running compile first."
	val java.lang.StringPackageDescription =
		java.lang.String("Creates a jar file containing main classes and resources.")"Creates a jar file containing main classes and resources."
	val java.lang.StringTestPackageDescription =
		java.lang.String("Creates a jar file containing test classes and resources.")"Creates a jar file containing test classes and resources."
	val java.lang.StringDocPackageDescription =
		java.lang.String("Creates a jar file containing generated API documentation.")"Creates a jar file containing generated API documentation."
	val java.lang.StringSourcePackageDescription =
		java.lang.String("Creates a jar file containing all main source files and resources.")"Creates a jar file containing all main source files and resources."
	val java.lang.StringTestSourcePackageDescription =
		java.lang.String("Creates a jar file containing all test source files and resources.")"Creates a jar file containing all test source files and resources."
	val java.lang.StringProjectPackageDescription =
		java.lang.String("Creates a zip file containing the entire project, excluding generated files.")"Creates a zip file containing the entire project, excluding generated files."
	val java.lang.StringPackageAllDescription =
		java.lang.String("Executes all package tasks except package-project.")"Executes all package tasks except package-project."
	val java.lang.StringDocAllDescription =
		java.lang.String("Generates both main and test documentation.")"Generates both main and test documentation."
	val java.lang.StringIncrementVersionDescription =
		java.lang.String("Increments the micro part of the version (the third number) by one. (This is only valid for versions of the form #.#.#-*)")"Increments the micro part of the version (the third number) by one. (This is only valid for versions of the form #.#.#-*)"
	val java.lang.StringReleaseDescription =
		java.lang.String("Compiles, tests, generates documentation, packages, and increments the version.")"Compiles, tests, generates documentation, packages, and increments the version."
		
	lazy val scala.collection.immutable.Set[java.lang.String]ScalaJarNames = (java.lang.String*)scala.collection.immutable.Set[java.lang.String]Set(java.lang.String("scala-library.jar")"scala-library.jar", java.lang.String("scala-compiler.jar")"scala-compiler.jar")
}
object object sbt.BasicWebScalaProjectBasicWebScalaProject
{
	val java.lang.StringPackageWarDescription =
		java.lang.String("Creates a war file.")"Creates a war file."
	val java.lang.StringJettyStopDescription =
		java.lang.String("Stops the Jetty server that was started with the jetty-run action.")"Stops the Jetty server that was started with the jetty-run action."
	val java.lang.StringJettyRunDescription =
		java.lang.String("Starts the Jetty server and serves this project as a web application.")"Starts the Jetty server and serves this project as a web application."
}
trait trait BasicProjectPaths extends java.lang.Object with sbt.Project with ScalaObjectBasicProjectPaths extends sbt.ProjectProject
{
	import BasicProjectPaths._
	
	def => java.lang.StringdefaultJarBaseName = => Stringname (Any)java.lang.String+ java.lang.String("-")"-" (Any)java.lang.String+ => sbt.Versionversion.()java.lang.StringtoString
	def => java.lang.StringdefaultJarName = => java.lang.StringdefaultJarBaseName (Any)java.lang.String+ java.lang.String(".jar")".jar"
	def => java.lang.StringdefaultWarName = => java.lang.StringdefaultJarBaseName (Any)java.lang.String+ java.lang.String(".war")".war"
	
	def => java.lang.StringsourceDirectoryName = => java.lang.StringDefaultSourceDirectoryName
	def => java.lang.StringmainDirectoryName = => java.lang.StringDefaultMainDirectoryName
	def => java.lang.StringscalaDirectoryName = => java.lang.StringDefaultScalaDirectoryName
	def => java.lang.StringresourcesDirectoryName = => java.lang.StringDefaultResourcesDirectoryName
	def => java.lang.StringtestDirectoryName = => java.lang.StringDefaultTestDirectoryName
	def => java.lang.StringmainCompileDirectoryName = => java.lang.StringDefaultMainCompileDirectoryName
	def => java.lang.StringtestCompileDirectoryName = => java.lang.StringDefaultTestCompileDirectoryName
	def => java.lang.StringdocDirectoryName = => java.lang.StringDefaultDocDirectoryName
	def => java.lang.StringapiDirectoryName = => java.lang.StringDefaultAPIDirectoryName
	def => java.lang.StringgraphDirectoryName = => java.lang.StringDefaultGraphDirectoryName
	def => java.lang.StringmainAnalysisDirectoryName = => java.lang.StringDefaultMainAnalysisDirectoryName
	def => java.lang.StringtestAnalysisDirectoryName = => java.lang.StringDefaultTestAnalysisDirectoryName
	
	def => sbt.PathsourcePath = implicit sbt.Project.path : (String)sbt.Pathpath(=> java.lang.StringsourceDirectoryName)
	def => sbt.PathbootPath = implicit sbt.Project.path : (String)sbt.Pathpath(=> java.lang.StringBootDirectoryName)
	
	def => sbt.PathmainSourcePath = => sbt.PathsourcePath (String)sbt.Path/ => java.lang.StringmainDirectoryName
	def => sbt.PathmainScalaSourcePath = => sbt.PathmainSourcePath (String)sbt.Path/ => java.lang.StringscalaDirectoryName
	def => sbt.PathmainResourcesPath = => sbt.PathmainSourcePath (String)sbt.Path/ => java.lang.StringresourcesDirectoryName
	def => sbt.PathmainDocPath = => sbt.PathdocPath (String)sbt.Path/ => java.lang.StringmainDirectoryName (String)sbt.Path/ => java.lang.StringapiDirectoryName
	def => sbt.PathmainCompilePath = => sbt.PathoutputPath (String)sbt.Path/ => java.lang.StringmainCompileDirectoryName
	def => sbt.PathmainAnalysisPath = => sbt.PathoutputPath (String)sbt.Path/ => java.lang.StringmainAnalysisDirectoryName
	
	def => sbt.PathtestSourcePath = => sbt.PathsourcePath (String)sbt.Path/ => java.lang.StringtestDirectoryName
	def => sbt.PathtestScalaSourcePath = => sbt.PathtestSourcePath (String)sbt.Path/ => java.lang.StringscalaDirectoryName
	def => sbt.PathtestResourcesPath = => sbt.PathtestSourcePath (String)sbt.Path/ => java.lang.StringresourcesDirectoryName
	def => sbt.PathtestDocPath = => sbt.PathdocPath (String)sbt.Path/ => java.lang.StringtestDirectoryName (String)sbt.Path/ => java.lang.StringapiDirectoryName
	def => sbt.PathtestCompilePath = => sbt.PathoutputPath (String)sbt.Path/ => java.lang.StringtestCompileDirectoryName
	def => sbt.PathtestAnalysisPath = => sbt.PathoutputPath (String)sbt.Path/ => java.lang.StringtestAnalysisDirectoryName
	
	def => sbt.PathdocPath = => sbt.PathoutputPath (String)sbt.Path/ => java.lang.StringdocDirectoryName
	def => sbt.PathgraphPath = => sbt.PathoutputPath (String)sbt.Path/ => java.lang.StringgraphDirectoryName
}
object object sbt.BasicProjectPathsBasicProjectPaths
{
	val java.lang.StringDefaultSourceDirectoryName = java.lang.String("src")"src"
	val java.lang.StringDefaultMainCompileDirectoryName = java.lang.String("classes")"classes"
	val java.lang.StringDefaultTestCompileDirectoryName = java.lang.String("test-classes")"test-classes"
	val java.lang.StringDefaultDocDirectoryName = java.lang.String("doc")"doc"
	val java.lang.StringDefaultAPIDirectoryName = java.lang.String("api")"api"
	val java.lang.StringDefaultGraphDirectoryName = java.lang.String("graph")"graph"
	val java.lang.StringDefaultMainAnalysisDirectoryName = java.lang.String("analysis")"analysis"
	val java.lang.StringDefaultTestAnalysisDirectoryName = java.lang.String("test-analysis")"test-analysis"
	
	val java.lang.StringDefaultMainDirectoryName = java.lang.String("main")"main"
	val java.lang.StringDefaultScalaDirectoryName = java.lang.String("scala")"scala"
	val java.lang.StringDefaultResourcesDirectoryName = java.lang.String("resources")"resources"
	val java.lang.StringDefaultTestDirectoryName = java.lang.String("test")"test"
	
	// forwarders to new locations
	def => java.lang.StringBootDirectoryName = object sbt.ProjectProject.=> java.lang.StringBootDirectoryName
	def => java.lang.StringDefaultManagedDirectoryName = object sbt.BasicDependencyPathsBasicDependencyPaths.=> java.lang.StringDefaultManagedDirectoryName
	def => java.lang.StringDefaultDependencyDirectoryName = object sbt.BasicDependencyPathsBasicDependencyPaths.=> java.lang.StringDefaultDependencyDirectoryName
}
trait trait WebProjectPaths extends java.lang.Object with sbt.BasicProjectPaths with ScalaObjectWebProjectPaths extends sbt.BasicProjectPathsBasicProjectPaths
{
	import WebProjectPaths._
	def => sbt.PathtemporaryWarPath = implicit sbt.Project.path : (String)sbt.PathoutputDirectoryName (String)sbt.Path/ => java.lang.StringwebappDirectoryName
	def => sbt.PathwebappPath = => sbt.PathmainSourcePath (String)sbt.Path/ => java.lang.StringwebappDirectoryName
	def => java.lang.StringwebappDirectoryName = => java.lang.StringDefaultWebappDirectoryName
	def => java.lang.StringjettyContextPath = => java.lang.StringDefaultJettyContextPath
}
object object sbt.WebProjectPathsWebProjectPaths
{
	val java.lang.StringDefaultWebappDirectoryName = java.lang.String("webapp")"webapp"
	val java.lang.StringDefaultJettyContextPath = java.lang.String("/")"/"
}