You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@buildstream.apache.org by tv...@apache.org on 2021/02/19 06:55:56 UTC
[buildstream] branch tristan/add-except-option created (now 10c64e6)
This is an automated email from the ASF dual-hosted git repository.
tvb pushed a change to branch tristan/add-except-option
in repository https://gitbox.apache.org/repos/asf/buildstream.git.
at 10c64e6 _frontend/cli.py: Add `--except` option to `bst source push`
This branch includes the following new commits:
new 10c64e6 _frontend/cli.py: Add `--except` option to `bst source push`
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
[buildstream] 01/01: _frontend/cli.py: Add `--except` option to
`bst source push`
Posted by tv...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
tvb pushed a commit to branch tristan/add-except-option
in repository https://gitbox.apache.org/repos/asf/buildstream.git
commit 10c64e62be8df5f4e339e9f26b1d26d749a754d3
Author: Tristan van Berkom <tr...@codethink.co.uk>
AuthorDate: Fri Feb 19 15:54:24 2021 +0900
_frontend/cli.py: Add `--except` option to `bst source push`
This is for consistency of `--except` options as outlined in issue #1349
---
src/buildstream/_frontend/cli.py | 15 +++++++++++++--
src/buildstream/_stream.py | 3 +++
2 files changed, 16 insertions(+), 2 deletions(-)
diff --git a/src/buildstream/_frontend/cli.py b/src/buildstream/_frontend/cli.py
index 132069e..b6a68b1 100644
--- a/src/buildstream/_frontend/cli.py
+++ b/src/buildstream/_frontend/cli.py
@@ -826,6 +826,13 @@ def source_fetch(app, elements, deps, except_, remotes, ignore_project_remotes):
##################################################################
@source.command(name="push", short_help="Push sources in a pipeline")
@click.option(
+ "--except",
+ "except_",
+ multiple=True,
+ type=click.Path(readable=False),
+ help="Except certain dependencies from pushing",
+)
+@click.option(
"--deps",
"-d",
default=_PipelineSelection.NONE,
@@ -852,7 +859,7 @@ def source_fetch(app, elements, deps, except_, remotes, ignore_project_remotes):
@click.option("--ignore-project-remotes", is_flag=True, help="Ignore remotes recommended by projects")
@click.argument("elements", nargs=-1, type=click.Path(readable=False))
@click.pass_obj
-def source_push(app, elements, deps, remotes, ignore_project_remotes):
+def source_push(app, elements, deps, except_, remotes, ignore_project_remotes):
"""Push sources required to build the pipeline
Specifying no elements will result in pushing the sources of the default
@@ -876,7 +883,11 @@ def source_push(app, elements, deps, remotes, ignore_project_remotes):
elements = app.project.get_default_targets()
app.stream.source_push(
- elements, selection=deps, source_remotes=remotes, ignore_project_source_remotes=ignore_project_remotes
+ elements,
+ selection=deps,
+ except_targets=except_,
+ source_remotes=remotes,
+ ignore_project_source_remotes=ignore_project_remotes,
)
diff --git a/src/buildstream/_stream.py b/src/buildstream/_stream.py
index 17011de..a44d613 100644
--- a/src/buildstream/_stream.py
+++ b/src/buildstream/_stream.py
@@ -434,6 +434,7 @@ class Stream:
# Args:
# targets (list of str): Targets to push
# selection (_PipelineSelection): The selection mode for the specified targets
+ # except_targets: Specified targets to except from pushing
# source_remotes: Source cache remotes specified on the commmand line
# ignore_project_source_remotes: Whether to ignore source remotes specified by projects
#
@@ -449,6 +450,7 @@ class Stream:
targets,
*,
selection=_PipelineSelection.NONE,
+ except_targets: Iterable[str] = (),
source_remotes: Iterable[RemoteSpec] = (),
ignore_project_source_remotes: bool = False,
):
@@ -456,6 +458,7 @@ class Stream:
elements = self._load(
targets,
selection=selection,
+ except_targets=except_targets,
load_artifacts=True,
connect_source_cache=True,
source_remotes=source_remotes,