Skip to content

Commit e1cd37c

Browse files
committed
Fix sub-project build file uri
1 parent 29ebf67 commit e1cd37c

File tree

1 file changed

+15
-13
lines changed

1 file changed

+15
-13
lines changed

src/gradleView.ts

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,14 @@ class WorkspaceTreeItem extends vscode.TreeItem {
1414
buildFileTreeItems: GradleBuildFileTreeItem[] = [];
1515
workspaceFolder: vscode.WorkspaceFolder;
1616

17-
constructor(name: string, folder: vscode.WorkspaceFolder) {
17+
constructor(
18+
name: string,
19+
folder: vscode.WorkspaceFolder,
20+
resourceUri: vscode.Uri
21+
) {
1822
super(name, vscode.TreeItemCollapsibleState.Expanded);
1923
this.contextValue = 'folder';
20-
this.resourceUri = folder.uri;
24+
this.resourceUri = resourceUri;
2125
this.workspaceFolder = folder;
2226
this.iconPath = vscode.ThemeIcon.Folder;
2327
}
@@ -42,25 +46,21 @@ export class GradleBuildFileTreeItem extends vscode.TreeItem {
4246
constructor(
4347
readonly workspaceTreeItem: WorkspaceTreeItem,
4448
relativePath: string,
45-
readonly contextValue: string
49+
readonly name: string
4650
) {
4751
super(
48-
GradleBuildFileTreeItem.getLabel(relativePath, contextValue),
52+
GradleBuildFileTreeItem.getLabel(relativePath, name),
4953
vscode.TreeItemCollapsibleState.Expanded
5054
);
5155
this.contextValue = 'buildFile';
5256
this.path = relativePath;
5357
if (relativePath) {
5458
this.resourceUri = vscode.Uri.file(
55-
path.join(
56-
workspaceTreeItem!.resourceUri!.fsPath,
57-
relativePath,
58-
contextValue
59-
)
59+
path.join(workspaceTreeItem!.resourceUri!.fsPath, relativePath, name)
6060
);
6161
} else {
6262
this.resourceUri = vscode.Uri.file(
63-
path.join(workspaceTreeItem!.resourceUri!.fsPath, contextValue)
63+
path.join(workspaceTreeItem!.resourceUri!.fsPath, name)
6464
);
6565
}
6666
this.iconPath = vscode.ThemeIcon.File;
@@ -234,7 +234,8 @@ export class GradleTasksTreeDataProvider
234234
if (!workspaceTreeItem) {
235235
workspaceTreeItem = new WorkspaceTreeItem(
236236
task.scope.name,
237-
task.scope
237+
task.scope,
238+
task.scope.uri
238239
);
239240
workspaceTreeItems.set(task.scope.name, workspaceTreeItem);
240241
}
@@ -259,7 +260,8 @@ export class GradleTasksTreeDataProvider
259260
if (!subProjectTreeItem) {
260261
subProjectTreeItem = new SubProjectTreeItem(
261262
subProjectName,
262-
task.scope
263+
task.scope,
264+
vscode.Uri.file(path.join(task.scope.uri.fsPath, subProjectName))
263265
);
264266
buildFileTreeItem.addSubProjectTreeItem(subProjectTreeItem);
265267
subProjectTreeItems.set(subProjectName, subProjectTreeItem);
@@ -270,7 +272,7 @@ export class GradleTasksTreeDataProvider
270272
);
271273
if (!subProjectBuildFileTreeItem) {
272274
subProjectBuildFileTreeItem = new GradleBuildFileTreeItem(
273-
workspaceTreeItem,
275+
subProjectTreeItem,
274276
relativePath,
275277
definition.fileName
276278
);

0 commit comments

Comments
 (0)