aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--stage1/resolver.scala9
-rw-r--r--stage2/BasicBuild.scala1
-rw-r--r--stage2/BuildDependency.scala1
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{