Skip to content

Commit 4bba53d

Browse files
author
Dave Bartolomeo
authored
Merge pull request #2246 from github/dbartol/debug-extension-packs
Move extension pack resolution into `LocalQueries`
2 parents b67e3b7 + 0da5aab commit 4bba53d

File tree

7 files changed

+28
-6
lines changed

7 files changed

+28
-6
lines changed

extensions/ql-vscode/src/contextual/queryResolver.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,7 @@ export async function runContextualQuery(
178178
{ queryPath: query, quickEvalPosition: undefined },
179179
false,
180180
getOnDiskWorkspaceFolders(),
181+
undefined,
181182
queryStorageDir,
182183
undefined,
183184
templates,

extensions/ql-vscode/src/legacy-query-server/legacyRunner.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ export class LegacyQueryRunner extends QueryRunner {
6161
dbPath: string,
6262
query: CoreQueryTarget,
6363
additionalPacks: string[],
64+
extensionPacks: string[] | undefined,
6465
generateEvalLog: boolean,
6566
outputDir: QueryOutputDir,
6667
progress: ProgressCallback,
@@ -74,6 +75,7 @@ export class LegacyQueryRunner extends QueryRunner {
7475
query,
7576
generateEvalLog,
7677
additionalPacks,
78+
extensionPacks,
7779
outputDir,
7880
progress,
7981
token,

extensions/ql-vscode/src/legacy-query-server/run-queries.ts

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,11 @@ import {
99
DatabaseItem,
1010
DatabaseResolver,
1111
} from "../local-databases";
12-
import { showAndLogExceptionWithTelemetry, upgradesTmpDir } from "../helpers";
12+
import {
13+
showAndLogExceptionWithTelemetry,
14+
showAndLogWarningMessage,
15+
upgradesTmpDir,
16+
} from "../helpers";
1317
import { ProgressCallback } from "../progress";
1418
import { QueryMetadata } from "../pure/interface-types";
1519
import { extLogger, Logger } from "../common";
@@ -308,12 +312,19 @@ export async function compileAndRunQueryAgainstDatabaseCore(
308312
query: CoreQueryTarget,
309313
generateEvalLog: boolean,
310314
additionalPacks: string[],
315+
extensionPacks: string[] | undefined,
311316
outputDir: QueryOutputDir,
312317
progress: ProgressCallback,
313318
token: CancellationToken,
314319
templates: Record<string, string> | undefined,
315320
logger: Logger,
316321
): Promise<CoreQueryResults> {
322+
if (extensionPacks !== undefined && extensionPacks.length > 0) {
323+
await showAndLogWarningMessage(
324+
"Legacy query server does not support extension packs.",
325+
);
326+
}
327+
317328
const dbContents = await DatabaseResolver.resolveDatabaseContents(
318329
Uri.file(dbPath),
319330
);

extensions/ql-vscode/src/local-queries.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -458,14 +458,20 @@ export class LocalQueries extends DisposableObject {
458458
throw new Error("Can't run query without a selected database");
459459
}
460460

461+
const additionalPacks = getOnDiskWorkspaceFolders();
462+
const extensionPacks = (await this.cliServer.useExtensionPacks())
463+
? Object.keys(await this.cliServer.resolveQlpacks(additionalPacks, true))
464+
: undefined;
465+
461466
const coreQueryRun = this.queryRunner.createQueryRun(
462467
databaseItem.databaseUri.fsPath,
463468
{
464469
queryPath: selectedQuery.queryPath,
465470
quickEvalPosition: selectedQuery.quickEvalPosition,
466471
},
467472
true,
468-
getOnDiskWorkspaceFolders(),
473+
additionalPacks,
474+
extensionPacks,
469475
this.queryStorageDir,
470476
undefined,
471477
undefined,

extensions/ql-vscode/src/query-server/query-runner.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ export class NewQueryRunner extends QueryRunner {
7272
dbPath: string,
7373
query: CoreQueryTarget,
7474
additionalPacks: string[],
75+
extensionPacks: string[] | undefined,
7576
generateEvalLog: boolean,
7677
outputDir: QueryOutputDir,
7778
progress: ProgressCallback,
@@ -85,6 +86,7 @@ export class NewQueryRunner extends QueryRunner {
8586
query,
8687
generateEvalLog,
8788
additionalPacks,
89+
extensionPacks,
8890
outputDir,
8991
progress,
9092
token,

extensions/ql-vscode/src/query-server/run-queries.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ export async function compileAndRunQueryAgainstDatabaseCore(
2626
query: CoreQueryTarget,
2727
generateEvalLog: boolean,
2828
additionalPacks: string[],
29+
extensionPacks: string[] | undefined,
2930
outputDir: QueryOutputDir,
3031
progress: ProgressCallback,
3132
token: CancellationToken,
@@ -39,10 +40,6 @@ export async function compileAndRunQueryAgainstDatabaseCore(
3940
}
4041
: { query: {} };
4142

42-
const extensionPacks = (await qs.cliServer.useExtensionPacks())
43-
? Object.keys(await qs.cliServer.resolveQlpacks(additionalPacks, true))
44-
: undefined;
45-
4643
const evalLogPath = generateEvalLog ? outputDir.evalLogPath : undefined;
4744
const queryToRun: messages.RunQueryParams = {
4845
db: dbPath,

extensions/ql-vscode/src/queryRunner.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ export abstract class QueryRunner {
7070
dbPath: string,
7171
query: CoreQueryTarget,
7272
additionalPacks: string[],
73+
extensionPacks: string[] | undefined,
7374
generateEvalLog: boolean,
7475
outputDir: QueryOutputDir,
7576
progress: ProgressCallback,
@@ -109,6 +110,7 @@ export abstract class QueryRunner {
109110
query: CoreQueryTarget,
110111
generateEvalLog: boolean,
111112
additionalPacks: string[],
113+
extensionPacks: string[] | undefined,
112114
queryStorageDir: string,
113115
id = `${basename(query.queryPath)}-${nanoid()}`,
114116
templates: Record<string, string> | undefined,
@@ -134,6 +136,7 @@ export abstract class QueryRunner {
134136
dbPath,
135137
query,
136138
additionalPacks,
139+
extensionPacks,
137140
generateEvalLog,
138141
outputDir,
139142
progress,

0 commit comments

Comments
 (0)