From 39a7404e6cddb2053a87f86935cda566c54bd4e6 Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Fri, 22 Mar 2024 18:00:37 +0300 Subject: Add tenant_service_hints --- mod/tenant-service.hxx | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) (limited to 'mod/tenant-service.hxx') diff --git a/mod/tenant-service.hxx b/mod/tenant-service.hxx index 46f2822..9205f76 100644 --- a/mod/tenant-service.hxx +++ b/mod/tenant-service.hxx @@ -62,7 +62,7 @@ namespace brep // Each build notification is in its own interface since a service may not // be interested in all of them while computing the information to pass is // expensive. - // + class tenant_service_build_queued: public virtual tenant_service_base { public: @@ -74,17 +74,32 @@ namespace brep // // The passed initial_state indicates the logical initial state and is // either absent, `building` (interrupted), or `built` (rebuild). Note - // that all the passed build objects have the same initial state. + // that all the passed build objects are for the same package version and + // have the same initial state. // // The implementation of this and the below functions should normally not // need to make any decisions based on the passed build::state. Rather, // the function name suffix (_queued, _building, _built) signify the // logical end state. // + // The build_queued_hints can be used to omit certain components from the + // build id. If single_package_version is true, then this tenant contains + // a single (non-test) package version and this package name and package + // version can be omitted. If single_package_config is true, then the + // package version being built only has the default package configuration + // and thus it can be omitted. + // + struct build_queued_hints + { + bool single_package_version; + bool single_package_config; + }; + virtual function (const tenant_service&)> build_queued (const tenant_service&, const vector&, optional initial_state, + const build_queued_hints&, const diag_epilogue& log_writer) const noexcept = 0; }; -- cgit v1.1