aboutsummaryrefslogtreecommitdiff
path: root/load
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2021-03-13 16:09:48 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2021-03-26 20:41:21 +0300
commit6ccee38f43493f8f6e87bab549e9ef952244f39a (patch)
tree3c75f102175fc6a566234e904a818dcd74029755 /load
parentf7327a0b3cd6723cb289819bad1d664cfd5d6618 (diff)
Add support for interactive CI mode
Diffstat (limited to 'load')
-rw-r--r--load/buildfile4
-rw-r--r--load/load.cli13
-rw-r--r--load/load.cxx11
3 files changed, 25 insertions, 3 deletions
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 <load/types-parsers.hxx>" --page-usage print_ \
---ansi-color --long-usage
+--generate-modifier --cxx-prologue "#include <load/types-parsers.hxx>" \
+--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
+ {
+ "<bkp>",
+ "Build the tenant packages interactively, stopping builds at the specified
+ breakpoint. Implies \cb{--private}."
+ };
+
brep::path --overrides-file
{
"<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<string> ())));
// On the first pass over the internal repositories we load their
// certificate information and packages.