diff --git a/extensions/ql-vscode/src/codeql-cli/cli.ts b/extensions/ql-vscode/src/codeql-cli/cli.ts index 431713152fa..a53c4337ba3 100644 --- a/extensions/ql-vscode/src/codeql-cli/cli.ts +++ b/extensions/ql-vscode/src/codeql-cli/cli.ts @@ -1909,38 +1909,12 @@ function shouldDebugCliServer() { export class CliVersionConstraint { // The oldest version of the CLI that we support. This is used to determine // whether to show a warning about the CLI being too old on startup. - public static OLDEST_SUPPORTED_CLI_VERSION = new SemVer("v2.15.5"); - - public static CLI_VERSION_WITHOUT_MRVA_EXTENSIBLE_PREDICATE_HACK = new SemVer( - "2.16.1", - ); - - /** - * CLI version where there is support for multiple queries on the pack create command. - */ - public static CLI_VERSION_WITH_MULTI_QUERY_PACK_CREATE = new SemVer("2.16.1"); + public static OLDEST_SUPPORTED_CLI_VERSION = new SemVer("2.16.6"); constructor(private readonly cli: CodeQLCliServer) { /**/ } - private async isVersionAtLeast(v: SemVer) { - return (await this.cli.getVersion()).compare(v) >= 0; - } - - async preservesExtensiblePredicatesInMrvaPack() { - // Negated, because we _stopped_ preserving these in 2.16.1. - return !(await this.isVersionAtLeast( - CliVersionConstraint.CLI_VERSION_WITHOUT_MRVA_EXTENSIBLE_PREDICATE_HACK, - )); - } - - async supportsPackCreateWithMultipleQueries() { - return this.isVersionAtLeast( - CliVersionConstraint.CLI_VERSION_WITH_MULTI_QUERY_PACK_CREATE, - ); - } - async supportsMrvaPackCreate(): Promise { return (await this.cli.getFeatures()).mrvaPackCreate === true; } diff --git a/extensions/ql-vscode/src/variant-analysis/run-remote-query.ts b/extensions/ql-vscode/src/variant-analysis/run-remote-query.ts index 2251afe4921..c49d9d3f27e 100644 --- a/extensions/ql-vscode/src/variant-analysis/run-remote-query.ts +++ b/extensions/ql-vscode/src/variant-analysis/run-remote-query.ts @@ -116,15 +116,6 @@ async function generateQueryPack( let precompilationOpts: string[]; if (cliSupportsMrvaPackCreate) { - if ( - qlPackDetails.queryFiles.length > 1 && - !(await cliServer.cliConstraints.supportsPackCreateWithMultipleQueries()) - ) { - throw new Error( - `Installed CLI version does not allow creating a MRVA pack with multiple queries`, - ); - } - const queryOpts = qlPackDetails.queryFiles.flatMap((q) => [ "--query", join(targetPackPath, relative(qlPackDetails.qlPackRootPath, q)), diff --git a/extensions/ql-vscode/supported_cli_versions.json b/extensions/ql-vscode/supported_cli_versions.json index 4d7d065edde..d6f5db05c8e 100644 --- a/extensions/ql-vscode/supported_cli_versions.json +++ b/extensions/ql-vscode/supported_cli_versions.json @@ -3,6 +3,5 @@ "v2.18.4", "v2.17.6", "v2.16.6", - "v2.15.5", "nightly" ] diff --git a/extensions/ql-vscode/test/vscode-tests/cli-integration/variant-analysis/variant-analysis-manager.test.ts b/extensions/ql-vscode/test/vscode-tests/cli-integration/variant-analysis/variant-analysis-manager.test.ts index 1f770162533..62a8af2b61f 100644 --- a/extensions/ql-vscode/test/vscode-tests/cli-integration/variant-analysis/variant-analysis-manager.test.ts +++ b/extensions/ql-vscode/test/vscode-tests/cli-integration/variant-analysis/variant-analysis-manager.test.ts @@ -15,7 +15,6 @@ import { isAbsolute, join } from "path"; import { VariantAnalysisManager } from "../../../../src/variant-analysis/variant-analysis-manager"; import type { CodeQLCliServer } from "../../../../src/codeql-cli/cli"; -import { CliVersionConstraint } from "../../../../src/codeql-cli/cli"; import { getActivatedExtension, storagePath } from "../../global.helper"; import { VariantAnalysisResultsManager } from "../../../../src/variant-analysis/variant-analysis-results-manager"; import type { VariantAnalysisSubmission } from "../../../../src/variant-analysis/shared/variant-analysis"; @@ -347,13 +346,6 @@ describe("Variant Analysis Manager", () => { const queryToRun = "Security/CWE/CWE-020/ExternalAPIsUsedWithUntrustedData.ql"; - // Recent versions of the CLI don't preserve queries with extensible predicates in MRVA packs, - // because all the necessary info is in the `.packinfo` file. - const extraQueries = - (await cli.cliConstraints.preservesExtensiblePredicatesInMrvaPack()) - ? ["Telemetry/ExtractorInformation.ql"] - : []; - const qlPackRootPath = join(process.env.TEST_CODEQL_PATH, "java/ql/src"); const queryPath = join(qlPackRootPath, queryToRun); const qlPackFilePath = join(qlPackRootPath, "qlpack.yml"); @@ -362,7 +354,7 @@ describe("Variant Analysis Manager", () => { qlPackRootPath, qlPackFilePath, expectedPackName: "codeql/java-queries", - filesThatExist: [queryToRun, ...extraQueries], + filesThatExist: [queryToRun], filesThatDoNotExist: [], qlxFilesThatExist: [], dependenciesToCheck: ["codeql/java-all"], @@ -372,13 +364,6 @@ describe("Variant Analysis Manager", () => { }); it("should run multiple queries that are part of the same pack", async () => { - if (!(await cli.cliConstraints.supportsPackCreateWithMultipleQueries())) { - console.log( - `Skipping test because MRVA with multiple queries is only suppported in CLI version ${CliVersionConstraint.CLI_VERSION_WITH_MULTI_QUERY_PACK_CREATE} or later.`, - ); - return; - } - await doVariantAnalysisTest({ queryPaths: [ "data-qlpack-multiple-queries/query1.ql",