3
0
Fork 0
mirror of https://github.com/Swatinem/rust-cache synced 2025-08-07 05:41:24 +00:00

workspace can only have one Cargo.lock

This commit is contained in:
Max Heller 2023-11-25 10:22:02 -05:00
parent 542fe36d5b
commit 1b681b21ae
No known key found for this signature in database
GPG key ID: 4C0F60F44836C137
5 changed files with 41 additions and 43 deletions

28
dist/restore/index.js vendored
View file

@ -86960,6 +86960,7 @@ var cache_lib_cache = __nccwpck_require__(7799);
function reportError(e) {
const { commandFailed } = e;
if (commandFailed) {
@ -87007,6 +87008,15 @@ function getCacheProvider() {
cache: cache,
};
}
async function utils_exists(path) {
try {
await external_fs_default().promises.access(path);
return true;
}
catch {
return false;
}
}
;// CONCATENATED MODULE: ./src/workspace.ts
@ -87199,10 +87209,8 @@ class CacheConfig {
keyFiles.push(cargo_manifest);
}
}
const cargo_locks = sort_and_uniq(workspaceMembers
.map(member => external_path_default().join(member.path, "Cargo.lock"))
.filter((external_fs_default()).existsSync));
for (const cargo_lock of cargo_locks) {
const cargo_lock = external_path_default().join(workspace.root, "Cargo.lock");
if (await utils_exists(cargo_lock)) {
try {
const content = await promises_default().readFile(cargo_lock, { encoding: "utf8" });
const parsed = parse(content);
@ -87365,6 +87373,7 @@ function sort_and_uniq(a) {
async function cleanTargetDir(targetDir, packages, checkTimestamp = false) {
lib_core.debug(`cleaning target directory "${targetDir}"`);
// remove all *files* from the profile directory
@ -87373,7 +87382,7 @@ async function cleanTargetDir(targetDir, packages, checkTimestamp = false) {
if (dirent.isDirectory()) {
let dirName = external_path_default().join(dir.path, dirent.name);
// is it a profile dir, or a nested target dir?
let isNestedTarget = (await exists(external_path_default().join(dirName, "CACHEDIR.TAG"))) || (await exists(external_path_default().join(dirName, ".rustc_info.json")));
let isNestedTarget = (await utils_exists(external_path_default().join(dirName, "CACHEDIR.TAG"))) || (await utils_exists(external_path_default().join(dirName, ".rustc_info.json")));
try {
if (isNestedTarget) {
await cleanTargetDir(dirName, packages, checkTimestamp);
@ -87646,15 +87655,6 @@ async function rmRF(dirName) {
core.debug(`deleting "${dirName}"`);
await io.rmRF(dirName);
}
async function exists(path) {
try {
await external_fs_default().promises.access(path);
return true;
}
catch {
return false;
}
}
;// CONCATENATED MODULE: ./src/restore.ts