Skip to content

Commit d57615d

Browse files
committed
refactor
1 parent 488b5d5 commit d57615d

File tree

4 files changed

+17
-13
lines changed

4 files changed

+17
-13
lines changed

extension/src/Extension.ts

+7
Original file line numberDiff line numberDiff line change
@@ -227,6 +227,13 @@ export class Extension {
227227
}
228228

229229
private async activate(): Promise<void> {
230+
const testExtension = vscode.extensions.getExtension("vscjava.vscode-java-test");
231+
if (testExtension) {
232+
testExtension.activate().then((api: any) => {
233+
api.registerTestProfile("Delegate Test to Gradle", vscode.TestRunProfileKind.Run,
234+
this.buildServerController.getGradleTestRunner());
235+
});
236+
}
230237
const activated = !!(await this.rootProjectsStore.getProjectRoots()).length;
231238
if (!this.server.isReady()) {
232239
await this.server.start();

extension/src/bs/BuildServerController.ts

+9-3
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import { sendInfo } from "vscode-extension-telemetry-wrapper";
1616
import { OpenBuildOutputValue, getOpenBuildOutput } from "../util/config";
1717
import * as path from "path";
1818
import * as fse from "fs-extra";
19-
import { gradleTestRunner } from "./GradleTestRunner";
19+
import { GradleTestRunner } from "./GradleTestRunner";
2020

2121
const APPEND_BUILD_LOG_CMD = "_java.gradle.buildServer.appendBuildLog";
2222
const LOG_CMD = "_java.gradle.buildServer.log";
@@ -26,8 +26,10 @@ export class BuildServerController implements Disposable {
2626
private disposable: Disposable;
2727
private buildOutputChannel: OutputChannel;
2828
private logOutputChannel: OutputChannel;
29+
private gradleTestRunner: GradleTestRunner;
2930

3031
public constructor(readonly context: ExtensionContext) {
32+
this.gradleTestRunner = new GradleTestRunner();
3133
this.buildOutputChannel = window.createOutputChannel("Build Server for Gradle (Build)", "gradle-build");
3234
this.logOutputChannel = window.createOutputChannel("Build Server for Gradle (Log)");
3335
this.disposable = Disposable.from(
@@ -87,7 +89,7 @@ export class BuildServerController implements Disposable {
8789
commands.registerCommand(
8890
"java.gradle.buildServer.onDidFinishTestRun",
8991
(status: number, message?: string) => {
90-
gradleTestRunner.finishTestRun({
92+
this.gradleTestRunner.finishTestRun({
9193
status,
9294
message,
9395
});
@@ -96,7 +98,7 @@ export class BuildServerController implements Disposable {
9698
commands.registerCommand(
9799
"java.gradle.buildServer.onDidChangeTestItemStatus",
98100
(test: string, state: number, displayName?: string, message?: string, duration?: number) => {
99-
gradleTestRunner.updateTestItem({
101+
this.gradleTestRunner.updateTestItem({
100102
test,
101103
state,
102104
displayName,
@@ -132,6 +134,10 @@ export class BuildServerController implements Disposable {
132134
this.checkMachineStatus();
133135
}
134136

137+
public getGradleTestRunner(): GradleTestRunner {
138+
return this.gradleTestRunner;
139+
}
140+
135141
public dispose() {
136142
this.disposable.dispose();
137143
}

extension/src/bs/GradleTestRunner.ts

+1-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import * as vscode from "vscode";
22
import { TestRunner, TestItemStatusChangeEvent, TestFinishEvent, IRunTestContext } from "../java-test-runner.api";
33

4-
class GradleTestRunner implements TestRunner {
4+
export class GradleTestRunner implements TestRunner {
55
private readonly _onDidChangeTestItemStatus = new vscode.EventEmitter<TestItemStatusChangeEvent>();
66
private readonly _onDidFinishTestRun = new vscode.EventEmitter<TestFinishEvent>();
77

@@ -39,5 +39,3 @@ class GradleTestRunner implements TestRunner {
3939
this._onDidFinishTestRun.fire(event);
4040
}
4141
}
42-
43-
export const gradleTestRunner: GradleTestRunner = new GradleTestRunner();

extension/src/index.ts

-7
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ import { initializeFromJsonFile, instrumentOperation } from "vscode-extension-te
33

44
import { Api } from "./api";
55
import { Extension } from "./Extension";
6-
import { gradleTestRunner } from "./bs/GradleTestRunner";
76

87
let extension: Extension;
98

@@ -14,12 +13,6 @@ export async function activate(context: vscode.ExtensionContext): Promise<Api> {
1413

1514
function activateExtension(_operationId: string, context: vscode.ExtensionContext): Api {
1615
extension = new Extension(context);
17-
const testExtension = vscode.extensions.getExtension("vscjava.vscode-java-test");
18-
if (testExtension) {
19-
testExtension.activate().then((api: any) => {
20-
api.registerTestProfile("Delegate Test Run to Gradle", vscode.TestRunProfileKind.Run, gradleTestRunner);
21-
});
22-
}
2316
return extension.getApi();
2417
}
2518

0 commit comments

Comments
 (0)