summaryrefslogtreecommitdiff
path: root/crashboxd/src/main/scala/io/crashbox/ci/Builder.scala
diff options
context:
space:
mode:
Diffstat (limited to 'crashboxd/src/main/scala/io/crashbox/ci/Builder.scala')
-rw-r--r--crashboxd/src/main/scala/io/crashbox/ci/Builder.scala14
1 files changed, 4 insertions, 10 deletions
diff --git a/crashboxd/src/main/scala/io/crashbox/ci/Builder.scala b/crashboxd/src/main/scala/io/crashbox/ci/Builder.scala
index a6269e8..77998cd 100644
--- a/crashboxd/src/main/scala/io/crashbox/ci/Builder.scala
+++ b/crashboxd/src/main/scala/io/crashbox/ci/Builder.scala
@@ -13,16 +13,10 @@ import scala.concurrent.Future
import scala.util.{ Failure, Success }
-case class BuildId(id: String) extends AnyVal
-
-case class TaskId(buildId: String, taskIdx: Int) {
- override def toString = s"$buildId#$taskIdx"
-}
-
-class BuildSource[E <: Environment](
+class BuildSource[Env <: Environment, Id <: ExecutionId](
taskId: TaskId,
- taskDef: TaskDef[E],
- executor: Executor[E],
+ taskDef: TaskDef[Env],
+ executor: Executor[Env, Id],
mkdir: => File,
mkout: => OutputStream // TODO refactor this into a two-output stage
) extends GraphStage[SourceShape[Builder.BuildState]] {
@@ -35,7 +29,7 @@ class BuildSource[E <: Environment](
def createLogic(attributes: Attributes) = new GraphStageLogic(shape) with StageLogging {
implicit def ec = materializer.executionContext
- lazy val instance: Future[ExecutionId] = executor.start(
+ lazy val instance: Future[Id] = executor.start(
taskDef.environment,
taskDef.script,
mkdir,