Skip to content

Commit 318136f

Browse files
authored
Allow multiple file URIs to be passed into prepareRemoteQueryRun (#3241)
1 parent f993258 commit 318136f

File tree

3 files changed

+17
-9
lines changed

3 files changed

+17
-9
lines changed

extensions/ql-vscode/src/variant-analysis/run-remote-query.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -274,11 +274,19 @@ interface PreparedRemoteQuery {
274274
export async function prepareRemoteQueryRun(
275275
cliServer: CodeQLCliServer,
276276
credentials: Credentials,
277-
uri: Uri,
277+
uris: Uri[],
278278
progress: ProgressCallback,
279279
token: CancellationToken,
280280
dbManager: DbManager,
281281
): Promise<PreparedRemoteQuery> {
282+
if (uris.length !== 1) {
283+
// For now we only support a single file, but we're aiming
284+
// to support multiple files in the near future.
285+
throw Error("Exactly one query file must be selected.");
286+
}
287+
288+
const uri = uris[0];
289+
282290
if (!uri.fsPath.endsWith(".ql")) {
283291
throw new UserCancellationException("Not a CodeQL query file.");
284292
}

extensions/ql-vscode/src/variant-analysis/variant-analysis-manager.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -220,7 +220,7 @@ export class VariantAnalysisManager
220220
private async runVariantAnalysisCommand(uri: Uri): Promise<void> {
221221
return withProgress(
222222
async (progress, token) => {
223-
await this.runVariantAnalysis(uri, progress, token);
223+
await this.runVariantAnalysis([uri], progress, token);
224224
},
225225
{
226226
title: "Run Variant Analysis",
@@ -230,7 +230,7 @@ export class VariantAnalysisManager
230230
}
231231

232232
public async runVariantAnalysis(
233-
uri: Uri,
233+
uris: Uri[],
234234
progress: ProgressCallback,
235235
token: CancellationToken,
236236
): Promise<void> {
@@ -254,7 +254,7 @@ export class VariantAnalysisManager
254254
} = await prepareRemoteQueryRun(
255255
this.cliServer,
256256
this.app.credentials,
257-
uri,
257+
uris,
258258
progress,
259259
token,
260260
this.dbManager,

extensions/ql-vscode/test/vscode-tests/cli-integration/variant-analysis/variant-analysis-manager.test.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ describe("Variant Analysis Manager", () => {
100100
const fileUri = getFile("data-remote-qlpack/in-pack.ql");
101101

102102
await variantAnalysisManager.runVariantAnalysis(
103-
fileUri,
103+
[fileUri],
104104
progress,
105105
cancellationTokenSource.token,
106106
);
@@ -121,7 +121,7 @@ describe("Variant Analysis Manager", () => {
121121
const fileUri = getFile("data-remote-no-qlpack/in-pack.ql");
122122

123123
await variantAnalysisManager.runVariantAnalysis(
124-
fileUri,
124+
[fileUri],
125125
progress,
126126
cancellationTokenSource.token,
127127
);
@@ -142,7 +142,7 @@ describe("Variant Analysis Manager", () => {
142142
const fileUri = getFile("data-remote-qlpack-nested/subfolder/in-pack.ql");
143143

144144
await variantAnalysisManager.runVariantAnalysis(
145-
fileUri,
145+
[fileUri],
146146
progress,
147147
cancellationTokenSource.token,
148148
);
@@ -163,7 +163,7 @@ describe("Variant Analysis Manager", () => {
163163
const fileUri = getFile("data-remote-no-qlpack/in-pack.ql");
164164

165165
const promise = variantAnalysisManager.runVariantAnalysis(
166-
fileUri,
166+
[fileUri],
167167
progress,
168168
cancellationTokenSource.token,
169169
);
@@ -313,7 +313,7 @@ describe("Variant Analysis Manager", () => {
313313
}) {
314314
const fileUri = getFile(queryPath);
315315
await variantAnalysisManager.runVariantAnalysis(
316-
fileUri,
316+
[fileUri],
317317
progress,
318318
cancellationTokenSource.token,
319319
);

0 commit comments

Comments
 (0)