diff --git a/lib/analyze-action-post.js b/lib/analyze-action-post.js index cca06fede..64bd02866 100644 --- a/lib/analyze-action-post.js +++ b/lib/analyze-action-post.js @@ -119955,12 +119955,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 1751b0335..04fac7627 100644 --- a/lib/analyze-action.js +++ b/lib/analyze-action.js @@ -88684,12 +88684,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 58190c45d..94f3208a9 100644 --- a/lib/autobuild-action.js +++ b/lib/autobuild-action.js @@ -84004,12 +84004,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 cb01600f5..c8733b2ef 100644 --- a/lib/init-action-post.js +++ b/lib/init-action-post.js @@ -123336,12 +123336,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 a3b4cf1f5..9cd372325 100644 --- a/lib/init-action.js +++ b/lib/init-action.js @@ -86098,12 +86098,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", @@ -86649,10 +86643,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 @@ -86700,14 +86693,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) { @@ -86773,7 +86766,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 026a62424..4f6d48f3f 100644 --- a/lib/resolve-environment-action.js +++ b/lib/resolve-environment-action.js @@ -83995,12 +83995,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 265caf361..18b293b2a 100644 --- a/lib/setup-codeql-action.js +++ b/lib/setup-codeql-action.js @@ -83904,12 +83904,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 6171b2cc5..590556cc8 100644 --- a/lib/start-proxy-action-post.js +++ b/lib/start-proxy-action-post.js @@ -119361,12 +119361,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 a22f9949e..322609fc0 100644 --- a/lib/start-proxy-action.js +++ b/lib/start-proxy-action.js @@ -100023,12 +100023,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 bd363f7ff..6057b1298 100644 --- a/lib/upload-lib.js +++ b/lib/upload-lib.js @@ -87061,12 +87061,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 dd361efcd..c853dd8b6 100644 --- a/lib/upload-sarif-action-post.js +++ b/lib/upload-sarif-action-post.js @@ -119527,12 +119527,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 db4a464eb..f927d490f 100644 --- a/lib/upload-sarif-action.js +++ b/lib/upload-sarif-action.js @@ -86854,12 +86854,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 bf60b4902..32c794450 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] - : [], - ); - 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); + 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, + ); + + 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 3a1d040db..5ae11ea3a 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 068d84727..e92341df2 100644 --- a/src/feature-flags.ts +++ b/src/feature-flags.ts @@ -76,7 +76,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", } @@ -161,12 +160,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",