def _run_step(self, step, part, part_names, dirty, recursed): common.reset_env() prereqs = self.config.part_prereqs(part.name) if recursed: prereqs = prereqs & dirty if prereqs and not prereqs.issubset(part_names): for prereq in self.config.all_parts: if prereq.name in prereqs and prereq.should_step_run('stage'): raise RuntimeError( 'Requested {!r} of {!r} but there are unsatisfied ' 'prerequisites: {!r}'.format( step, part.name, ' '.join(prereqs))) elif prereqs: # prerequisites need to build all the way to the staging # step to be able to share the common assets that make them # a dependency. logger.info( '{!r} has prerequisites that need to be staged: ' '{}'.format(part.name, ' '.join(prereqs))) self.run('stage', prereqs, recursed=True) if part.is_dirty(step): self._handle_dirty(part, step) if not part.should_step_run(step): part.notify_part_progress('Skipping {}'.format(step), '(already ran)') return # Run the preparation function for this step (if implemented) with contextlib.suppress(AttributeError): getattr(part, 'prepare_{}'.format(step))() common.env = self.config.build_env_for_part(part) getattr(part, step)()
def _run_step(self, step, part, part_names, dirty, recursed): common.reset_env() prereqs = self.config.part_prereqs(part.name) if recursed: prereqs = prereqs & dirty if prereqs and not prereqs.issubset(part_names): raise RuntimeError( 'Requested {!r} of {!r} but there are unsatisfied ' 'prerequisites: {!r}'.format(step, part.name, ' '.join(prereqs))) elif prereqs: # prerequisites need to build all the way to the staging # step to be able to share the common assets that make them # a dependency. logger.info('{!r} has prerequisites that need to be staged: ' '{}'.format(part.name, ' '.join(prereqs))) self.run('stage', prereqs, recursed=True) common.env = self.config.build_env_for_part(part) getattr(part, step)()
def _run_step(self, step, part, part_names, dirty, recursed): common.reset_env() prereqs = self.config.part_prereqs(part.name) if recursed: prereqs = prereqs & dirty if prereqs and not prereqs.issubset(part_names): raise RuntimeError( 'Requested {!r} of {!r} but there are unsatisfied ' 'prerequisites: {!r}'.format( step, part.name, ' '.join(prereqs))) elif prereqs: # prerequisites need to build all the way to the staging # step to be able to share the common assets that make them # a dependency. logger.info( '{!r} has prerequisites that need to be staged: ' '{}'.format(part.name, ' '.join(prereqs))) self.run('stage', prereqs, recursed=True) common.env = self.config.build_env_for_part(part) getattr(part, step)()