Use additional files for C# key hashes if Feature.CsharpNewCacheKey is enabled

This commit is contained in:
Michael B. Gale
2025-09-17 15:35:17 +01:00
parent 6b48207907
commit 0324490286
3 changed files with 91 additions and 19 deletions

27
lib/analyze-action.js generated
View File

@@ -91080,6 +91080,26 @@ async function makePatternCheck(patterns) {
}
return patterns;
}
async function getCsharpHashPatterns(codeql, features) {
const basePatterns = [
// NuGet
"**/packages.lock.json",
// Paket
"**/paket.lock"
];
const globber = await makeGlobber(basePatterns);
if ((await globber.glob()).length > 0) {
return basePatterns;
}
if (await features.getValue("csharp_new_cache_key" /* CsharpNewCacheKey */, codeql)) {
return makePatternCheck([
"**/*.csproj",
"**/packages.config",
"**/nuget.config"
]);
}
throw new NoMatchingFilesError();
}
var defaultCacheConfigs = {
java: {
getDependencyPaths: getJavaDependencyDirs,
@@ -91097,12 +91117,7 @@ var defaultCacheConfigs = {
},
csharp: {
getDependencyPaths: () => [(0, import_path.join)(os3.homedir(), ".nuget", "packages")],
getHashPatterns: async () => makePatternCheck([
// NuGet
"**/packages.lock.json",
// Paket
"**/paket.lock"
])
getHashPatterns: getCsharpHashPatterns
},
go: {
getDependencyPaths: () => [(0, import_path.join)(os3.homedir(), "go", "pkg", "mod")],

27
lib/init-action.js generated
View File

@@ -87267,6 +87267,26 @@ async function makePatternCheck(patterns) {
}
return patterns;
}
async function getCsharpHashPatterns(codeql, features) {
const basePatterns = [
// NuGet
"**/packages.lock.json",
// Paket
"**/paket.lock"
];
const globber = await makeGlobber(basePatterns);
if ((await globber.glob()).length > 0) {
return basePatterns;
}
if (await features.getValue("csharp_new_cache_key" /* CsharpNewCacheKey */, codeql)) {
return makePatternCheck([
"**/*.csproj",
"**/packages.config",
"**/nuget.config"
]);
}
throw new NoMatchingFilesError();
}
var defaultCacheConfigs = {
java: {
getDependencyPaths: getJavaDependencyDirs,
@@ -87284,12 +87304,7 @@ var defaultCacheConfigs = {
},
csharp: {
getDependencyPaths: () => [(0, import_path.join)(os2.homedir(), ".nuget", "packages")],
getHashPatterns: async () => makePatternCheck([
// NuGet
"**/packages.lock.json",
// Paket
"**/paket.lock"
])
getHashPatterns: getCsharpHashPatterns
},
go: {
getDependencyPaths: () => [(0, import_path.join)(os2.homedir(), "go", "pkg", "mod")],