aboutsummaryrefslogtreecommitdiff
path: root/stage2/BuildDependency.scala
diff options
context:
space:
mode:
Diffstat (limited to 'stage2/BuildDependency.scala')
-rw-r--r--stage2/BuildDependency.scala36
1 files changed, 36 insertions, 0 deletions
diff --git a/stage2/BuildDependency.scala b/stage2/BuildDependency.scala
new file mode 100644
index 0000000..f7b6b78
--- /dev/null
+++ b/stage2/BuildDependency.scala
@@ -0,0 +1,36 @@
+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
+ final val updated = build.updated
+}
+/*
+case class DependencyOr(first: BuildDependency, second: MavenDependency) 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
+}
+*/ \ No newline at end of file