From 7254885162ce92b8a5bc02e6125abe63a7dc3a4f Mon Sep 17 00:00:00 2001 From: Mark Harrah Date: Sun, 21 Feb 2010 20:20:48 -0500 Subject: [PATCH] cleanup --- src/main/scala/sbt/BasicProjectTypes.scala | 11 ++++++----- src/main/scala/sbt/Main.scala | 7 ++++--- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/src/main/scala/sbt/BasicProjectTypes.scala b/src/main/scala/sbt/BasicProjectTypes.scala index 0856079db..ead69c76e 100644 --- a/src/main/scala/sbt/BasicProjectTypes.scala +++ b/src/main/scala/sbt/BasicProjectTypes.scala @@ -29,6 +29,9 @@ trait ClasspathProject extends Project } set.toList } + /* Filter used to select dependencies for the classpath from managed and unmanaged directories. + * By default, it explicitly filters (x)sbt-launch(er)-.jar, since it contains minified versions of various classes.*/ + def classpathFilter: FileFilter = "*.jar" - "*sbt-launch*.jar" } trait BasicDependencyProject extends BasicManagedProject with UnmanagedClasspathProject { @@ -43,14 +46,12 @@ trait UnmanagedClasspathProject extends ClasspathProject /** The classpath containing all jars in the unmanaged directory. */ def unmanagedClasspath: PathFinder = { - val base = descendents(dependencyPath, jarFilter) + val base = descendents(dependencyPath, classpathFilter) if(scratch) - base +++ (info.projectPath * jarFilter) + base +++ (info.projectPath * classpathFilter) else base } - /* Explicitly filter (x)sbt-launch(er)-.jar, since it contains minified versions of various classes.*/ - private def jarFilter: NameFilter = "*.jar" - "*sbt-launch*.jar" /** The classpath containing all unmanaged classpath elements for the given configuration. This typically includes * at least 'unmanagedClasspath'.*/ def fullUnmanagedClasspath(config: Configuration): PathFinder @@ -123,7 +124,7 @@ trait ManagedProject extends ClasspathProject with IvyTasks def managedClasspath(config: Configuration): PathFinder = configurationClasspath(config) /** All dependencies in the given configuration. */ final def configurationClasspath(config: Configuration): PathFinder = descendents(configurationPath(config), classpathFilter) - def classpathFilter: FileFilter = "*.jar" + /** The base path to which dependencies in configuration 'config' are downloaded.*/ def configurationPath(config: Configuration): Path = managedDependencyPath / config.toString diff --git a/src/main/scala/sbt/Main.scala b/src/main/scala/sbt/Main.scala index 7ba273dce..5cbf0fe21 100755 --- a/src/main/scala/sbt/Main.scala +++ b/src/main/scala/sbt/Main.scala @@ -135,7 +135,10 @@ class xMain extends xsbti.AppMain def rememberCurrent(newArgs: List[String]) = rememberProject(rememberFail(newArgs)) def rememberProject(newArgs: List[String]) = if(baseProject.name != project.name) (ProjectAction + " " + project.name) :: newArgs else newArgs def rememberFail(newArgs: List[String]) = failAction.map(f => (FailureHandlerPrefix + f)).toList ::: newArgs + def tryOrFail(action: => Trampoline) = try { action } catch { case e: Exception => logCommandError(project.log, e); failed(BuildErrorExitCode) } + def reload(newID: ApplicationID, args: List[String]) = + result( new Reboot(project.defScalaVersion.value, rememberCurrent(args), newID, configuration.baseDirectory) ) def failed(code: Int) = failAction match { @@ -147,9 +150,7 @@ class xMain extends xsbti.AppMain { case "" :: tail => continue(project, tail, failAction) case (ExitCommand | QuitCommand) :: _ => result( Exit(NormalExitCode) ) - case RebootCommand :: tail => - val newID = new ApplicationID(configuration.provider.id, baseProject.sbtVersion.value) - result( new Reboot(project.defScalaVersion.value, rememberCurrent(tail), newID, configuration.baseDirectory) ) + case RebootCommand :: tail => reload( new ApplicationID(configuration.provider.id, baseProject.sbtVersion.value), tail ) case InteractiveCommand :: _ => continue(project, prompt(baseProject, project) :: arguments, interactiveContinue) case SpecificBuild(version, action) :: tail => if(Some(version) != baseProject.info.buildScalaVersion)