aboutsummaryrefslogtreecommitdiff
path: root/stage1/resolver.scala
diff options
context:
space:
mode:
authorChristopher Vogt <oss.nsp@cvogt.org>2016-04-02 14:49:16 -0400
committerChristopher Vogt <oss.nsp@cvogt.org>2016-04-02 14:51:10 -0400
commitb9f8ff66c9e61daab016cc8e595f388f449ec780 (patch)
treeaa033dc361e71dd2b074234b5dcce46a620cb842 /stage1/resolver.scala
parent81cdf3b38d0b8c89a814328e517b9023a0400549 (diff)
downloadcbt-b9f8ff66c9e61daab016cc8e595f388f449ec780.tar.gz
cbt-b9f8ff66c9e61daab016cc8e595f388f449ec780.tar.bz2
cbt-b9f8ff66c9e61daab016cc8e595f388f449ec780.zip
Properly cache classloader for stage2 and make CbtDependency work correctly.
This fixes the issues with crashes loading stage2 introduces in 57de43907e05d4cd3986e2994e0e3bff93e09b4e. Also should be faster when using nailgun.
Diffstat (limited to 'stage1/resolver.scala')
-rw-r--r--stage1/resolver.scala25
1 files changed, 14 insertions, 11 deletions
diff --git a/stage1/resolver.scala b/stage1/resolver.scala
index c8d2ee4..2e8ef15 100644
--- a/stage1/resolver.scala
+++ b/stage1/resolver.scala
@@ -85,7 +85,7 @@ abstract class Dependency{
)
}
- def actual(current: Dependency, latest: Map[(String,String),Dependency]) = current match {
+ private def actual(current: Dependency, latest: Map[(String,String),Dependency]) = current match {
case d: ArtifactInfo => latest((d.groupId,d.artifactId))
case d => d
}
@@ -228,25 +228,28 @@ case class Stage1Dependency()(implicit val logger: Logger) extends Dependency{
ClassLoader.getSystemClassLoader
}
*/
- override def exportedClasspath = ClassPath(Seq(nailgunTarget, stage1Target) )
+ override def targetClasspath = exportedClasspath
+ override def exportedClasspath = ClassPath( Seq(nailgunTarget, stage1Target) )
override def exportedJars = ???//Seq[File]()
- override def dependencies = ScalaDependencies(constants.scalaVersion).dependencies
- def targetClasspath = exportedClasspath
+ override def dependencies = Seq(
+ JavaDependency("org.scala-lang","scala-library",constants.scalaVersion),
+ JavaDependency("org.scala-lang.modules","scala-xml_"+constants.scalaMajorVersion,"1.0.5")
+ )
+ // FIXME: implement sanity check to prevent using incompatible scala-library and xml version on cp
+ override def classLoaderRecursion( latest: Map[(String,String),Dependency], cache: ClassLoaderCache )
+ = getClass.getClassLoader
}
case class CbtDependency()(implicit val logger: Logger) extends Dependency{
+ def needsUpdate = false // FIXME: think this through, might allow simplifications and/or optimizations
override def canBeCached = false
+ override def targetClasspath = exportedClasspath
override def exportedClasspath = ClassPath( Seq( stage2Target ) )
- override def exportedJars = Seq[File]()
+ override def exportedJars = ???
override def dependencies = Seq(
Stage1Dependency(),
JavaDependency("net.incongru.watchservice","barbary-watchservice","1.0"),
- JavaDependency("org.eclipse.jgit", "org.eclipse.jgit", "4.2.0.201601211800-r"),
- lib.ScalaDependency(
- "org.scala-lang.modules","scala-xml","1.0.5", scalaVersion = constants.scalaMajorVersion
- )
+ JavaDependency("org.eclipse.jgit", "org.eclipse.jgit", "4.2.0.201601211800-r")
)
- def needsUpdate = false // FIXME: think this through, might allow simplifications and/or optimizations
- def targetClasspath = exportedClasspath
}
case class Classifier(name: Option[String])