From 8cc12a00684776a44a6a41ad4a31d045b09931b9 Mon Sep 17 00:00:00 2001 From: Mark Harrah Date: Mon, 8 Feb 2010 18:33:19 -0500 Subject: [PATCH] clean-plugins task and web/jsp test fix --- src/main/scala/sbt/BasicProjectTypes.scala | 2 +- src/main/scala/sbt/ScalaProject.scala | 46 ++++++++++++---------- src/sbt-test/web/jsp/changes/index.jsp | 2 +- 3 files changed, 27 insertions(+), 23 deletions(-) diff --git a/src/main/scala/sbt/BasicProjectTypes.scala b/src/main/scala/sbt/BasicProjectTypes.scala index afbbcadaa..83c168e3c 100644 --- a/src/main/scala/sbt/BasicProjectTypes.scala +++ b/src/main/scala/sbt/BasicProjectTypes.scala @@ -563,7 +563,7 @@ trait ReflectiveModules extends Project trait ReflectiveProject extends ReflectiveModules with ReflectiveTasks with ReflectiveMethods /** This Project subclass is used to contain other projects as dependencies.*/ -class ParentProject(val info: ProjectInfo) extends BasicDependencyProject +class ParentProject(val info: ProjectInfo) extends BasicDependencyProject with Cleanable { def dependencies: Iterable[Project] = info.dependencies ++ subProjects.values.toList /** The directories to which a project writes are listed here and is used diff --git a/src/main/scala/sbt/ScalaProject.scala b/src/main/scala/sbt/ScalaProject.scala index bbb3869b4..8b8d2c491 100644 --- a/src/main/scala/sbt/ScalaProject.scala +++ b/src/main/scala/sbt/ScalaProject.scala @@ -8,32 +8,12 @@ import java.io.File import java.util.jar.{Attributes, Manifest} import scala.collection.mutable.ListBuffer -trait SimpleScalaProject extends ExecProject +trait Cleanable extends Project { - def errorTask(message: String) = task{ Some(message) } - trait CleanOption extends ActionOption case class ClearAnalysis(analysis: TaskAnalysis[_, _, _]) extends CleanOption case class Preserve(paths: PathFinder) extends CleanOption - case class CompileOption(val asString: String) extends ActionOption - case class JavaCompileOption(val asString: String) extends ActionOption - - val Deprecation = CompileOption(CompileOptions.Deprecation) - val ExplainTypes = CompileOption("-explaintypes") - val Optimize = CompileOption("-optimise") - def Optimise = Optimize - val Verbose = CompileOption(CompileOptions.Verbose) - val Unchecked = CompileOption(CompileOptions.Unchecked) - val DisableWarnings = CompileOption("-nowarn") - def target(target: Target.Value) = CompileOption("-target:" + target) - object Target extends Enumeration - { - val Java1_5 = Value("jvm-1.5") - val Java1_4 = Value("jvm-1.4") - val Msil = Value("msil") - } - def cleanTask(paths: PathFinder, options: CleanOption*): Task = cleanTask(paths, options) def cleanTask(paths: PathFinder, options: => Seq[CleanOption]): Task = @@ -53,6 +33,30 @@ trait SimpleScalaProject extends ExecProject pathClean orElse restored } } + + lazy val cleanPlugins = cleanTask(info.pluginsOutputPath +++ info.pluginsManagedSourcePath +++ info.pluginsManagedDependencyPath) +} +trait SimpleScalaProject extends ExecProject with Cleanable +{ + def errorTask(message: String) = task{ Some(message) } + + case class CompileOption(val asString: String) extends ActionOption + case class JavaCompileOption(val asString: String) extends ActionOption + + val Deprecation = CompileOption(CompileOptions.Deprecation) + val ExplainTypes = CompileOption("-explaintypes") + val Optimize = CompileOption("-optimise") + def Optimise = Optimize + val Verbose = CompileOption(CompileOptions.Verbose) + val Unchecked = CompileOption(CompileOptions.Unchecked) + val DisableWarnings = CompileOption("-nowarn") + def target(target: Target.Value) = CompileOption("-target:" + target) + object Target extends Enumeration + { + val Java1_5 = Value("jvm-1.5") + val Java1_4 = Value("jvm-1.4") + val Msil = Value("msil") + } } trait ScalaProject extends SimpleScalaProject with FileTasks with MultiTaskProject with Exec { diff --git a/src/sbt-test/web/jsp/changes/index.jsp b/src/sbt-test/web/jsp/changes/index.jsp index 2a7d1f317..1725708c9 100644 --- a/src/sbt-test/web/jsp/changes/index.jsp +++ b/src/sbt-test/web/jsp/changes/index.jsp @@ -1,5 +1,5 @@ - <% out.println(" Hello World!"); %> + <% out.println(" Hello World 2!"); %> \ No newline at end of file