Join GitHub today
GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.
Support per-step clean command. #384
Conversation
sergiusens
reviewed
Mar 21, 2016
| - def mark_done(self, step): | ||
| + def mark_done(self, step, state=None): | ||
| + if not state: | ||
| + state = {} |
sergiusens
reviewed
Mar 21, 2016
| @@ -216,6 +228,11 @@ def stage(self, force=False): | ||
| self.mark_done('stage') | ||
| + def clean_stage(self): | ||
| + raise NotImplementedError( | ||
| + 'Cleaning up step "stage" for part "{}" is not yet ' |
sergiusens
reviewed
Mar 21, 2016
| @@ -228,13 +245,41 @@ def strip(self, force=False): | ||
| self.mark_done('strip') | ||
| + def clean_strip(self): | ||
| + raise NotImplementedError( | ||
| + 'Cleaning up step "strip" for part "{}" is not yet ' |
sergiusens
reviewed
Mar 21, 2016
| + def clean(self, step=None): | ||
| + if step and step not in common.COMMAND_ORDER: | ||
| + raise RuntimeError( | ||
| + '"{}" is not a valid step for part "{}"'.format( |
coveralls
commented
Mar 22, 2016
elopio
reviewed
Mar 22, 2016
| + self.manager_mock.assert_has_calls([ | ||
| + call.clean_strip({}), | ||
| + ]) | ||
| + |
elopio
reviewed
Mar 22, 2016
| @@ -227,6 +227,25 @@ def part_prereqs(self, part_name): | ||
| """Returns a set with all of part_names' prerequisites.""" | ||
| return set(self.after_requests.get(part_name, [])) | ||
| + def part_dependents(self, part_name): |
elopio
reviewed
Mar 22, 2016
| +def _reverse_dependency_tree(config, part_name): | ||
| + dependents = config.part_dependents(part_name) | ||
| + for dependent in dependents.copy(): | ||
| + dependents |= _reverse_dependency_tree(config, dependent) |
elopio
Mar 22, 2016
Member
a comment that this is never circular because the validation of the yaml forbids it will be handy for future developers looking at this code.
|
|
coveralls
commented
Mar 22, 2016
sergiusens
reviewed
Mar 22, 2016
| plugin_fileset = self.code.snap_fileset() | ||
| - fileset = getattr(self.code.options, stage, ['*']) or ['*'] | ||
| + fileset = getattr(self.code.options, step, ['*']) or ['*'] |
|
|
added a commit
that referenced
this pull request
Mar 22, 2016
kyrofa
merged commit 4f8e63a
into
snapcore:feature/1537786/per_step_cleaning
Mar 22, 2016
kyrofa
deleted the
kyrofa:feature/1537786/clean_command_per_step
branch
Mar 22, 2016
pushed a commit
to smoser/snapcraft
that referenced
this pull request
Sep 14, 2016
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
kyrofa commentedMar 21, 2016
This PR makes progress on LP: #1537786 by adding a --step argument to the clean command, cleaning reverse dependencies, and implementing per-step clean rules. All per-step clean rules are placeholders to be implemented in subsequent PRs.