aboutsummaryrefslogtreecommitdiff
path: root/bpkg/rep-fetch.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'bpkg/rep-fetch.hxx')
-rw-r--r--bpkg/rep-fetch.hxx34
1 files changed, 22 insertions, 12 deletions
diff --git a/bpkg/rep-fetch.hxx b/bpkg/rep-fetch.hxx
index 4ddce5b..a26eba3 100644
--- a/bpkg/rep-fetch.hxx
+++ b/bpkg/rep-fetch.hxx
@@ -7,7 +7,6 @@
#include <libbpkg/manifest.hxx>
#include <bpkg/types.hxx>
-#include <bpkg/forward.hxx> // database
#include <bpkg/utility.hxx>
#include <bpkg/rep-fetch-options.hxx>
@@ -19,9 +18,8 @@ namespace bpkg
// Fetch and authenticate repositories and packages manifests.
//
- // If conf is NULL, then assume not running in a bpkg configuration. If it
- // is empty, then check if the bpkg configuration exists in the current
- // working directory.
+ // If configuration directory is NULL, then assume not running in a bpkg
+ // configuration.
//
class certificate;
@@ -36,6 +34,13 @@ namespace bpkg
vector<repository_manifest> repositories;
vector<package_manifest> packages;
+
+ // Empty if the build2 project info is not available for the packages.
+ // Currently we only retrieve it for the directory and version control
+ // based repositories, but only if the current build2 version is
+ // satisfactory for all the repository packages.
+ //
+ vector<package_info> package_infos;
};
vector<fragment> fragments;
@@ -46,18 +51,24 @@ namespace bpkg
shared_ptr<const bpkg::certificate> certificate; // Authenticated.
};
- // If requested, expand the file-referencing package manifest values
- // (description, changes, etc), setting them to the contents of files they
- // refer to and set the potentially absent description-type value to the
- // effective description type (see libbpkg/manifest.hxx). Note that for pkg
- // repositories such values are expanded at the repository creation time.
+ // If requested, verify that all manifest entries are recognized and the
+ // packages are compatible with the current toolchain. Also, if requested,
+ // expand the file-referencing package manifest values (description,
+ // changes, etc), setting them to the contents of files they refer to and
+ // set the potentially absent description-type value to the effective
+ // description type (see libbpkg/manifest.hxx) and load the bootstrap, root,
+ // and config/*.build buildfiles into the respective *-build values. Note
+ // that for pkg repositories such values are expanded/loaded at the
+ // repository creation time.
//
rep_fetch_data
rep_fetch (const common_options&,
- const dir_path* conf,
+ const dir_path* configuration,
const repository_location&,
bool ignore_unknown,
- bool expand_values);
+ bool ignore_toolchain,
+ bool expand_values,
+ bool load_buildfiles);
// Add (or update) repository locations to the configuration and fetch
// them. If shallow is true, then don't fetch their prerequisite and/or
@@ -69,7 +80,6 @@ namespace bpkg
//
void
rep_fetch (const common_options&,
- const dir_path& conf,
database&,
const vector<repository_location>&,
bool shallow,