diff options
author | Karen Arutyunov <karen@codesynthesis.com> | 2016-08-30 00:00:35 +0300 |
---|---|---|
committer | Karen Arutyunov <karen@codesynthesis.com> | 2016-08-30 00:56:59 +0300 |
commit | 321fa79e78c17bdb1e3e27f6e8b9d019201584a1 (patch) | |
tree | f6078ad550bebb3aea764234a64639fd3277bd1c /brep | |
parent | 38bb6be4c90c7fbf95b8e5345de21175d3f1ebd7 (diff) |
Support stubs in loader
Diffstat (limited to 'brep')
-rw-r--r-- | brep/package | 17 | ||||
-rw-r--r-- | brep/package.cxx | 2 |
2 files changed, 15 insertions, 4 deletions
diff --git a/brep/package b/brep/package index 5cfbd45..a193c16 100644 --- a/brep/package +++ b/brep/package @@ -157,10 +157,13 @@ namespace brep bool empty () const noexcept { - bool e (canonical_upstream.empty ()); - assert (!e || - (epoch == 0 && canonical_release.empty () && revision == 0)); - return e; + // Note that an empty canonical_upstream doesn't denote an empty + // canonical_version. Remeber, that canonical_upstream doesn't include + // rightmost digit-only zero components? So non-empty version("0") has + // an empty canonical_upstream. + // + return epoch == 0 && canonical_upstream.empty () && + canonical_release.empty () && revision == 0; } // Change collation to ensure the proper comparison of the "absent" release @@ -201,6 +204,12 @@ namespace brep } }; + // Wildcard version. Satisfies any dependency constraint and is represented + // as 0+0 (which is also the "stub version"; since a real version is always + // greater than the stub version, we reuse it to signify a special case). + // + extern const version wildcard_version; + // priority // using bpkg::priority; diff --git a/brep/package.cxx b/brep/package.cxx index 9cf0783..2f19e99 100644 --- a/brep/package.cxx +++ b/brep/package.cxx @@ -13,6 +13,8 @@ using namespace odb::core; namespace brep { + const version wildcard_version (0, "0", nullopt, 0); + // dependency // string dependency:: |