示例#1
0
 def next_step(self):
     latest_step = None
     with contextlib.suppress(errors.NoLatestStepError):
         latest_step = self.latest_step()
     next_step = steps.next_step(latest_step)
     if not next_step:
         raise errors.NoNextStepError(self.name)
     return next_step
示例#2
0
 def next_step(self):
     latest_step = None
     with contextlib.suppress(errors.NoLatestStepError):
         latest_step = self.latest_step()
     next_step = steps.next_step(latest_step)
     if not next_step:
         raise errors.NoNextStepError(self.name)
     return next_step
示例#3
0
def _cleanup_common_directories(config, project_options):
    max_step = None
    for part in config.all_parts:
        with contextlib.suppress(errors.NoLatestStepError):
            step = part.latest_step()
            if not max_step or step > max_step:
                max_step = step

    next_step = steps.next_step(max_step)
    if next_step:
        _cleanup_common_directories_for_step(next_step, project_options)
示例#4
0
文件: _clean.py 项目: mvo5/snapcraft
def _cleanup_common_directories(config, project_options):
    max_step = None
    for part in config.all_parts:
        with contextlib.suppress(errors.NoLatestStepError):
            step = part.latest_step()
            if not max_step or step > max_step:
                max_step = step

    next_step = steps.next_step(max_step)
    if next_step:
        _cleanup_common_directories_for_step(next_step, project_options)
示例#5
0
    def mark_dependency_change(self, dependency_name, changed_step):
        if changed_step <= steps.STAGE:
            dirty_step = steps.next_step(None)
        else:
            dirty_step = changed_step

        state = states.get_state(self.plugin.statedir, dirty_step)
        if state:
            state.changed_dependencies.append({
                'name': dependency_name,
                'step': changed_step.name
            })
            self.mark_done(dirty_step, state)
            return True
        return False
示例#6
0
def _clean_parts(part_names, step, config, staged_state, primed_state):
    if not step:
        step = steps.next_step(None)

    for part_name in part_names:
        resulting_dirty_parts = _clean_part(part_name, step, config,
                                            staged_state, primed_state)

        parts_not_being_cleaned = resulting_dirty_parts.difference(part_names)
        if parts_not_being_cleaned:
            logger.warning(
                'Cleaned {!r}, which makes the following {} out of date: '
                '{}'.format(
                    part_name,
                    formatting_utils.pluralize(parts_not_being_cleaned, 'part',
                                               'parts'),
                    formatting_utils.humanize_list(parts_not_being_cleaned,
                                                   'and')))
示例#7
0
def _clean_parts(part_names, step, config, staged_state, primed_state):
    if not step:
        step = steps.next_step(None)

    for part_name in part_names:
        dirty_parts = _clean_part(part_name, step, config, staged_state, primed_state)
        dirty_part_names = {p.name for p in dirty_parts}

        parts_not_being_cleaned = dirty_part_names.difference(part_names)
        if parts_not_being_cleaned:
            logger.warning(
                "Cleaned {!r}, which makes the following {} out of date: "
                "{}".format(
                    part_name,
                    formatting_utils.pluralize(
                        parts_not_being_cleaned, "part", "parts"
                    ),
                    formatting_utils.humanize_list(parts_not_being_cleaned, "and"),
                )
            )
示例#8
0
文件: _clean.py 项目: mvo5/snapcraft
def _clean_parts(part_names, step, config, staged_state, primed_state):
    if not step:
        step = steps.next_step(None)

    for part_name in part_names:
        dirty_parts = _clean_part(part_name, step, config, staged_state, primed_state)
        dirty_part_names = {p.name for p in dirty_parts}

        parts_not_being_cleaned = dirty_part_names.difference(part_names)
        if parts_not_being_cleaned:
            logger.warning(
                "Cleaned {!r}, which makes the following {} out of date: "
                "{}".format(
                    part_name,
                    formatting_utils.pluralize(
                        parts_not_being_cleaned, "part", "parts"
                    ),
                    formatting_utils.humanize_list(parts_not_being_cleaned, "and"),
                )
            )
示例#9
0
 def test_next_step_handles_none(self):
     self.assertThat(steps.next_step(None), Equals(steps.PULL))