aboutsummaryrefslogblamecommitdiff
path: root/stage2/BuildDependency.scala
blob: aba35c619f87d29c81790d5e2ad707b9c289aba1 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12

                   









                                                    

                                                            



                                                                                         
                                                                                                  



                                                             
                                     

                                              
                                                    
                                   

  
                                                                                                                      
                                                               



                                                                      
package cbt
import java.io.File
/*
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 DependencyImplementation{
  final def triggerLoopFilesArray = triggerLoopFiles.toArray
  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.projectDirectory.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()
  def dependencies = Seq(build)
  def triggerLoopFiles = root.triggerLoopFiles
  override final val needsUpdate = build.needsUpdate
  def targetClasspath = ClassPath()
}
/*
case class DependencyOr(first: BuildDependency, second: JavaDependency) extends ProjectProxy with BuildDependencyBase{
  val isFirst = new File(first.context.projectDirectory).exists
  def triggerLoopFiles = if(isFirst) first.triggerLoopFiles else Seq()
  protected val delegate = if(isFirst) first else second
}
*/