From 2ea3d11ac1d5b6069268709ca0125d2e90377d93 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Thu, 17 May 2018 12:55:03 +0200 Subject: Add support for --immediate|-i and --recursive|-r to pkg-(un)install --- bpkg/pkg-install.cli | 17 +++++++++++++++-- bpkg/pkg-install.hxx | 4 ++-- bpkg/pkg-test.cli | 2 +- bpkg/pkg-uninstall.cli | 15 ++++++++++++++- bpkg/pkg-uninstall.hxx | 4 ++-- 5 files changed, 34 insertions(+), 8 deletions(-) diff --git a/bpkg/pkg-install.cli b/bpkg/pkg-install.cli index 1466f36..95edef3 100644 --- a/bpkg/pkg-install.cli +++ b/bpkg/pkg-install.cli @@ -19,8 +19,11 @@ namespace bpkg \h|DESCRIPTION| - The \cb{pkg-install} command installs one or more packages. Underneath, - this command doesn't do much more than run \cb{b install}. + The \cb{pkg-install} command installs one or more packages. Additionally, + immediate or all dependencies of the specified packages can be also + installed 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 install}. Additional command line variables (, normally \cb{config.*}) can be passed to the build system by either specifying them before the packages, @@ -41,5 +44,15 @@ namespace bpkg class pkg_install_options: configuration_options { "\h|PKG-INSTALL OPTIONS|" + + bool --immediate|-i + { + "Also install immediate dependencies." + } + + bool --recursive|-r + { + "Also install all dependencies, recursively." + } }; } diff --git a/bpkg/pkg-install.hxx b/bpkg/pkg-install.hxx index 35dc52b..8a74384 100644 --- a/bpkg/pkg-install.hxx +++ b/bpkg/pkg-install.hxx @@ -20,8 +20,8 @@ namespace bpkg return pkg_command ("install", o, "" /* cmd_variant */, - false /* recursive */, - false /* immediate */, + o.recursive (), + o.immediate (), args); } } diff --git a/bpkg/pkg-test.cli b/bpkg/pkg-test.cli index 78018be..f8ad332 100644 --- a/bpkg/pkg-test.cli +++ b/bpkg/pkg-test.cli @@ -22,7 +22,7 @@ namespace bpkg The \cb{pkg-test} command tests the previously configured (via \l{bpkg-pkg-build(1)} or \l{bpkg-pkg-configure(1)}) packages. Additionally, immediate or all dependencies of the specified packages can - be tested by specifying the \c{\b{--immediate}|\b{-i}} or + also be tested 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 test}. diff --git a/bpkg/pkg-uninstall.cli b/bpkg/pkg-uninstall.cli index 5bc3347..79ccf39 100644 --- a/bpkg/pkg-uninstall.cli +++ b/bpkg/pkg-uninstall.cli @@ -20,7 +20,10 @@ namespace bpkg \h|DESCRIPTION| The \cb{pkg-uninstall} command uninstalls one or more packages that were - previously installed with \l{bpkg-pkg-install(1)}. Underneath, this + previously installed with \l{bpkg-pkg-install(1)}. Additionally, + immediate or all dependencies of the specified packages can be also + uninstalled 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 uninstall}. Additional command line variables (, normally \cb{config.*}) can be @@ -33,5 +36,15 @@ namespace bpkg class pkg_uninstall_options: configuration_options { "\h|PKG-UNINSTALL OPTIONS|" + + bool --immediate|-i + { + "Also uninstall immediate dependencies." + } + + bool --recursive|-r + { + "Also uninstall all dependencies, recursively." + } }; } diff --git a/bpkg/pkg-uninstall.hxx b/bpkg/pkg-uninstall.hxx index c4359af..9e4d6a8 100644 --- a/bpkg/pkg-uninstall.hxx +++ b/bpkg/pkg-uninstall.hxx @@ -19,8 +19,8 @@ namespace bpkg { return pkg_command ("uninstall", o, "" /* cmd_variant */, - false /* recursive */, - false /* immediate */, + o.recursive (), + o.immediate (), args); } } -- cgit v1.1