From e2eb878b13233c3b65bb1cf3848be1a357e269e9 Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Sat, 5 Dec 2020 17:19:09 +0300 Subject: Add --immediate|-i and --recursive|-r options to pkg-{update,clean} commands --- bpkg/pkg-clean.cli | 21 +++++++++++++++++---- bpkg/pkg-clean.hxx | 4 ++-- bpkg/pkg-update.cli | 23 ++++++++++++++++++----- bpkg/pkg-update.hxx | 4 ++-- 4 files changed, 39 insertions(+), 13 deletions(-) diff --git a/bpkg/pkg-clean.cli b/bpkg/pkg-clean.cli index d51736a..ea5b0c1 100644 --- a/bpkg/pkg-clean.cli +++ b/bpkg/pkg-clean.cli @@ -23,10 +23,13 @@ namespace bpkg The \cb{pkg-clean} command cleans the specified packages (the first form), all the held packages (the second form, see \l{bpkg-pkg-status(1)}), or all the held packages that match any of the - specified wildcard patterns (the third form). Underneath, this command - doesn't do much more than run \cb{b clean}. In the first form the - specified packages must have been previously configured with - \l{bpkg-pkg-build(1)} or \l{bpkg-pkg-configure(1)}. + specified wildcard patterns (the third form). Additionally, immediate or + all dependencies of these packages can be also cleaned by specifying + the \c{\b{--immediate}|\b{-i}} or \c{\b{--recursive}|\b{-r}} options, + respectively. Underneath, this command doesn't do much more than run + \cb{b clean}. In the first form the specified packages must have been + previously configured with \l{bpkg-pkg-build(1)} or + \l{bpkg-pkg-configure(1)}. Additional command line variables (, normally \cb{config.*}) can be passed to the build system. Such variables apply to all the specified @@ -51,6 +54,16 @@ namespace bpkg this option to match multiple patterns. Note that you may need to quote the pattern to prevent expansion by your shell." } + + bool --immediate|-i + { + "Also clean immediate dependencies." + } + + bool --recursive|-r + { + "Also clean all dependencies, recursively." + } }; " diff --git a/bpkg/pkg-clean.hxx b/bpkg/pkg-clean.hxx index c7c722c..07dced9 100644 --- a/bpkg/pkg-clean.hxx +++ b/bpkg/pkg-clean.hxx @@ -18,8 +18,8 @@ namespace bpkg return pkg_command ("clean", o, "" /* cmd_variant */, - false /* recursive */, - false /* immediate */, + o.recursive (), + o.immediate (), o.all (), o.all_pattern (), false /* package_cwd */, diff --git a/bpkg/pkg-update.cli b/bpkg/pkg-update.cli index 7887185..6a68642 100644 --- a/bpkg/pkg-update.cli +++ b/bpkg/pkg-update.cli @@ -23,11 +23,14 @@ namespace bpkg The \cb{pkg-update} command updates the specified packages (the first form), all the held packages (the second form, see \l{bpkg-pkg-status(1)}), or all the held packages that match any of the - specified wildcard patterns (the third form). Underneath, this command - doesn't do much more than run \cb{b update} (or one of its - \c{update-for-*} variants; see \cb{--for|-f}). In the first form the - specified packages must have been previously configured with - \l{bpkg-pkg-build(1)} or \l{bpkg-pkg-configure(1)}. + specified wildcard patterns (the third form). Additionally, immediate or + all dependencies of these packages can be also updated by specifying the + \c{\b{--immediate}|\b{-i}} or \c{\b{--recursive}|\b{-r}} options, + respectively. Underneath, this command doesn't do much more than run + \cb{b update} (or one of its \c{update-for-*} variants; see + \cb{--for|-f}). In the first form the specified packages must have been + previously configured with \l{bpkg-pkg-build(1)} or + \l{bpkg-pkg-configure(1)}. Additional command line variables (, normally \cb{config.*}) can be passed to the build system. Such variables apply to all the specified @@ -53,6 +56,16 @@ namespace bpkg the pattern to prevent expansion by your shell." } + bool --immediate|-i + { + "Also update immediate dependencies." + } + + bool --recursive|-r + { + "Also update all dependencies, recursively." + } + string --for|-f { "", diff --git a/bpkg/pkg-update.hxx b/bpkg/pkg-update.hxx index 72d8cd5..d7b9536 100644 --- a/bpkg/pkg-update.hxx +++ b/bpkg/pkg-update.hxx @@ -19,8 +19,8 @@ namespace bpkg return pkg_command ("update", o, o.for_ (), - false /* recursive */, - false /* immediate */, + o.recursive (), + o.immediate (), o.all (), o.all_pattern (), false /* package_cwd */, -- cgit v1.1