diff options
author | Karen Arutyunov <karen@codesynthesis.com> | 2024-03-29 21:13:23 +0300 |
---|---|---|
committer | Karen Arutyunov <karen@codesynthesis.com> | 2024-04-01 17:45:55 +0300 |
commit | 6cb77d97d659441036fac18af6479eeac4127dcb (patch) | |
tree | 47e43d9919a0b90b45e76da1f46e0b736e1a3633 /libbrep/package.hxx | |
parent | 2b5bea3871d0ccc1b7da32929f195dc161bcc1ec (diff) |
Stash build toolchain in tenant object
Diffstat (limited to 'libbrep/package.hxx')
-rw-r--r-- | libbrep/package.hxx | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/libbrep/package.hxx b/libbrep/package.hxx index 96e51a3..b8c3c33 100644 --- a/libbrep/package.hxx +++ b/libbrep/package.hxx @@ -20,7 +20,7 @@ // #define LIBBREP_PACKAGE_SCHEMA_VERSION_BASE 27 -#pragma db model version(LIBBREP_PACKAGE_SCHEMA_VERSION_BASE, 31, closed) +#pragma db model version(LIBBREP_PACKAGE_SCHEMA_VERSION_BASE, 32, closed) namespace brep { @@ -286,6 +286,27 @@ namespace brep // optional<timestamp> queued_timestamp; // Note: foreign-mapped in build. + // Note that after the package tenant is created but before the first + // build object is created, there is no easy way to produce a list of + // unbuilt package configurations. That would require to know the build + // toolchain(s), which are normally extracted from the build objects. + // Thus, the empty unbuilt package configurations list is ambiguous and + // can either mean that no more package configurations can be built or + // that we have not enough information to produce the list. To + // disambiguate the empty list in the interface, in the latter case we + // want to display the question mark instead of 0 as an unbuilt package + // configurations count. To achieve this we will stash the build toolchain + // in the tenant when a package from this tenant is considered for a build + // for the first time but no configuration is picked for the build (the + // target configurations are excluded, an auxiliary machine is not + // available, etc). We will also use the stashed toolchain as a fallback + // until we are able to retrieve the toolchain(s) from the tenant builds + // to produce the unbuilt package configurations list. + // + // Note: foreign-mapped in build. + // + optional<brep::build_toolchain> build_toolchain; + // Database mapping. // #pragma db member(id) id |