Skip to content

Commit c3b023c

Browse files
committed
Convert run variant analysis command to new commands package
1 parent 52b00fe commit c3b023c

3 files changed

Lines changed: 34 additions & 50 deletions

File tree

extensions/ql-vscode/src/common/commands.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { CommandManager } from "../packages/commands";
2+
import type { Uri } from "vscode";
23

34
/**
45
* Contains type definitions for all commands used by the extension.
@@ -17,6 +18,8 @@ export type VariantAnalysisCommands = {
1718
"codeQL.openVariantAnalysisLogs": (
1819
variantAnalysisId: number,
1920
) => Promise<void>;
21+
"codeQL.runVariantAnalysis": (uri?: Uri) => Promise<void>;
22+
"codeQL.runVariantAnalysisContextEditor": (uri?: Uri) => Promise<void>;
2023
};
2124

2225
export type AllCommands = ExtensionCommands & VariantAnalysisCommands;

extensions/ql-vscode/src/extension.ts

Lines changed: 0 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1151,55 +1151,6 @@ async function activateWithInstalledDistribution(
11511151
),
11521152
);
11531153

1154-
async function runVariantAnalysis(
1155-
progress: ProgressCallback,
1156-
token: CancellationToken,
1157-
uri: Uri | undefined,
1158-
): Promise<void> {
1159-
progress({
1160-
maxStep: 5,
1161-
step: 0,
1162-
message: "Getting credentials",
1163-
});
1164-
1165-
await variantAnalysisManager.runVariantAnalysis(
1166-
uri || window.activeTextEditor?.document.uri,
1167-
progress,
1168-
token,
1169-
);
1170-
}
1171-
1172-
ctx.subscriptions.push(
1173-
commandRunnerWithProgress(
1174-
"codeQL.runVariantAnalysis",
1175-
async (
1176-
progress: ProgressCallback,
1177-
token: CancellationToken,
1178-
uri: Uri | undefined,
1179-
) => await runVariantAnalysis(progress, token, uri),
1180-
{
1181-
title: "Run Variant Analysis",
1182-
cancellable: true,
1183-
},
1184-
),
1185-
);
1186-
1187-
// Since we are tracking extension usage through commands, this command mirrors the "codeQL.runVariantAnalysis" command
1188-
ctx.subscriptions.push(
1189-
commandRunnerWithProgress(
1190-
"codeQL.runVariantAnalysisContextEditor",
1191-
async (
1192-
progress: ProgressCallback,
1193-
token: CancellationToken,
1194-
uri: Uri | undefined,
1195-
) => await runVariantAnalysis(progress, token, uri),
1196-
{
1197-
title: "Run Variant Analysis",
1198-
cancellable: true,
1199-
},
1200-
),
1201-
);
1202-
12031154
const allCommands: AllCommands = {
12041155
...getCommands(),
12051156
...variantAnalysisManager.getCommands(),

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

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,11 @@ import {
5151
import { readFile, readJson, remove, pathExists, outputJson } from "fs-extra";
5252
import { EOL } from "os";
5353
import { cancelVariantAnalysis } from "./gh-api/gh-actions-api-client";
54-
import { ProgressCallback, UserCancellationException } from "../commandRunner";
54+
import {
55+
ProgressCallback,
56+
UserCancellationException,
57+
withProgress,
58+
} from "../commandRunner";
5559
import { CodeQLCliServer } from "../cli";
5660
import {
5761
defaultFilterSortState,
@@ -132,18 +136,44 @@ export class VariantAnalysisManager
132136
"codeQL.openVariantAnalysisLogs": async (variantAnalysisId: number) => {
133137
await this.openVariantAnalysisLogs(variantAnalysisId);
134138
},
139+
"codeQL.runVariantAnalysis": async (uri?: Uri) =>
140+
this.runVariantAnalysisFromCommand(uri),
141+
// Since we are tracking extension usage through commands, this command mirrors the "codeQL.runVariantAnalysis" command
142+
"codeQL.runVariantAnalysisContextEditor": async (uri?: Uri) =>
143+
this.runVariantAnalysisFromCommand(uri),
135144
};
136145
}
137146

138147
get commandManager(): ExtensionCommandManager {
139148
return this.app.commandManager;
140149
}
141150

151+
private async runVariantAnalysisFromCommand(uri?: Uri) {
152+
return withProgress(
153+
async (progress, token) =>
154+
this.runVariantAnalysis(
155+
uri || Window.activeTextEditor?.document.uri,
156+
progress,
157+
token,
158+
),
159+
{
160+
title: "Run Variant Analysis",
161+
cancellable: true,
162+
},
163+
);
164+
}
165+
142166
public async runVariantAnalysis(
143167
uri: Uri | undefined,
144168
progress: ProgressCallback,
145169
token: CancellationToken,
146170
): Promise<void> {
171+
progress({
172+
maxStep: 5,
173+
step: 0,
174+
message: "Getting credentials",
175+
});
176+
147177
const {
148178
actionBranch,
149179
base64Pack,

0 commit comments

Comments
 (0)