Skip to content

Commit c397ac0

Browse files
authored
Fix the activation events regression (#2608)
Signed-off-by: sheche <[email protected]>
1 parent 1a8a547 commit c397ac0

File tree

5 files changed

+38
-19
lines changed

5 files changed

+38
-19
lines changed

package.json

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -40,12 +40,18 @@
4040
],
4141
"activationEvents": [
4242
"onLanguage:java",
43-
"workspaceContains:{*/,}pom.xml",
44-
"workspaceContains:{*/,}build.gradle",
45-
"workspaceContains:{*/,}settings.gradle",
46-
"workspaceContains:{*/,}build.gradle.kts",
47-
"workspaceContains:{*/,}settings.gradle.kts",
48-
"workspaceContains:{*/,}.classpath",
43+
"workspaceContains:pom.xml",
44+
"workspaceContains:*/pom.xml",
45+
"workspaceContains:build.gradle",
46+
"workspaceContains:*/build.gradle",
47+
"workspaceContains:settings.gradle",
48+
"workspaceContains:*/settings.gradle",
49+
"workspaceContains:build.gradle.kts",
50+
"workspaceContains:*/build.gradle.kts",
51+
"workspaceContains:settings.gradle.kts",
52+
"workspaceContains:*/settings.gradle.kts",
53+
"workspaceContains:.classpath",
54+
"workspaceContains:*/.classpath",
4955
"onCommand:_java.templateVariables",
5056
"onCommand:_java.metadataFilesGeneration"
5157
],

src/gradle/gradleCodeActionProvider.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ export class GradleCodeActionProvider implements CodeActionProvider<CodeAction>
2626
return [];
2727
}
2828

29-
private async provideGradleCodeActions(document: TextDocument, diagnostics: readonly Diagnostic[]): Promise<CodeAction[]> {
29+
async provideGradleCodeActions(document: TextDocument, diagnostics: readonly Diagnostic[]): Promise<CodeAction[]> {
3030
const codeActions = [];
3131
for (const diagnostic of diagnostics) {
3232
if (diagnostic.message?.startsWith("The build file has been changed")) {

src/pom/pomCodeActionProvider.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ export class PomCodeActionProvider implements CodeActionProvider<CodeAction> {
2020
return undefined;
2121
}
2222

23-
private collectCodeActions(document: TextDocument, diagnostics: readonly Diagnostic[]): CodeAction[] {
23+
collectCodeActions(document: TextDocument, diagnostics: readonly Diagnostic[]): CodeAction[] {
2424
const codeActions: CodeAction[] = [];
2525
for (const diagnostic of diagnostics) {
2626
if (diagnostic.message?.startsWith("Plugin execution not covered by lifecycle configuration")) {
@@ -62,7 +62,7 @@ export class PomCodeActionProvider implements CodeActionProvider<CodeAction> {
6262
return codeActions;
6363
}
6464

65-
private getNewTextIndentation(document: TextDocument, diagnostic: Diagnostic): string {
65+
getNewTextIndentation(document: TextDocument, diagnostic: Diagnostic): string {
6666
const textline = document.lineAt(diagnostic.range.end.line);
6767
if (textline.text.lastIndexOf("</execution>") > diagnostic.range.end.character) {
6868
return "";

test/standard-mode-suite/codeActionProvider.test.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import * as assert from 'assert';
44
import * as path from 'path';
5+
import * as sinon from 'sinon';
56
import { CodeAction, CodeActionContext, CodeActionKind, CodeActionTriggerKind, DiagnosticSeverity, ExtensionContext, Position, Range, Uri, window } from "vscode";
67
import { Commands } from '../../src/commands';
78
import { GradleCodeActionProvider } from '../../src/gradle/gradleCodeActionProvider';
@@ -14,10 +15,10 @@ const gradleProjectFsPath: string = path.join(__dirname, '..', '..', '..', 'test
1415
suite('Code Action Provider Test', () => {
1516

1617
test('Provide reload project action on demand for pom file', async function () {
17-
const contextMock = {
18-
subscriptions: []
19-
};
20-
const provider = new PomCodeActionProvider(contextMock as ExtensionContext);
18+
const provider = sinon.createStubInstance(PomCodeActionProvider);
19+
provider.provideCodeActions.restore();
20+
provider.getNewTextIndentation.restore();
21+
provider.collectCodeActions.restore();
2122

2223
const codeActionContext: CodeActionContext = {
2324
triggerKind: CodeActionTriggerKind.Invoke,
@@ -36,10 +37,9 @@ suite('Code Action Provider Test', () => {
3637
});
3738

3839
test('Provide reload project action on demand for gradle file', async function () {
39-
const contextMock = {
40-
subscriptions: []
41-
};
42-
const provider = new GradleCodeActionProvider(contextMock as ExtensionContext);
40+
const provider = sinon.createStubInstance(GradleCodeActionProvider);
41+
provider.provideCodeActions.restore();
42+
provider.provideGradleCodeActions.restore();
4343

4444
const codeActionContext: CodeActionContext = {
4545
triggerKind: CodeActionTriggerKind.Invoke,

test/standard-mode-suite/extension.test.ts

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,22 @@ suite('Java Language Extension - Standard', () => {
1515
assert.ok(vscode.extensions.getExtension('redhat.java'));
1616
});
1717

18-
test('should activate', function () {
18+
test('should activate', async function () {
19+
this.timeout(60000 * 2);
20+
const ext = vscode.extensions.getExtension('redhat.java');
21+
while (true) {
22+
await new Promise(resolve => {
23+
setTimeout(resolve, 5000);
24+
});
25+
if (ext.isActive) {
26+
break;
27+
}
28+
}
29+
});
30+
31+
test('should return api after activation', function () {
1932
return vscode.extensions.getExtension('redhat.java').activate().then((api) => {
20-
assert.ok(true);
33+
assert.ok(!!api);
2134
});
2235
});
2336

0 commit comments

Comments
 (0)