Skip to content

Commit bd544b0

Browse files
committed
Extract more contractual constants.
Extracted from microsoft#1514
1 parent 9828694 commit bd544b0

File tree

5 files changed

+34
-18
lines changed

5 files changed

+34
-18
lines changed

include/vcpkg/base/contractual-constants.h

+14
Original file line numberDiff line numberDiff line change
@@ -331,17 +331,31 @@ namespace vcpkg
331331
inline constexpr StringLiteral FileBaselineDotJson = "baseline.json";
332332
inline constexpr StringLiteral FileBin = "bin";
333333
inline constexpr StringLiteral FileControl = "CONTROL";
334+
inline constexpr StringLiteral FileCopying = "COPYING";
335+
inline constexpr StringLiteral FileCopyright = "copyright";
334336
inline constexpr StringLiteral FileDebug = "debug";
335337
inline constexpr StringLiteral FileDetectCompiler = "detect_compiler";
336338
inline constexpr StringLiteral FileDotDsStore = ".DS_Store";
337339
inline constexpr StringLiteral FileInclude = "include";
340+
inline constexpr StringLiteral FileIncomplete = "incomplete";
341+
inline constexpr StringLiteral FileInfo = "info";
342+
inline constexpr StringLiteral FileLicense = "LICENSE";
343+
inline constexpr StringLiteral FileLicenseDotTxt = "LICENSE.txt";
338344
inline constexpr StringLiteral FilePortfileDotCMake = "portfile.cmake";
345+
inline constexpr StringLiteral FileShare = "share";
346+
inline constexpr StringLiteral FileStatus = "status";
339347
inline constexpr StringLiteral FileTools = "tools";
348+
inline constexpr StringLiteral FileUpdates = "updates";
349+
inline constexpr StringLiteral FileUsage = "usage";
350+
inline constexpr StringLiteral FileVcpkg = "vcpkg";
340351
inline constexpr StringLiteral FileVcpkgAbiInfo = "vcpkg_abi_info.txt";
341352
inline constexpr StringLiteral FileVcpkgBundleDotJson = "vcpkg-bundle.json";
342353
inline constexpr StringLiteral FileVcpkgConfigurationDotJson = "vcpkg-configuration.json";
343354
inline constexpr StringLiteral FileVcpkgDotJson = "vcpkg.json";
355+
inline constexpr StringLiteral FileVcpkgLock = "vcpkg-lock.json";
344356
inline constexpr StringLiteral FileVcpkgPathTxt = "vcpkg.path.txt";
357+
inline constexpr StringLiteral FileVcpkgPortConfig = "vcpkg-port-config.cmake";
358+
inline constexpr StringLiteral FileVcpkgSpdxJson = "vcpkg.spdx.json";
345359
inline constexpr StringLiteral FileVcpkgUserProps = "vcpkg.user.props";
346360
inline constexpr StringLiteral FileVcpkgUserTargets = "vcpkg.user.targets";
347361
inline constexpr StringLiteral FileVersions = "versions";

include/vcpkg/installedpaths.h

+10-8
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
#include <vcpkg/fwd/binaryparagraph.h>
44

5+
#include <vcpkg/base/contractual-constants.h>
56
#include <vcpkg/base/path.h>
67

78
#include <vcpkg/packagespec.h>
@@ -16,15 +17,16 @@ namespace vcpkg
1617
const Path& root() const { return m_root; }
1718
Path listfile_path(const BinaryParagraph& pgh) const;
1819

19-
Path vcpkg_dir() const { return m_root / "vcpkg"; }
20-
Path vcpkg_dir_status_file() const { return vcpkg_dir() / "status"; }
21-
Path vcpkg_dir_info() const { return vcpkg_dir() / "info"; }
22-
Path vcpkg_dir_updates() const { return vcpkg_dir() / "updates"; }
23-
Path lockfile_path() const { return vcpkg_dir() / "vcpkg-lock.json"; }
20+
Path vcpkg_dir() const { return m_root / FileVcpkg; }
21+
Path vcpkg_dir_status_file() const { return vcpkg_dir() / FileStatus; }
22+
Path vcpkg_dir_info() const { return vcpkg_dir() / FileInfo; }
23+
Path vcpkg_dir_updates() const { return vcpkg_dir() / FileUpdates; }
24+
Path lockfile_path() const { return vcpkg_dir() / FileVcpkgLock; }
2425
Path triplet_dir(Triplet t) const { return m_root / t.canonical_name(); }
25-
Path share_dir(const PackageSpec& p) const { return triplet_dir(p.triplet()) / "share" / p.name(); }
26-
Path usage_file(const PackageSpec& p) const { return share_dir(p) / "usage"; }
27-
Path vcpkg_port_config_cmake(const PackageSpec& p) const { return share_dir(p) / "vcpkg-port-config.cmake"; }
26+
Path share_dir(const PackageSpec& p) const { return triplet_dir(p.triplet()) / FileShare / p.name(); }
27+
Path usage_file(const PackageSpec& p) const { return share_dir(p) / FileUsage; }
28+
Path spdx_file(const PackageSpec& p) const { return share_dir(p) / FileVcpkgSpdxJson; }
29+
Path vcpkg_port_config_cmake(const PackageSpec& p) const { return share_dir(p) / FileVcpkgPortConfig; }
2830

2931
private:
3032
Path m_root;

src/vcpkg/commands.build.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -941,7 +941,7 @@ namespace vcpkg
941941
const auto& abi = action.abi_info.value_or_exit(VCPKG_LINE_INFO);
942942

943943
const auto json_path =
944-
action.package_dir.value_or_exit(VCPKG_LINE_INFO) / "share" / action.spec.name() / "vcpkg.spdx.json";
944+
action.package_dir.value_or_exit(VCPKG_LINE_INFO) / FileShare / action.spec.name() / FileVcpkgSpdxJson;
945945
fs.write_contents_and_dirs(
946946
json_path,
947947
create_spdx_sbom(
@@ -1446,7 +1446,7 @@ namespace vcpkg
14461446
if (abi_info.abi_tag_file)
14471447
{
14481448
auto& abi_file = *abi_info.abi_tag_file.get();
1449-
const auto abi_package_dir = action.package_dir.value_or_exit(VCPKG_LINE_INFO) / "share" / spec.name();
1449+
const auto abi_package_dir = action.package_dir.value_or_exit(VCPKG_LINE_INFO) / FileShare / spec.name();
14501450
const auto abi_file_in_package = abi_package_dir / FileVcpkgAbiInfo;
14511451
build_logs_recorder.record_build_result(paths, spec, result.code);
14521452
filesystem.create_directories(abi_package_dir, VCPKG_LINE_INFO);

src/vcpkg/export.prefab.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -433,8 +433,8 @@ namespace vcpkg::Prefab
433433

434434
const auto share_root = paths.packages() / fmt::format("{}_{}", name, action.spec.triplet());
435435

436-
fs.copy_file(share_root / "share" / name / "copyright",
437-
meta_dir / "LICENSE",
436+
fs.copy_file(share_root / FileShare / name / FileCopyright,
437+
meta_dir / FileLicense,
438438
CopyOptions::overwrite_existing,
439439
IgnoreErrors{});
440440

src/vcpkg/postbuildlint.cpp

+6-6
Original file line numberDiff line numberDiff line change
@@ -282,7 +282,7 @@ namespace vcpkg
282282
const Path& portfile_cmake,
283283
MessageSink& msg_sink)
284284
{
285-
const auto debug_share = package_dir / "debug" VCPKG_PREFERRED_SEPARATOR "share";
285+
const auto debug_share = package_dir / FileDebug / FileShare;
286286
if (fs.exists(debug_share, IgnoreErrors{}))
287287
{
288288
msg_sink.print(Color::warning,
@@ -303,7 +303,7 @@ namespace vcpkg
303303
const Path& portfile_cmake,
304304
MessageSink& msg_sink)
305305
{
306-
if (!fs.exists(package_dir / "share" / package_name / "vcpkg-port-config.cmake", IgnoreErrors{}))
306+
if (!fs.exists(package_dir / FileShare / package_name / FileVcpkgPortConfig, IgnoreErrors{}))
307307
{
308308
msg_sink.print(Color::warning,
309309
LocalizedString::from_raw(portfile_cmake)
@@ -327,8 +327,8 @@ namespace vcpkg
327327
static constexpr StringLiteral STANDARD_INSTALL_USAGE =
328328
R"###(file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}"))###";
329329

330-
auto usage_path_from = port_dir / "usage";
331-
auto usage_path_to = package_dir / "share" / package_name / "usage";
330+
auto usage_path_from = port_dir / FileUsage;
331+
auto usage_path_to = package_dir / FileShare / package_name / FileUsage;
332332

333333
if (fs.is_regular_file(usage_path_from) && !fs.is_regular_file(usage_path_to))
334334
{
@@ -467,8 +467,8 @@ namespace vcpkg
467467
const Path& portfile_cmake,
468468
MessageSink& msg_sink)
469469
{
470-
static constexpr StringLiteral copyright_filenames[] = {"COPYING", "LICENSE", "LICENSE.txt"};
471-
const auto copyright_file = package_dir / "share" / spec_name / "copyright";
470+
static constexpr StringLiteral copyright_filenames[] = {FileCopying, FileLicense, FileLicenseDotTxt};
471+
const auto copyright_file = package_dir / FileShare / spec_name / FileCopyright;
472472

473473
switch (fs.status(copyright_file, IgnoreErrors{}))
474474
{

0 commit comments

Comments
 (0)