diff options
author | James Ennis <james.ennis@codethink.co.uk> | 2019-08-16 15:47:22 +0100 |
---|---|---|
committer | James Ennis <james.ennis@codethink.co.uk> | 2019-08-27 12:12:13 +0100 |
commit | 4bf7cbd0566b547d29d1acab41f1ea6404253d47 (patch) | |
tree | d0e306b47be2b25c01b1aa2f5ebbb47f0fdefecb | |
parent | a94218bb5d37533551bcf24623d951b5a4463bf7 (diff) | |
download | buildstream-4bf7cbd0566b547d29d1acab41f1ea6404253d47.tar.gz |
cli.py: Implement --deps for artifact delete
-rw-r--r-- | src/buildstream/_frontend/cli.py | 7 | ||||
-rw-r--r-- | src/buildstream/_stream.py | 5 |
2 files changed, 8 insertions, 4 deletions
diff --git a/src/buildstream/_frontend/cli.py b/src/buildstream/_frontend/cli.py index 1fcf85953..5b2e60d49 100644 --- a/src/buildstream/_frontend/cli.py +++ b/src/buildstream/_frontend/cli.py @@ -1233,12 +1233,15 @@ def artifact_list_contents(app, artifacts): # Artifact Delete Command # ################################################################### @artifact.command(name='delete', short_help="Remove artifacts from the local cache") +@click.option('--deps', '-d', default='none', + type=click.Choice(['none', 'run', 'build', 'all']), + help="The dependencies to delete (default: none)") @click.argument('artifacts', type=click.Path(), nargs=-1) @click.pass_obj -def artifact_delete(app, artifacts): +def artifact_delete(app, artifacts, deps): """Remove artifacts from the local cache""" with app.initialized(): - app.stream.artifact_delete(artifacts) + app.stream.artifact_delete(artifacts, selection=deps) ################################################################## diff --git a/src/buildstream/_stream.py b/src/buildstream/_stream.py index fc83156f5..58d4a0ebd 100644 --- a/src/buildstream/_stream.py +++ b/src/buildstream/_stream.py @@ -672,9 +672,10 @@ class Stream(): # Args: # targets (str): Targets to remove # - def artifact_delete(self, targets): + def artifact_delete(self, targets, *, + selection=PipelineSelection.NONE): # Return list of Element and/or ArtifactElement objects - target_objects = self.load_selection(targets, selection=PipelineSelection.NONE, load_refs=True) + target_objects = self.load_selection(targets, selection=selection, load_refs=True) # Some of the targets may refer to the same key, so first obtain a # set of the refs to be removed. |