diff options
-rw-r--r-- | stage1/resolver.scala | 9 | ||||
-rw-r--r-- | stage2/BasicBuild.scala | 1 | ||||
-rw-r--r-- | stage2/BuildDependency.scala | 1 |
3 files changed, 9 insertions, 2 deletions
diff --git a/stage1/resolver.scala b/stage1/resolver.scala index bba8a70..3ec806b 100644 --- a/stage1/resolver.scala +++ b/stage1/resolver.scala @@ -30,6 +30,7 @@ abstract class Dependency{ def updated: Boolean //def cacheClassLoader: Boolean = false + private[cbt] def targetClasspath: ClassPath def exportedClasspath: ClassPath def exportedJars: Seq[File] def jars: Seq[File] = exportedJars ++ dependencyJars @@ -135,7 +136,7 @@ abstract class Dependency{ case _ => true } noInfo ++ JavaDependency.removeOutdated( hasInfo ) - } + }.sortBy(_.targetClasspath.string) def show: String = this.getClass.getSimpleName // ========== debug ========== @@ -157,6 +158,7 @@ class ScalaReflectDependency (version: String)(implicit logger: Logger) extends case class ScalaDependencies(version: String)(implicit val logger: Logger) extends Dependency{ sd => final val updated = false override def canBeCached = true + def targetClasspath = ClassPath(Seq()) def exportedClasspath = ClassPath(Seq()) def exportedJars = Seq[File]() def dependencies = Seq( @@ -170,6 +172,7 @@ case class BinaryDependency( path: File, dependencies: Seq[Dependency] )(implici def updated = false def exportedClasspath = ClassPath(Seq(path)) def exportedJars = Seq[File](path) + def targetClasspath = exportedClasspath } case class Stage1Dependency()(implicit val logger: Logger) extends Dependency{ @@ -177,6 +180,7 @@ case class Stage1Dependency()(implicit val logger: Logger) extends Dependency{ def exportedJars = Seq[File]() def dependencies = ScalaDependencies(constants.scalaVersion).dependencies def updated = false // FIXME: think this through, might allow simplifications and/or optimizations + def targetClasspath = exportedClasspath } case class CbtDependency()(implicit val logger: Logger) extends Dependency{ def exportedClasspath = ClassPath( Seq( stage2Target ) ) @@ -192,6 +196,7 @@ case class CbtDependency()(implicit val logger: Logger) extends Dependency{ ) ) def updated = false // FIXME: think this through, might allow simplifications and/or optimizations + def targetClasspath = exportedClasspath } case class Classifier(name: Option[String]) @@ -224,7 +229,7 @@ case class JavaDependency( def exportedJars = Seq( jar ) def exportedClasspath = ClassPath( exportedJars ) - + def targetClasspath = exportedClasspath import scala.collection.JavaConversions._ def jarSha1 = { diff --git a/stage2/BasicBuild.scala b/stage2/BasicBuild.scala index 07c2c1e..93a55ca 100644 --- a/stage2/BasicBuild.scala +++ b/stage2/BasicBuild.scala @@ -118,6 +118,7 @@ class Build(val context: Context) extends Dependency with TriggerLoop{ override def dependencyJars : Seq[File] = localJars ++ super.dependencyJars def exportedClasspath : ClassPath = ClassPath(Seq(compile)) + def targetClasspath = ClassPath(Seq(compileTarget)) def exportedJars: Seq[File] = Seq() // ========== compile, run, test ========== diff --git a/stage2/BuildDependency.scala b/stage2/BuildDependency.scala index f400be7..84a0100 100644 --- a/stage2/BuildDependency.scala +++ b/stage2/BuildDependency.scala @@ -26,6 +26,7 @@ case class BuildDependency(context: Context) extends TriggerLoop{ def dependencies = Seq(build) def triggerLoopFiles = root.triggerLoopFiles final val updated = build.updated + def targetClasspath = ClassPath(Seq()) } /* case class DependencyOr(first: BuildDependency, second: JavaDependency) extends ProjectProxy with BuildDependencyBase{ |