aboutsummaryrefslogtreecommitdiff
path: root/stage1/resolver.scala
diff options
context:
space:
mode:
authorChristopher Vogt <oss.nsp@cvogt.org>2016-03-12 20:29:57 -0500
committerChristopher Vogt <oss.nsp@cvogt.org>2016-03-12 20:34:10 -0500
commit98e56e5773cc3dd4fe5b3f6f44b043c965c441ae (patch)
tree172512fd581a748e4ad17555ce99c743018a5322 /stage1/resolver.scala
parent5cab4822929157f97bf92659abb1b892748493d1 (diff)
downloadcbt-98e56e5773cc3dd4fe5b3f6f44b043c965c441ae.tar.gz
cbt-98e56e5773cc3dd4fe5b3f6f44b043c965c441ae.tar.bz2
cbt-98e56e5773cc3dd4fe5b3f6f44b043c965c441ae.zip
sort transitiveDependencies by exported classpath for hopefully more determinism between dev machines and circle ci
Diffstat (limited to 'stage1/resolver.scala')
-rw-r--r--stage1/resolver.scala9
1 files changed, 7 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 = {