aboutsummaryrefslogtreecommitdiff
path: root/toolsrc/src
diff options
context:
space:
mode:
authorRobert Schumacher <roschuma@microsoft.com>2016-09-27 15:51:16 -0700
committerRobert Schumacher <roschuma@microsoft.com>2016-09-27 15:51:16 -0700
commitcc29d43f8577be1e053572c83958e633fbbea4e5 (patch)
treeee3d05c01cfb442d0da7a73515093b10892ef23f /toolsrc/src
parent2ed13a583d5c8537680125d2ab5ec77b0f63503c (diff)
parent687ac42cdd39fece9ed816836c049607f8d1223b (diff)
downloadvcpkg-cc29d43f8577be1e053572c83958e633fbbea4e5.tar.gz
vcpkg-cc29d43f8577be1e053572c83958e633fbbea4e5.zip
Merge branch 'master' of https://github.com/microsoft/vcpkg
Diffstat (limited to 'toolsrc/src')
-rw-r--r--toolsrc/src/BinaryParagraph.cpp23
-rw-r--r--toolsrc/src/SourceParagraph.cpp19
-rw-r--r--toolsrc/src/StatusParagraph.cpp3
-rw-r--r--toolsrc/src/triplet.cpp6
-rw-r--r--toolsrc/src/vcpkglib_helpers.cpp23
5 files changed, 37 insertions, 37 deletions
diff --git a/toolsrc/src/BinaryParagraph.cpp b/toolsrc/src/BinaryParagraph.cpp
index 274bd879e..da20c725c 100644
--- a/toolsrc/src/BinaryParagraph.cpp
+++ b/toolsrc/src/BinaryParagraph.cpp
@@ -8,25 +8,24 @@ namespace vcpkg
{
BinaryParagraph::BinaryParagraph() = default;
- BinaryParagraph::BinaryParagraph(const std::unordered_map<std::string, std::string>& fields)
+ BinaryParagraph::BinaryParagraph(const std::unordered_map<std::string, std::string>& fields) :
+ name(required_field(fields, "Package")),
+ version(required_field(fields, "Version")),
+ description(optional_field(fields, "Description")),
+ maintainer(optional_field(fields, "Maintainer"))
{
- details::required_field(fields, name, "Package");
- required_field(fields, version, "Version");
- required_field(fields, target_triplet.value, "Architecture");
+ target_triplet.value = required_field(fields, "Architecture");
{
- std::string multi_arch;
- required_field(fields, multi_arch, "Multi-Arch");
+ std::string multi_arch = required_field(fields, "Multi-Arch");
Checks::check_throw(multi_arch == "same", "Multi-Arch must be 'same' but was %s", multi_arch);
}
- optional_field(fields, description, "Description");
- std::string deps;
- optional_field(fields, deps, "Depends");
+
+ std::string deps = optional_field(fields, "Depends");
if (!deps.empty())
{
- depends.clear();
- parse_depends(deps, depends);
+ this->depends.clear();
+ this->depends = parse_depends(deps);
}
- optional_field(fields, maintainer, "Maintainer");
}
BinaryParagraph::BinaryParagraph(const SourceParagraph& spgh, const triplet& target_triplet)
diff --git a/toolsrc/src/SourceParagraph.cpp b/toolsrc/src/SourceParagraph.cpp
index 7e3b0403e..374121ae9 100644
--- a/toolsrc/src/SourceParagraph.cpp
+++ b/toolsrc/src/SourceParagraph.cpp
@@ -5,17 +5,16 @@ using namespace vcpkg::details;
vcpkg::SourceParagraph::SourceParagraph() = default;
-vcpkg::SourceParagraph::SourceParagraph(const std::unordered_map<std::string, std::string>& fields)
+vcpkg::SourceParagraph::SourceParagraph(const std::unordered_map<std::string, std::string>& fields):
+ name(required_field(fields, "Source")),
+ version(required_field(fields, "Version")),
+ description(optional_field(fields, "Description")),
+ maintainer(optional_field(fields, "Maintainer"))
{
- required_field(fields, name, "Source");
- required_field(fields, version, "Version");
- optional_field(fields, description, "Description");
- std::string deps;
- optional_field(fields, deps, "Build-Depends");
+ std::string deps = optional_field(fields, "Build-Depends");
if (!deps.empty())
{
- depends.clear();
- parse_depends(deps, depends);
- }
- optional_field(fields, maintainer, "Maintainer");
+ this->depends.clear();
+ this->depends = parse_depends(deps);
+ };
}
diff --git a/toolsrc/src/StatusParagraph.cpp b/toolsrc/src/StatusParagraph.cpp
index 09a3b4d45..5aa425969 100644
--- a/toolsrc/src/StatusParagraph.cpp
+++ b/toolsrc/src/StatusParagraph.cpp
@@ -19,8 +19,7 @@ namespace vcpkg
StatusParagraph::StatusParagraph(const std::unordered_map<std::string, std::string>& fields)
: package(fields)
{
- std::string status_field;
- required_field(fields, status_field, "Status");
+ std::string status_field = required_field(fields, "Status");
auto b = status_field.begin();
auto mark = b;
diff --git a/toolsrc/src/triplet.cpp b/toolsrc/src/triplet.cpp
index 14f19d5cd..4270c458d 100644
--- a/toolsrc/src/triplet.cpp
+++ b/toolsrc/src/triplet.cpp
@@ -58,13 +58,13 @@ namespace vcpkg
Checks::exit_with_message("Unknown system: %s", value);
}
- bool triplet::validate(const vcpkg_paths & paths)
+ bool triplet::validate(const vcpkg_paths& paths) const
{
auto it = fs::directory_iterator(paths.triplets);
- for(; it != fs::directory_iterator(); ++it)
+ for (; it != fs::directory_iterator(); ++it)
{
std::string triplet_file_name = it->path().stem().generic_u8string();
- if(value == triplet_file_name) // TODO: fuzzy compare
+ if (value == triplet_file_name) // TODO: fuzzy compare
{
//value = triplet_file_name; // NOTE: uncomment when implementing fuzzy compare
return true;
diff --git a/toolsrc/src/vcpkglib_helpers.cpp b/toolsrc/src/vcpkglib_helpers.cpp
index e947dc647..3aa3735b0 100644
--- a/toolsrc/src/vcpkglib_helpers.cpp
+++ b/toolsrc/src/vcpkglib_helpers.cpp
@@ -4,29 +4,28 @@
namespace vcpkg {namespace details
{
- void optional_field(const std::unordered_map<std::string, std::string>& fields, std::string& out, const std::string& fieldname)
+ std::string optional_field(const std::unordered_map<std::string, std::string>& fields, const std::string& fieldname)
{
auto it = fields.find(fieldname);
if (it == fields.end())
{
- out.clear();
+ return std::string();
}
- else
- {
- out = it->second;
- }
+ return it->second;
};
- void required_field(const std::unordered_map<std::string, std::string>& fields, std::string& out, const std::string& fieldname)
+ std::string required_field(const std::unordered_map<std::string, std::string>& fields, const std::string& fieldname)
{
auto it = fields.find(fieldname);
vcpkg::Checks::check_throw(it != fields.end(), "Required field not present: %s", fieldname);
- out = it->second;
+ return it->second;
};
- void parse_depends(const std::string& depends_string, std::vector<std::string>& out)
+ std::vector<std::string> parse_depends(const std::string& depends_string)
{
+ std::vector<std::string> out;
+
size_t cur = 0;
do
{
@@ -34,17 +33,21 @@ namespace vcpkg {namespace details
if (pos == std::string::npos)
{
out.push_back(depends_string.substr(cur));
- return;
+ break;
}
out.push_back(depends_string.substr(cur, pos - cur));
// skip comma and space
++pos;
if (depends_string[pos] == ' ')
+ {
++pos;
+ }
cur = pos;
}
while (cur != std::string::npos);
+
+ return out;
}
}}