diff --git a/lib/analyze-action-post.js b/lib/analyze-action-post.js index 7fd5d7df08..850764bbff 100644 --- a/lib/analyze-action-post.js +++ b/lib/analyze-action-post.js @@ -119173,12 +119173,6 @@ var featureConfig = { legacyApi: true, minimumVersion: void 0 }, - ["resolve_supported_languages_using_cli" /* ResolveSupportedLanguagesUsingCli */]: { - defaultValue: false, - envVar: "CODEQL_ACTION_RESOLVE_SUPPORTED_LANGUAGES_USING_CLI", - minimumVersion: void 0, - toolsFeature: "builtinExtractorsSpecifyDefaultQueries" /* BuiltinExtractorsSpecifyDefaultQueries */ - }, ["overlay_analysis" /* OverlayAnalysis */]: { defaultValue: false, envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS", diff --git a/lib/analyze-action.js b/lib/analyze-action.js index 8b936b19d2..d7ab7fc126 100644 --- a/lib/analyze-action.js +++ b/lib/analyze-action.js @@ -91151,12 +91151,6 @@ var featureConfig = { legacyApi: true, minimumVersion: void 0 }, - ["resolve_supported_languages_using_cli" /* ResolveSupportedLanguagesUsingCli */]: { - defaultValue: false, - envVar: "CODEQL_ACTION_RESOLVE_SUPPORTED_LANGUAGES_USING_CLI", - minimumVersion: void 0, - toolsFeature: "builtinExtractorsSpecifyDefaultQueries" /* BuiltinExtractorsSpecifyDefaultQueries */ - }, ["overlay_analysis" /* OverlayAnalysis */]: { defaultValue: false, envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS", diff --git a/lib/autobuild-action.js b/lib/autobuild-action.js index f2aa1ddffb..982e09e6ec 100644 --- a/lib/autobuild-action.js +++ b/lib/autobuild-action.js @@ -79926,12 +79926,6 @@ var featureConfig = { legacyApi: true, minimumVersion: void 0 }, - ["resolve_supported_languages_using_cli" /* ResolveSupportedLanguagesUsingCli */]: { - defaultValue: false, - envVar: "CODEQL_ACTION_RESOLVE_SUPPORTED_LANGUAGES_USING_CLI", - minimumVersion: void 0, - toolsFeature: "builtinExtractorsSpecifyDefaultQueries" /* BuiltinExtractorsSpecifyDefaultQueries */ - }, ["overlay_analysis" /* OverlayAnalysis */]: { defaultValue: false, envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS", diff --git a/lib/init-action-post.js b/lib/init-action-post.js index b2de76f433..0ea922cb31 100644 --- a/lib/init-action-post.js +++ b/lib/init-action-post.js @@ -129289,12 +129289,6 @@ var featureConfig = { legacyApi: true, minimumVersion: void 0 }, - ["resolve_supported_languages_using_cli" /* ResolveSupportedLanguagesUsingCli */]: { - defaultValue: false, - envVar: "CODEQL_ACTION_RESOLVE_SUPPORTED_LANGUAGES_USING_CLI", - minimumVersion: void 0, - toolsFeature: "builtinExtractorsSpecifyDefaultQueries" /* BuiltinExtractorsSpecifyDefaultQueries */ - }, ["overlay_analysis" /* OverlayAnalysis */]: { defaultValue: false, envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS", diff --git a/lib/init-action.js b/lib/init-action.js index 18e350024c..a867f33ed9 100644 --- a/lib/init-action.js +++ b/lib/init-action.js @@ -88591,12 +88591,6 @@ var featureConfig = { legacyApi: true, minimumVersion: void 0 }, - ["resolve_supported_languages_using_cli" /* ResolveSupportedLanguagesUsingCli */]: { - defaultValue: false, - envVar: "CODEQL_ACTION_RESOLVE_SUPPORTED_LANGUAGES_USING_CLI", - minimumVersion: void 0, - toolsFeature: "builtinExtractorsSpecifyDefaultQueries" /* BuiltinExtractorsSpecifyDefaultQueries */ - }, ["overlay_analysis" /* OverlayAnalysis */]: { defaultValue: false, envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS", @@ -89142,10 +89136,9 @@ async function cachePrefix(codeql, language) { } // src/config-utils.ts -async function getSupportedLanguageMap(codeql, features, logger) { - const resolveSupportedLanguagesUsingCli = await features.getValue( - "resolve_supported_languages_using_cli" /* ResolveSupportedLanguagesUsingCli */, - codeql +async function getSupportedLanguageMap(codeql, logger) { + const resolveSupportedLanguagesUsingCli = await codeql.supportsFeature( + "builtinExtractorsSpecifyDefaultQueries" /* BuiltinExtractorsSpecifyDefaultQueries */ ); const resolveResult = await codeql.betterResolveLanguages({ filterToLanguagesWithQueries: resolveSupportedLanguagesUsingCli @@ -89193,14 +89186,14 @@ async function getRawLanguagesInRepo(repository, sourceRoot, logger) { logger.debug(`Raw languages in repository: ${result.join(", ")}`); return result; } -async function getLanguages(codeql, languagesInput, repository, sourceRoot, features, logger) { +async function getLanguages(codeql, languagesInput, repository, sourceRoot, logger) { const { rawLanguages, autodetected } = await getRawLanguages( languagesInput, repository, sourceRoot, logger ); - const languageMap = await getSupportedLanguageMap(codeql, features, logger); + const languageMap = await getSupportedLanguageMap(codeql, logger); const languagesSet = /* @__PURE__ */ new Set(); const unknownLanguages = []; for (const language of rawLanguages) { @@ -89266,7 +89259,6 @@ async function initActionState({ languagesInput, repository, sourceRoot, - features, logger ); const buildMode = await parseBuildModeInput( diff --git a/lib/resolve-environment-action.js b/lib/resolve-environment-action.js index e0474b9a5c..7b2e6f28a6 100644 --- a/lib/resolve-environment-action.js +++ b/lib/resolve-environment-action.js @@ -79917,12 +79917,6 @@ var featureConfig = { legacyApi: true, minimumVersion: void 0 }, - ["resolve_supported_languages_using_cli" /* ResolveSupportedLanguagesUsingCli */]: { - defaultValue: false, - envVar: "CODEQL_ACTION_RESOLVE_SUPPORTED_LANGUAGES_USING_CLI", - minimumVersion: void 0, - toolsFeature: "builtinExtractorsSpecifyDefaultQueries" /* BuiltinExtractorsSpecifyDefaultQueries */ - }, ["overlay_analysis" /* OverlayAnalysis */]: { defaultValue: false, envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS", diff --git a/lib/setup-codeql-action.js b/lib/setup-codeql-action.js index 37fc43ec6d..e6b9051f42 100644 --- a/lib/setup-codeql-action.js +++ b/lib/setup-codeql-action.js @@ -86396,12 +86396,6 @@ var featureConfig = { legacyApi: true, minimumVersion: void 0 }, - ["resolve_supported_languages_using_cli" /* ResolveSupportedLanguagesUsingCli */]: { - defaultValue: false, - envVar: "CODEQL_ACTION_RESOLVE_SUPPORTED_LANGUAGES_USING_CLI", - minimumVersion: void 0, - toolsFeature: "builtinExtractorsSpecifyDefaultQueries" /* BuiltinExtractorsSpecifyDefaultQueries */ - }, ["overlay_analysis" /* OverlayAnalysis */]: { defaultValue: false, envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS", diff --git a/lib/start-proxy-action-post.js b/lib/start-proxy-action-post.js index b224695c4b..2737ab2bcc 100644 --- a/lib/start-proxy-action-post.js +++ b/lib/start-proxy-action-post.js @@ -118579,12 +118579,6 @@ var featureConfig = { legacyApi: true, minimumVersion: void 0 }, - ["resolve_supported_languages_using_cli" /* ResolveSupportedLanguagesUsingCli */]: { - defaultValue: false, - envVar: "CODEQL_ACTION_RESOLVE_SUPPORTED_LANGUAGES_USING_CLI", - minimumVersion: void 0, - toolsFeature: "builtinExtractorsSpecifyDefaultQueries" /* BuiltinExtractorsSpecifyDefaultQueries */ - }, ["overlay_analysis" /* OverlayAnalysis */]: { defaultValue: false, envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS", diff --git a/lib/start-proxy-action.js b/lib/start-proxy-action.js index dc17468b85..f803ed6bcf 100644 --- a/lib/start-proxy-action.js +++ b/lib/start-proxy-action.js @@ -96708,12 +96708,6 @@ var featureConfig = { legacyApi: true, minimumVersion: void 0 }, - ["resolve_supported_languages_using_cli" /* ResolveSupportedLanguagesUsingCli */]: { - defaultValue: false, - envVar: "CODEQL_ACTION_RESOLVE_SUPPORTED_LANGUAGES_USING_CLI", - minimumVersion: void 0, - toolsFeature: "builtinExtractorsSpecifyDefaultQueries" /* BuiltinExtractorsSpecifyDefaultQueries */ - }, ["overlay_analysis" /* OverlayAnalysis */]: { defaultValue: false, envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS", diff --git a/lib/upload-lib.js b/lib/upload-lib.js index a952f35ab4..e8492f3a26 100644 --- a/lib/upload-lib.js +++ b/lib/upload-lib.js @@ -89388,12 +89388,6 @@ var featureConfig = { legacyApi: true, minimumVersion: void 0 }, - ["resolve_supported_languages_using_cli" /* ResolveSupportedLanguagesUsingCli */]: { - defaultValue: false, - envVar: "CODEQL_ACTION_RESOLVE_SUPPORTED_LANGUAGES_USING_CLI", - minimumVersion: void 0, - toolsFeature: "builtinExtractorsSpecifyDefaultQueries" /* BuiltinExtractorsSpecifyDefaultQueries */ - }, ["overlay_analysis" /* OverlayAnalysis */]: { defaultValue: false, envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS", diff --git a/lib/upload-sarif-action-post.js b/lib/upload-sarif-action-post.js index 17777d3b8f..1091f89765 100644 --- a/lib/upload-sarif-action-post.js +++ b/lib/upload-sarif-action-post.js @@ -118745,12 +118745,6 @@ var featureConfig = { legacyApi: true, minimumVersion: void 0 }, - ["resolve_supported_languages_using_cli" /* ResolveSupportedLanguagesUsingCli */]: { - defaultValue: false, - envVar: "CODEQL_ACTION_RESOLVE_SUPPORTED_LANGUAGES_USING_CLI", - minimumVersion: void 0, - toolsFeature: "builtinExtractorsSpecifyDefaultQueries" /* BuiltinExtractorsSpecifyDefaultQueries */ - }, ["overlay_analysis" /* OverlayAnalysis */]: { defaultValue: false, envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS", diff --git a/lib/upload-sarif-action.js b/lib/upload-sarif-action.js index 9596cc4512..aca27034ee 100644 --- a/lib/upload-sarif-action.js +++ b/lib/upload-sarif-action.js @@ -89339,12 +89339,6 @@ var featureConfig = { legacyApi: true, minimumVersion: void 0 }, - ["resolve_supported_languages_using_cli" /* ResolveSupportedLanguagesUsingCli */]: { - defaultValue: false, - envVar: "CODEQL_ACTION_RESOLVE_SUPPORTED_LANGUAGES_USING_CLI", - minimumVersion: void 0, - toolsFeature: "builtinExtractorsSpecifyDefaultQueries" /* BuiltinExtractorsSpecifyDefaultQueries */ - }, ["overlay_analysis" /* OverlayAnalysis */]: { defaultValue: false, envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS", diff --git a/src/config-utils.test.ts b/src/config-utils.test.ts index bf60b4902e..32c794450b 100644 --- a/src/config-utils.test.ts +++ b/src/config-utils.test.ts @@ -873,71 +873,62 @@ const mockRepositoryNwo = parseRepositoryNwo("owner/repo"); expectedLanguages: ["javascript"], }, ].forEach((args) => { - for (const resolveSupportedLanguagesUsingCli of [true, false]) { - test(`getLanguages${resolveSupportedLanguagesUsingCli ? " (supported languages via CLI)" : ""}: ${args.name}`, async (t) => { - const features = createFeatures( - resolveSupportedLanguagesUsingCli - ? [Feature.ResolveSupportedLanguagesUsingCli] - : [], + test(`getLanguages: ${args.name}`, async (t) => { + const mockRequest = mockLanguagesInRepo(args.languagesInRepository); + const stubExtractorEntry = { + extractor_root: "", + }; + const codeQL = createStubCodeQL({ + betterResolveLanguages: (options) => + Promise.resolve({ + aliases: { + "c#": KnownLanguage.csharp, + c: KnownLanguage.cpp, + kotlin: KnownLanguage.java, + typescript: KnownLanguage.javascript, + }, + extractors: { + cpp: [stubExtractorEntry], + csharp: [stubExtractorEntry], + java: [stubExtractorEntry], + javascript: [stubExtractorEntry], + python: [stubExtractorEntry], + ...(options?.filterToLanguagesWithQueries + ? {} + : { + html: [stubExtractorEntry], + }), + }, + }), + }); + + if (args.expectedLanguages) { + // happy path + const actualLanguages = await configUtils.getLanguages( + codeQL, + args.languagesInput, + mockRepositoryNwo, + ".", + mockLogger, ); - const mockRequest = mockLanguagesInRepo(args.languagesInRepository); - const stubExtractorEntry = { - extractor_root: "", - }; - const codeQL = createStubCodeQL({ - betterResolveLanguages: (options) => - Promise.resolve({ - aliases: { - "c#": KnownLanguage.csharp, - c: KnownLanguage.cpp, - kotlin: KnownLanguage.java, - typescript: KnownLanguage.javascript, - }, - extractors: { - cpp: [stubExtractorEntry], - csharp: [stubExtractorEntry], - java: [stubExtractorEntry], - javascript: [stubExtractorEntry], - python: [stubExtractorEntry], - ...(options?.filterToLanguagesWithQueries - ? {} - : { - html: [stubExtractorEntry], - }), - }, - }), - }); - - if (args.expectedLanguages) { - // happy path - const actualLanguages = await configUtils.getLanguages( - codeQL, - args.languagesInput, - mockRepositoryNwo, - ".", - features, - mockLogger, - ); - t.deepEqual(actualLanguages.sort(), args.expectedLanguages.sort()); - } else { - // there is an error - await t.throwsAsync( - async () => - await configUtils.getLanguages( - codeQL, - args.languagesInput, - mockRepositoryNwo, - ".", - features, - mockLogger, - ), - { message: args.expectedError }, - ); - } - t.deepEqual(mockRequest.called, args.expectedApiCall); - }); - } + t.deepEqual(actualLanguages.sort(), args.expectedLanguages.sort()); + } else { + // there is an error + await t.throwsAsync( + async () => + await configUtils.getLanguages( + codeQL, + args.languagesInput, + mockRepositoryNwo, + ".", + mockLogger, + ), + { message: args.expectedError }, + ); + } + t.deepEqual(mockRequest.called, args.expectedApiCall); + }); }); for (const { displayName, language, feature } of [ diff --git a/src/config-utils.ts b/src/config-utils.ts index f523213b1d..dc2fb3a068 100644 --- a/src/config-utils.ts +++ b/src/config-utils.ts @@ -34,6 +34,7 @@ import { OverlayDatabaseMode, } from "./overlay-database-utils"; import { RepositoryNwo } from "./repository"; +import { ToolsFeature } from "./tools-features"; import { downloadTrapCaches } from "./trap-caching"; import { GitHubVersion, @@ -177,12 +178,10 @@ export interface Config { export async function getSupportedLanguageMap( codeql: CodeQL, - features: FeatureEnablement, logger: Logger, ): Promise> { - const resolveSupportedLanguagesUsingCli = await features.getValue( - Feature.ResolveSupportedLanguagesUsingCli, - codeql, + const resolveSupportedLanguagesUsingCli = await codeql.supportsFeature( + ToolsFeature.BuiltinExtractorsSpecifyDefaultQueries, ); const resolveResult = await codeql.betterResolveLanguages({ filterToLanguagesWithQueries: resolveSupportedLanguagesUsingCli, @@ -283,7 +282,6 @@ export async function getLanguages( languagesInput: string | undefined, repository: RepositoryNwo, sourceRoot: string, - features: FeatureEnablement, logger: Logger, ): Promise { // Obtain languages without filtering them. @@ -294,7 +292,7 @@ export async function getLanguages( logger, ); - const languageMap = await getSupportedLanguageMap(codeql, features, logger); + const languageMap = await getSupportedLanguageMap(codeql, logger); const languagesSet = new Set(); const unknownLanguages: string[] = []; @@ -431,7 +429,6 @@ export async function initActionState( languagesInput, repository, sourceRoot, - features, logger, ); diff --git a/src/feature-flags.ts b/src/feature-flags.ts index 334769913a..26d2e1c4c6 100644 --- a/src/feature-flags.ts +++ b/src/feature-flags.ts @@ -75,7 +75,6 @@ export enum Feature { OverlayAnalysisSwift = "overlay_analysis_swift", PythonDefaultIsToNotExtractStdlib = "python_default_is_to_not_extract_stdlib", QaTelemetryEnabled = "qa_telemetry_enabled", - ResolveSupportedLanguagesUsingCli = "resolve_supported_languages_using_cli", UseRepositoryProperties = "use_repository_properties", ValidateDbConfig = "validate_db_config", } @@ -155,12 +154,6 @@ export const featureConfig: Record< legacyApi: true, minimumVersion: undefined, }, - [Feature.ResolveSupportedLanguagesUsingCli]: { - defaultValue: false, - envVar: "CODEQL_ACTION_RESOLVE_SUPPORTED_LANGUAGES_USING_CLI", - minimumVersion: undefined, - toolsFeature: ToolsFeature.BuiltinExtractorsSpecifyDefaultQueries, - }, [Feature.OverlayAnalysis]: { defaultValue: false, envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS",