Пример #1
0
    def _rerun_step(self, *, step: steps.Step, part, progress, hint='',
                    prerequisite_step: steps.Step=steps.STAGE):
        staged_state = self.config.get_project_state(steps.STAGE)
        primed_state = self.config.get_project_state(steps.PRIME)

        # We need to clean this step, but if it involves cleaning any steps
        # upon which other parts depend, those parts need to be marked as dirty
        # so they can run again, taking advantage of the new dependency.
        dirty_parts = mark_dependents_dirty(part.name, step, self.config)

        # First clean the step, then run it again
        part.clean(staged_state, primed_state, step)

        for current_step in [step] + step.next_steps():
            self._dirty_reports[part.name][current_step] = None
            self._steps_run[part.name].discard(current_step)

        self._run_step(
            step=step, part=part, progress=progress, hint=hint,
            prerequisite_step=prerequisite_step)

        if dirty_parts:
            logger.warning(
                'The following {} now out of date: {}'.format(
                    formatting_utils.pluralize(
                        dirty_parts, 'part is', 'parts are'),
                    formatting_utils.humanize_list(dirty_parts, 'and')))
Пример #2
0
    def _rerun_step(self, *, step: steps.Step, part, progress, hint=""):
        staged_state = self.config.get_project_state(steps.STAGE)
        primed_state = self.config.get_project_state(steps.PRIME)

        # First clean the step, then run it again
        part.clean(staged_state, primed_state, step)

        # Uncache this and later steps since we just cleaned them: their status
        # has changed
        for current_step in [step] + step.next_steps():
            self._cache.clear_step(part, current_step)

        self._run_step(step=step, part=part, progress=progress, hint=hint)
Пример #3
0
    def _rerun_step(self, *, step: steps.Step, part, progress, hint=""):
        staged_state = self.config.get_project_state(steps.STAGE)
        primed_state = self.config.get_project_state(steps.PRIME)

        # First clean the step, then run it again
        part.clean(staged_state, primed_state, step)

        # Uncache this and later steps since we just cleaned them: their status
        # has changed
        for current_step in [step] + step.next_steps():
            self._cache.clear_step(part, current_step)

        self._run_step(step=step, part=part, progress=progress, hint=hint)