     typealias BuildValue = DriverBuildValue
     typealias BuildRule = ExecuteJobRule
 
-    let job: Job
+    let index: Int
   }
 
   override class var ruleName: String { "\(ExecuteJobRule.self)" }

      env: env,
      fileSystem: fileSystem,
      producerMap: producerMap,
      executorDelegate: executorDelegate,
      jobQueue: jobQueue,
      processSet: processSet,

  /// The context required during job execution.
  struct Context {

    /// This contains mapping from an output to the index(in the jobs array) of the job that produces that output.
    let producerMap: [VirtualPath: Int]

    /// All the jobs being executed.
    let jobs: [Job]

    /// The resolver for argument template.
    let argsResolver: ArgsResolver
