Implement support for language aliasing

This commit is contained in:
Henry Mercer
2023-09-14 15:26:38 +01:00
parent e982de4fb4
commit 74714a34ca
15 changed files with 121 additions and 61 deletions

View File

@@ -212,6 +212,9 @@ export interface ResolveLanguagesOutput {
}
export interface BetterResolveLanguagesOutput {
aliases?: {
[alias: string]: string;
};
extractors: {
[language: string]: [
{
@@ -330,6 +333,11 @@ export const CODEQL_VERSION_RESOLVE_ENVIRONMENT = "2.13.4";
*/
export const CODEQL_VERSION_LANGUAGE_BASELINE_CONFIG = "2.14.2";
/**
* Versions 2.14.4+ of the CodeQL CLI support language aliasing.
*/
export const CODEQL_VERSION_LANGUAGE_ALIASING = "2.14.4";
/**
* Set up CodeQL CLI access.
*
@@ -710,11 +718,20 @@ export async function getCodeQLForCmd(
}
},
async betterResolveLanguages() {
const extraArgs: string[] = [];
if (
await util.codeQlVersionAbove(this, CODEQL_VERSION_LANGUAGE_ALIASING)
) {
extraArgs.push("--extractor-include-aliases");
}
const codeqlArgs = [
"resolve",
"languages",
"--format=betterjson",
"--extractor-options-verbosity=4",
...extraArgs,
...getExtraOptionsFromEnv(["resolve", "languages"]),
];
const output = await runTool(cmd, codeqlArgs);