From 6ccee38f43493f8f6e87bab549e9ef952244f39a Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Sat, 13 Mar 2021 16:09:48 +0300 Subject: Add support for interactive CI mode --- load/buildfile | 4 ++-- load/load.cli | 13 +++++++++++++ load/load.cxx | 11 ++++++++++- 3 files changed, 25 insertions(+), 3 deletions(-) (limited to 'load') diff --git a/load/buildfile b/load/buildfile index b55489f..4278f20 100644 --- a/load/buildfile +++ b/load/buildfile @@ -23,8 +23,8 @@ if $cli.configured cli.options += --std c++11 -I $src_root --include-with-brackets \ --include-prefix load --guard-prefix LOAD --generate-specifier \ ---cxx-prologue "#include " --page-usage print_ \ ---ansi-color --long-usage +--generate-modifier --cxx-prologue "#include " \ +--page-usage print_ --ansi-color --long-usage # Include the generated cli files into the distribution and don't remove # them when cleaning in src (so that clean results in a state identical to diff --git a/load/load.cli b/load/load.cli index 05bbb11..16b5f9f 100644 --- a/load/load.cli +++ b/load/load.cli @@ -64,6 +64,19 @@ class options specified, then the single-tenant mode is assumed." }; + bool --private + { + "Display the tenant packages in the web interface only in the tenant view + mode." + }; + + std::string --interactive + { + "", + "Build the tenant packages interactively, stopping builds at the specified + breakpoint. Implies \cb{--private}." + }; + brep::path --overrides-file { "", diff --git a/load/load.cxx b/load/load.cxx index 31230a7..0d53a0d 100644 --- a/load/load.cxx +++ b/load/load.cxx @@ -1474,6 +1474,11 @@ try throw failed (); } + // Note: the interactive tenant implies private. + // + if (ops.interactive_specified ()) + ops.private_ (true); + // Load the description of all the internal repositories from the // configuration file. // @@ -1511,7 +1516,11 @@ try // Persist the tenant. // - db.persist (tenant (tnt)); + db.persist (tenant (tnt, + ops.private_ (), + (ops.interactive_specified () + ? ops.interactive () + : optional ()))); // On the first pass over the internal repositories we load their // certificate information and packages. -- cgit v1.1