aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2020-12-07 13:15:07 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2020-12-08 11:41:29 +0300
commit730277b4ab35ecb7179943fb54eef3934480db8c (patch)
tree0800ec4f46d91bb5431a405f5001cb240893c94e
parentf970f9b3cc8949f3f32e5fd1888a2679d31d9332 (diff)
Add --immediate|-i and --recursive|-r options to update and clean commands
-rw-r--r--bdep/clean.cli26
-rw-r--r--bdep/clean.hxx2
-rw-r--r--bdep/update.cli20
-rw-r--r--bdep/update.hxx2
4 files changed, 43 insertions, 7 deletions
diff --git a/bdep/clean.cli b/bdep/clean.cli
index 16e694e..141d20a 100644
--- a/bdep/clean.cli
+++ b/bdep/clean.cli
@@ -27,11 +27,17 @@ namespace bdep
\h|DESCRIPTION|
The \cb{clean} command cleans the project packages in one or more build
- configurations. Underneath it executes the \l{bpkg-pkg-clean(1)} command
- which itself is not much more than the build system \cb{clean} operation
- (see \l{b(1)} for details). As a result, the main utility of this command
- is the ability to refer to build configurations by names and to project
- packages implicitly via the current working directory.
+ configurations. Additionally, immediate or all dependencies of the
+ project packages can be cleaned by specifying the
+ \c{\b{--immediate}|\b{-i}} or \c{\b{--recursive}|\b{-r}} options,
+ respectively.
+
+ Underneath \cb{clean} executes the \l{bpkg-pkg-clean(1)} command which
+ itself is not much more than the build system \cb{clean} operation (see
+ \l{b(1)} for details). As a result, the main utility of this command is
+ the ability to refer to build configurations by names and to project
+ packages implicitly via the current working directory as well as to
+ clean dependencies.
If no project or package directory is specified, then the current working
directory is assumed. If no configuration is specified, then the default
@@ -44,6 +50,16 @@ namespace bdep
class cmd_clean_options: project_options
{
"\h|CLEAN OPTIONS|"
+
+ bool --immediate|-i
+ {
+ "Also clean immediate dependencies."
+ }
+
+ bool --recursive|-r
+ {
+ "Also clean all dependencies, recursively."
+ }
};
"
diff --git a/bdep/clean.hxx b/bdep/clean.hxx
index 23639c4..d0960d6 100644
--- a/bdep/clean.hxx
+++ b/bdep/clean.hxx
@@ -25,6 +25,8 @@ namespace bdep
: strings ()),
"clean",
"-d", c->path,
+ (o.immediate () ? "--immediate" :
+ o.recursive () ? "--recursive" : nullptr),
cfg_vars,
pkgs);
}
diff --git a/bdep/update.cli b/bdep/update.cli
index 6b7cdf3..4a66298 100644
--- a/bdep/update.cli
+++ b/bdep/update.cli
@@ -27,11 +27,17 @@ namespace bdep
\h|DESCRIPTION|
The \cb{update} command updates the project packages in one or more build
- configurations. Underneath it executes the \l{bpkg-pkg-update(1)} command
+ configurations. Additionally, immediate or all dependencies of the
+ project packages can be updated by specifying the
+ \c{\b{--immediate}|\b{-i}} or \c{\b{--recursive}|\b{-r}} options,
+ respectively.
+
+ Underneath \cb{update} executes the \l{bpkg-pkg-update(1)} command
which itself is not much more than the build system \cb{update} operation
(see \l{b(1)} for details). As a result, the main utility of this command
is the ability to refer to build configurations by names and to project
- packages implicitly via the current working directory.
+ packages implicitly via the current working directory as well as to
+ update dependencies.
If no project or package directory is specified, then the current working
directory is assumed. If no configuration is specified, then the default
@@ -44,6 +50,16 @@ namespace bdep
class cmd_update_options: project_options
{
"\h|UPDATE OPTIONS|"
+
+ bool --immediate|-i
+ {
+ "Also update immediate dependencies."
+ }
+
+ bool --recursive|-r
+ {
+ "Also update all dependencies, recursively."
+ }
};
"
diff --git a/bdep/update.hxx b/bdep/update.hxx
index e038c36..e93ec34 100644
--- a/bdep/update.hxx
+++ b/bdep/update.hxx
@@ -25,6 +25,8 @@ namespace bdep
: strings ()),
"update",
"-d", c->path,
+ (o.immediate () ? "--immediate" :
+ o.recursive () ? "--recursive" : nullptr),
cfg_vars,
pkgs);
}