mirror of
https://github.com/github/codeql-action.git
synced 2026-10-03 17:41:28 +00:00
Clean up codeql.resolveLanguages
Only the betterjson option is now used, so remove the old version.
This commit is contained in:
24
lib/entry-points.js
generated
24
lib/entry-points.js
generated
@@ -151527,7 +151527,7 @@ async function getTrapCachesForLanguage(allCaches, language, logger) {
|
|||||||
}
|
}
|
||||||
async function getLanguagesSupportingCaching(codeql, languages, logger) {
|
async function getLanguagesSupportingCaching(codeql, languages, logger) {
|
||||||
const result = [];
|
const result = [];
|
||||||
const resolveResult = await codeql.betterResolveLanguages();
|
const resolveResult = await codeql.resolveLanguages();
|
||||||
outer: for (const lang of languages) {
|
outer: for (const lang of languages) {
|
||||||
const extractorsForLanguage = resolveResult.extractors[lang];
|
const extractorsForLanguage = resolveResult.extractors[lang];
|
||||||
if (extractorsForLanguage === void 0) {
|
if (extractorsForLanguage === void 0) {
|
||||||
@@ -151580,7 +151580,7 @@ async function getSupportedLanguageMap(codeql, logger) {
|
|||||||
const resolveSupportedLanguagesUsingCli = await codeql.supportsFeature(
|
const resolveSupportedLanguagesUsingCli = await codeql.supportsFeature(
|
||||||
"builtinExtractorsSpecifyDefaultQueries" /* BuiltinExtractorsSpecifyDefaultQueries */
|
"builtinExtractorsSpecifyDefaultQueries" /* BuiltinExtractorsSpecifyDefaultQueries */
|
||||||
);
|
);
|
||||||
const resolveResult = await codeql.betterResolveLanguages({
|
const resolveResult = await codeql.resolveLanguages({
|
||||||
filterToLanguagesWithQueries: resolveSupportedLanguagesUsingCli
|
filterToLanguagesWithQueries: resolveSupportedLanguagesUsingCli
|
||||||
});
|
});
|
||||||
if (resolveSupportedLanguagesUsingCli) {
|
if (resolveSupportedLanguagesUsingCli) {
|
||||||
@@ -154078,23 +154078,7 @@ async function getCodeQLForCmd(cmd, checkVersion) {
|
|||||||
];
|
];
|
||||||
await runCli(cmd, args);
|
await runCli(cmd, args);
|
||||||
},
|
},
|
||||||
async resolveLanguages() {
|
async resolveLanguages({
|
||||||
const codeqlArgs = [
|
|
||||||
"resolve",
|
|
||||||
"languages",
|
|
||||||
"--format=json",
|
|
||||||
...getExtraOptionsFromEnv(["resolve", "languages"])
|
|
||||||
];
|
|
||||||
const output = await runCli(cmd, codeqlArgs);
|
|
||||||
try {
|
|
||||||
return JSON.parse(output);
|
|
||||||
} catch (e) {
|
|
||||||
throw new Error(
|
|
||||||
`Unexpected output from codeql resolve languages: ${e}`
|
|
||||||
);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
async betterResolveLanguages({
|
|
||||||
filterToLanguagesWithQueries
|
filterToLanguagesWithQueries
|
||||||
} = { filterToLanguagesWithQueries: false }) {
|
} = { filterToLanguagesWithQueries: false }) {
|
||||||
const codeqlArgs = [
|
const codeqlArgs = [
|
||||||
@@ -158779,7 +158763,7 @@ var WorkflowErrors = toCodedErrors({
|
|||||||
InconsistentActionVersion: `Not all workflow steps that use \`github/codeql-action\` actions use the same version. Please ensure that all such steps use the same version to avoid compatibility issues.`
|
InconsistentActionVersion: `Not all workflow steps that use \`github/codeql-action\` actions use the same version. Please ensure that all such steps use the same version to avoid compatibility issues.`
|
||||||
});
|
});
|
||||||
async function groupLanguagesByExtractor(languages, codeql) {
|
async function groupLanguagesByExtractor(languages, codeql) {
|
||||||
const resolveResult = await codeql.betterResolveLanguages();
|
const resolveResult = await codeql.resolveLanguages();
|
||||||
if (!resolveResult.aliases) {
|
if (!resolveResult.aliases) {
|
||||||
return void 0;
|
return void 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -117,16 +117,12 @@ export interface CodeQL {
|
|||||||
memoryFlag: string,
|
memoryFlag: string,
|
||||||
enableDebugLogging: boolean,
|
enableDebugLogging: boolean,
|
||||||
): Promise<void>;
|
): Promise<void>;
|
||||||
/**
|
|
||||||
* Run 'codeql resolve languages'.
|
|
||||||
*/
|
|
||||||
resolveLanguages(): Promise<ResolveLanguagesOutput>;
|
|
||||||
/**
|
/**
|
||||||
* Run 'codeql resolve languages' with '--format=betterjson'.
|
* Run 'codeql resolve languages' with '--format=betterjson'.
|
||||||
*/
|
*/
|
||||||
betterResolveLanguages(options?: {
|
resolveLanguages(options?: {
|
||||||
filterToLanguagesWithQueries: boolean;
|
filterToLanguagesWithQueries: boolean;
|
||||||
}): Promise<BetterResolveLanguagesOutput>;
|
}): Promise<ResolveLanguagesOutput>;
|
||||||
/**
|
/**
|
||||||
* Run 'codeql resolve build-environment'
|
* Run 'codeql resolve build-environment'
|
||||||
*/
|
*/
|
||||||
@@ -239,10 +235,6 @@ export interface ResolveDatabaseOutput {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export interface ResolveLanguagesOutput {
|
export interface ResolveLanguagesOutput {
|
||||||
[language: string]: [string];
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface BetterResolveLanguagesOutput {
|
|
||||||
aliases?: {
|
aliases?: {
|
||||||
[alias: string]: string;
|
[alias: string]: string;
|
||||||
};
|
};
|
||||||
@@ -460,10 +452,9 @@ export function createStubCodeQL(partialCodeql: Partial<CodeQL>): CodeQL {
|
|||||||
"extractUsingBuildMode",
|
"extractUsingBuildMode",
|
||||||
),
|
),
|
||||||
finalizeDatabase: resolveFunction(partialCodeql, "finalizeDatabase"),
|
finalizeDatabase: resolveFunction(partialCodeql, "finalizeDatabase"),
|
||||||
resolveLanguages: resolveFunction(partialCodeql, "resolveLanguages"),
|
resolveLanguages: resolveFunction(
|
||||||
betterResolveLanguages: resolveFunction(
|
|
||||||
partialCodeql,
|
partialCodeql,
|
||||||
"betterResolveLanguages",
|
"resolveLanguages",
|
||||||
async () => ({ aliases: {}, extractors: {} }),
|
async () => ({ aliases: {}, extractors: {} }),
|
||||||
),
|
),
|
||||||
resolveBuildEnvironment: resolveFunction(
|
resolveBuildEnvironment: resolveFunction(
|
||||||
@@ -735,24 +726,7 @@ async function getCodeQLForCmd(
|
|||||||
];
|
];
|
||||||
await runCli(cmd, args);
|
await runCli(cmd, args);
|
||||||
},
|
},
|
||||||
async resolveLanguages() {
|
async resolveLanguages(
|
||||||
const codeqlArgs = [
|
|
||||||
"resolve",
|
|
||||||
"languages",
|
|
||||||
"--format=json",
|
|
||||||
...getExtraOptionsFromEnv(["resolve", "languages"]),
|
|
||||||
];
|
|
||||||
const output = await runCli(cmd, codeqlArgs);
|
|
||||||
|
|
||||||
try {
|
|
||||||
return JSON.parse(output) as ResolveLanguagesOutput;
|
|
||||||
} catch (e) {
|
|
||||||
throw new Error(
|
|
||||||
`Unexpected output from codeql resolve languages: ${e}`,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
async betterResolveLanguages(
|
|
||||||
{
|
{
|
||||||
filterToLanguagesWithQueries,
|
filterToLanguagesWithQueries,
|
||||||
}: {
|
}: {
|
||||||
@@ -773,7 +747,7 @@ async function getCodeQLForCmd(
|
|||||||
const output = await runCli(cmd, codeqlArgs);
|
const output = await runCli(cmd, codeqlArgs);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
return JSON.parse(output) as BetterResolveLanguagesOutput;
|
return JSON.parse(output) as ResolveLanguagesOutput;
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
throw new Error(
|
throw new Error(
|
||||||
`Unexpected output from codeql resolve languages with --format=betterjson: ${e}`,
|
`Unexpected output from codeql resolve languages with --format=betterjson: ${e}`,
|
||||||
|
|||||||
@@ -75,7 +75,7 @@ function createTestInitConfigInputs(
|
|||||||
repository: { owner: "github", repo: "example" },
|
repository: { owner: "github", repo: "example" },
|
||||||
tempDir: "",
|
tempDir: "",
|
||||||
codeql: createStubCodeQL({
|
codeql: createStubCodeQL({
|
||||||
async betterResolveLanguages() {
|
async resolveLanguages() {
|
||||||
return {
|
return {
|
||||||
extractors: {
|
extractors: {
|
||||||
html: [{ extractor_root: "" }],
|
html: [{ extractor_root: "" }],
|
||||||
@@ -150,7 +150,7 @@ test.serial("load empty config", async (t) => {
|
|||||||
setupActionsVars(tempDir, tempDir);
|
setupActionsVars(tempDir, tempDir);
|
||||||
|
|
||||||
const codeql = createStubCodeQL({
|
const codeql = createStubCodeQL({
|
||||||
async betterResolveLanguages() {
|
async resolveLanguages() {
|
||||||
return {
|
return {
|
||||||
extractors: {
|
extractors: {
|
||||||
javascript: [{ extractor_root: "" }],
|
javascript: [{ extractor_root: "" }],
|
||||||
@@ -193,7 +193,7 @@ test.serial("load code quality config", async (t) => {
|
|||||||
setupActionsVars(tempDir, tempDir);
|
setupActionsVars(tempDir, tempDir);
|
||||||
|
|
||||||
const codeql = createStubCodeQL({
|
const codeql = createStubCodeQL({
|
||||||
async betterResolveLanguages() {
|
async resolveLanguages() {
|
||||||
return {
|
return {
|
||||||
extractors: {
|
extractors: {
|
||||||
actions: [{ extractor_root: "" }],
|
actions: [{ extractor_root: "" }],
|
||||||
@@ -247,7 +247,7 @@ test.serial(
|
|||||||
setupActionsVars(tempDir, tempDir);
|
setupActionsVars(tempDir, tempDir);
|
||||||
|
|
||||||
const codeql = createStubCodeQL({
|
const codeql = createStubCodeQL({
|
||||||
async betterResolveLanguages() {
|
async resolveLanguages() {
|
||||||
return {
|
return {
|
||||||
extractors: {
|
extractors: {
|
||||||
javascript: [{ extractor_root: "" }],
|
javascript: [{ extractor_root: "" }],
|
||||||
@@ -305,7 +305,7 @@ test.serial("loading a saved config produces the same config", async (t) => {
|
|||||||
const logger = getRunnerLogger(true);
|
const logger = getRunnerLogger(true);
|
||||||
|
|
||||||
const codeql = createStubCodeQL({
|
const codeql = createStubCodeQL({
|
||||||
async betterResolveLanguages() {
|
async resolveLanguages() {
|
||||||
return {
|
return {
|
||||||
extractors: {
|
extractors: {
|
||||||
javascript: [{ extractor_root: "" }],
|
javascript: [{ extractor_root: "" }],
|
||||||
@@ -352,7 +352,7 @@ test.serial("loading config with version mismatch throws", async (t) => {
|
|||||||
const logger = getRunnerLogger(true);
|
const logger = getRunnerLogger(true);
|
||||||
|
|
||||||
const codeql = createStubCodeQL({
|
const codeql = createStubCodeQL({
|
||||||
async betterResolveLanguages() {
|
async resolveLanguages() {
|
||||||
return {
|
return {
|
||||||
extractors: {
|
extractors: {
|
||||||
javascript: [{ extractor_root: "" }],
|
javascript: [{ extractor_root: "" }],
|
||||||
@@ -487,7 +487,7 @@ test.serial("load non-empty input", async (t) => {
|
|||||||
setupActionsVars(tempDir, tempDir);
|
setupActionsVars(tempDir, tempDir);
|
||||||
|
|
||||||
const codeql = createStubCodeQL({
|
const codeql = createStubCodeQL({
|
||||||
async betterResolveLanguages() {
|
async resolveLanguages() {
|
||||||
return {
|
return {
|
||||||
extractors: {
|
extractors: {
|
||||||
javascript: [{ extractor_root: "" }],
|
javascript: [{ extractor_root: "" }],
|
||||||
@@ -582,7 +582,7 @@ test.serial(
|
|||||||
fs.mkdirSync(path.join(tempDir, "foo"));
|
fs.mkdirSync(path.join(tempDir, "foo"));
|
||||||
|
|
||||||
const codeql = createStubCodeQL({
|
const codeql = createStubCodeQL({
|
||||||
async betterResolveLanguages() {
|
async resolveLanguages() {
|
||||||
return {
|
return {
|
||||||
extractors: {
|
extractors: {
|
||||||
javascript: [{ extractor_root: "" }],
|
javascript: [{ extractor_root: "" }],
|
||||||
@@ -615,7 +615,7 @@ test.serial(
|
|||||||
test.serial("API client used when reading remote config", async (t) => {
|
test.serial("API client used when reading remote config", async (t) => {
|
||||||
return await withTmpDir(async (tempDir) => {
|
return await withTmpDir(async (tempDir) => {
|
||||||
const codeql = createStubCodeQL({
|
const codeql = createStubCodeQL({
|
||||||
async betterResolveLanguages() {
|
async resolveLanguages() {
|
||||||
return {
|
return {
|
||||||
extractors: {
|
extractors: {
|
||||||
javascript: [{ extractor_root: "" }],
|
javascript: [{ extractor_root: "" }],
|
||||||
@@ -725,7 +725,7 @@ test.serial("No detected languages", async (t) => {
|
|||||||
mockListLanguages([]);
|
mockListLanguages([]);
|
||||||
const codeql = createStubCodeQL({
|
const codeql = createStubCodeQL({
|
||||||
async resolveLanguages() {
|
async resolveLanguages() {
|
||||||
return {};
|
return { extractors: {} };
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -891,7 +891,7 @@ const mockRepositoryNwo = parseRepositoryNwo("owner/repo");
|
|||||||
extractor_root: "",
|
extractor_root: "",
|
||||||
};
|
};
|
||||||
const codeQL = createStubCodeQL({
|
const codeQL = createStubCodeQL({
|
||||||
betterResolveLanguages: (options) =>
|
resolveLanguages: (options) =>
|
||||||
Promise.resolve({
|
Promise.resolve({
|
||||||
aliases: {
|
aliases: {
|
||||||
"c#": BuiltInLanguage.csharp,
|
"c#": BuiltInLanguage.csharp,
|
||||||
|
|||||||
@@ -266,7 +266,7 @@ async function getSupportedLanguageMap(
|
|||||||
const resolveSupportedLanguagesUsingCli = await codeql.supportsFeature(
|
const resolveSupportedLanguagesUsingCli = await codeql.supportsFeature(
|
||||||
ToolsFeature.BuiltinExtractorsSpecifyDefaultQueries,
|
ToolsFeature.BuiltinExtractorsSpecifyDefaultQueries,
|
||||||
);
|
);
|
||||||
const resolveResult = await codeql.betterResolveLanguages({
|
const resolveResult = await codeql.resolveLanguages({
|
||||||
filterToLanguagesWithQueries: resolveSupportedLanguagesUsingCli,
|
filterToLanguagesWithQueries: resolveSupportedLanguagesUsingCli,
|
||||||
});
|
});
|
||||||
if (resolveSupportedLanguagesUsingCli) {
|
if (resolveSupportedLanguagesUsingCli) {
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ const stubCodeql = createStubCodeQL({
|
|||||||
async getVersion() {
|
async getVersion() {
|
||||||
return makeVersionInfo("2.10.3");
|
return makeVersionInfo("2.10.3");
|
||||||
},
|
},
|
||||||
async betterResolveLanguages() {
|
async resolveLanguages() {
|
||||||
return {
|
return {
|
||||||
extractors: {
|
extractors: {
|
||||||
[BuiltInLanguage.javascript]: [
|
[BuiltInLanguage.javascript]: [
|
||||||
|
|||||||
@@ -280,7 +280,7 @@ export async function getLanguagesSupportingCaching(
|
|||||||
logger: Logger,
|
logger: Logger,
|
||||||
): Promise<Language[]> {
|
): Promise<Language[]> {
|
||||||
const result: Language[] = [];
|
const result: Language[] = [];
|
||||||
const resolveResult = await codeql.betterResolveLanguages();
|
const resolveResult = await codeql.resolveLanguages();
|
||||||
outer: for (const lang of languages) {
|
outer: for (const lang of languages) {
|
||||||
const extractorsForLanguage = resolveResult.extractors[lang];
|
const extractorsForLanguage = resolveResult.extractors[lang];
|
||||||
if (extractorsForLanguage === undefined) {
|
if (extractorsForLanguage === undefined) {
|
||||||
|
|||||||
@@ -383,7 +383,7 @@ async function testLanguageAliases(
|
|||||||
process.env.GITHUB_JOB = "test";
|
process.env.GITHUB_JOB = "test";
|
||||||
|
|
||||||
const codeql = await getCodeQLForTesting();
|
const codeql = await getCodeQLForTesting();
|
||||||
sinon.stub(codeql, "betterResolveLanguages").resolves({
|
sinon.stub(codeql, "resolveLanguages").resolves({
|
||||||
aliases:
|
aliases:
|
||||||
aliases !== undefined
|
aliases !== undefined
|
||||||
? // Remap from languageName -> aliases to alias -> languageName
|
? // Remap from languageName -> aliases to alias -> languageName
|
||||||
|
|||||||
@@ -86,7 +86,7 @@ async function groupLanguagesByExtractor(
|
|||||||
languages: string[],
|
languages: string[],
|
||||||
codeql: CodeQL,
|
codeql: CodeQL,
|
||||||
): Promise<{ [extractorName: string]: string[] } | undefined> {
|
): Promise<{ [extractorName: string]: string[] } | undefined> {
|
||||||
const resolveResult = await codeql.betterResolveLanguages();
|
const resolveResult = await codeql.resolveLanguages();
|
||||||
if (!resolveResult.aliases) {
|
if (!resolveResult.aliases) {
|
||||||
return undefined;
|
return undefined;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user