def _task_gen_factory(self, name, target, sources, env): sources = self.to_nodes(sources) task_gen = TaskGen(name, self.ctx, sources, target) task_gen.env = _merge_env(self.env, env) tasks = task_gen.process() for t in tasks: t.env = task_gen.env self.ctx.tasks.extend(tasks) outputs = tasks[0].outputs[:] return outputs