blob: c870bde21b6db20e7ad8c2804cfbb9ca94c999c5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
#include "SourceParagraph.h"
#include "vcpkglib_helpers.h"
namespace vcpkg
{
//
namespace SourceParagraphRequiredField
{
static const std::string SOURCE = "Source";
static const std::string VERSION = "Version";
}
namespace SourceParagraphOptionalEntry
{
static const std::string DESCRIPTION = "Description";
static const std::string MAINTAINER = "Maintainer";
static const std::string BUILD_DEPENDS = "Build-Depends";
}
const std::vector<std::string>& SourceParagraph::get_list_of_valid_entries()
{
static const std::vector<std::string> valid_enties =
{
SourceParagraphRequiredField::SOURCE,
SourceParagraphRequiredField::VERSION,
SourceParagraphOptionalEntry::DESCRIPTION,
SourceParagraphOptionalEntry::MAINTAINER,
SourceParagraphOptionalEntry::BUILD_DEPENDS
};
return valid_enties;
}
SourceParagraph::SourceParagraph() = default;
SourceParagraph::SourceParagraph(std::unordered_map<std::string, std::string> fields)
{
using namespace vcpkg::details;
this->name = remove_required_field(&fields, SourceParagraphRequiredField::SOURCE);
this->version = remove_required_field(&fields, SourceParagraphRequiredField::VERSION);
this->description = remove_optional_field(&fields, SourceParagraphOptionalEntry::DESCRIPTION);
this->maintainer = remove_optional_field(&fields, SourceParagraphOptionalEntry::MAINTAINER);
std::string deps = remove_optional_field(&fields, SourceParagraphOptionalEntry::BUILD_DEPENDS);
this->depends = parse_depends(deps);
this->unparsed_fields = std::move(fields);
}
}
|