aboutsummaryrefslogtreecommitdiff
path: root/stage2/BuildDependency.scala
blob: e3a01c72429a1e1fec08e31ae406b6a0914bacc7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package cbt
import java.io.File
import scala.collection.immutable.Seq
/*
sealed abstract class ProjectProxy extends Ha{
  protected def delegate: ProjectMetaData
  def artifactId: String = delegate.artifactId
  def groupId: String = delegate.groupId
  def version: String = delegate.version
  def exportedClasspath = delegate.exportedClasspath
  def dependencies = Seq(delegate)
}
*/
trait TriggerLoop extends Dependency{
  def triggerLoopFiles: Seq[File]
}
/** You likely want to use the factory method in the BasicBuild class instead of this. */
case class BuildDependency(context: Context) extends TriggerLoop{
  override def show = this.getClass.getSimpleName ++ "(" ++ context.cwd.string ++ ")"
  final override lazy val logger = context.logger
  final override lazy val lib: Lib = new Lib(logger)
  private val root = lib.loadRoot( context.copy(args=Seq()) )
  lazy val build = root.finalBuild
  def exportedClasspath = ClassPath(Seq())
  def exportedJars = Seq()
  def dependencies = Seq(build)
  def triggerLoopFiles = root.triggerLoopFiles
  override final val needsUpdate = build.needsUpdate
  def targetClasspath = ClassPath(Seq())
}
/*
case class DependencyOr(first: BuildDependency, second: JavaDependency) extends ProjectProxy with BuildDependencyBase{
  val isFirst = new File(first.context.cwd).exists
  def triggerLoopFiles = if(isFirst) first.triggerLoopFiles else Seq()
  protected val delegate = if(isFirst) first else second
}
*/