Extract language appropriately in analyze step when build mode specified
This commit is contained in:
parent
db6e5fff06
commit
0fe34bd39a
23 changed files with 205 additions and 61 deletions
|
|
@ -114,6 +114,11 @@ export interface CodeQL {
|
|||
* and running the language extractor.
|
||||
*/
|
||||
extractScannedLanguage(config: Config, language: Language): Promise<void>;
|
||||
/**
|
||||
* Extract code with 'codeql database trace-command --use-build-mode'. This can only be used when
|
||||
* the database specifies a build mode. This requires the `traceCommandUseBuildMode` tool feature.
|
||||
*/
|
||||
extractUsingBuildMode(config: Config, language: Language): Promise<void>;
|
||||
/**
|
||||
* Finalize a database using 'codeql database finalize'.
|
||||
*/
|
||||
|
|
@ -474,6 +479,10 @@ export function setCodeQL(partialCodeql: Partial<CodeQL>): CodeQL {
|
|||
partialCodeql,
|
||||
"extractScannedLanguage",
|
||||
),
|
||||
extractUsingBuildMode: resolveFunction(
|
||||
partialCodeql,
|
||||
"extractUsingBuildMode",
|
||||
),
|
||||
finalizeDatabase: resolveFunction(partialCodeql, "finalizeDatabase"),
|
||||
resolveLanguages: resolveFunction(partialCodeql, "resolveLanguages"),
|
||||
betterResolveLanguages: resolveFunction(
|
||||
|
|
@ -690,6 +699,16 @@ export async function getCodeQLForCmd(
|
|||
util.getCodeQLDatabasePath(config, language),
|
||||
]);
|
||||
},
|
||||
async extractUsingBuildMode(config: Config, language: Language) {
|
||||
await runTool(cmd, [
|
||||
"database",
|
||||
"trace-command",
|
||||
"--use-build-mode",
|
||||
...(await getTrapCachingExtractorConfigArgsForLang(config, language)),
|
||||
...getExtraOptionsFromEnv(["database", "trace-command"]),
|
||||
util.getCodeQLDatabasePath(config, language),
|
||||
]);
|
||||
},
|
||||
async finalizeDatabase(
|
||||
databasePath: string,
|
||||
threadsFlag: string,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue