Configure temp dependency dir for C# extractor when FF is enabled

And also clean it up.
This commit is contained in:
Michael B. Gale
2025-11-13 14:03:44 +00:00
parent ecaa6db95a
commit f5f9571d61
7 changed files with 93 additions and 37 deletions
+16 -8
View File
@@ -120768,6 +120768,9 @@ var glob = __toESM(require_glob3());
function getJavaTempDependencyDir() {
return (0, import_path.join)(getTemporaryDirectory(), "codeql_java", "repository");
}
function getCsharpTempDependencyDir() {
return (0, import_path.join)(getTemporaryDirectory(), "codeql_csharp", "repository");
}
// src/debug-artifacts.ts
function sanitizeArtifactName(name) {
@@ -120888,14 +120891,19 @@ async function runWrapper() {
);
}
}
const javaTempDependencyDir = getJavaTempDependencyDir();
if (fs6.existsSync(javaTempDependencyDir)) {
try {
fs6.rmSync(javaTempDependencyDir, { recursive: true });
} catch (error4) {
logger.info(
`Failed to remove temporary Java dependencies directory: ${getErrorMessage(error4)}`
);
const tempDependencyDirs = [
getJavaTempDependencyDir(),
getCsharpTempDependencyDir()
];
for (const tempDependencyDir of tempDependencyDirs) {
if (fs6.existsSync(tempDependencyDir)) {
try {
fs6.rmSync(tempDependencyDir, { recursive: true });
} catch (error4) {
logger.info(
`Failed to remove temporary dependencies directory: ${getErrorMessage(error4)}`
);
}
}
}
} catch (error4) {
+9 -4
View File
@@ -91327,7 +91327,7 @@ async function setupPythonExtractor(logger) {
);
return;
}
async function runExtraction(codeql, config, logger) {
async function runExtraction(codeql, features, config, logger) {
for (const language of config.languages) {
if (dbIsFinalized(config, language, logger)) {
logger.debug(
@@ -91347,6 +91347,9 @@ async function runExtraction(codeql, config, logger) {
if (language === "java" /* java */ && config.buildMode === "none" /* None */) {
process.env["CODEQL_EXTRACTOR_JAVA_OPTION_BUILDLESS_DEPENDENCY_DIR"] = getJavaTempDependencyDir();
}
if (language === "csharp" /* csharp */ && config.buildMode === "none" /* None */ && await features.getValue("csharp_cache_bmn" /* CsharpCacheBuildModeNone */)) {
process.env["CODEQL_EXTRACTOR_CSHARP_OPTION_BUILDLESS_DEPENDENCY_DIR"] = getCsharpTempDependencyDir();
}
await codeql.extractUsingBuildMode(config, language);
} else {
await codeql.extractScannedLanguage(config, language);
@@ -91372,9 +91375,9 @@ function dbIsFinalized(config, language, logger) {
return false;
}
}
async function finalizeDatabaseCreation(codeql, config, threadsFlag, memoryFlag, logger) {
async function finalizeDatabaseCreation(codeql, features, config, threadsFlag, memoryFlag, logger) {
const extractionStart = import_perf_hooks2.performance.now();
await runExtraction(codeql, config, logger);
await runExtraction(codeql, features, config, logger);
const extractionTime = import_perf_hooks2.performance.now() - extractionStart;
const trapImportStart = import_perf_hooks2.performance.now();
for (const language of config.languages) {
@@ -91629,7 +91632,7 @@ async function runQueries(sarifFolder, memoryFlag, threadsFlag, diffRangePackDir
return perQueryAlertCounts;
}
}
async function runFinalize(outputDir, threadsFlag, memoryFlag, codeql, config, logger) {
async function runFinalize(features, outputDir, threadsFlag, memoryFlag, codeql, config, logger) {
try {
await fs12.promises.rm(outputDir, { force: true, recursive: true });
} catch (error4) {
@@ -91640,6 +91643,7 @@ async function runFinalize(outputDir, threadsFlag, memoryFlag, codeql, config, l
await fs12.promises.mkdir(outputDir, { recursive: true });
const timings = await finalizeDatabaseCreation(
codeql,
features,
config,
threadsFlag,
memoryFlag,
@@ -93974,6 +93978,7 @@ async function run() {
await warnIfGoInstalledAfterInit(config, logger);
await runAutobuildIfLegacyGoWorkflow(config, logger);
dbCreationTimings = await runFinalize(
features,
outputDir,
threads,
memory,