@@ -7,9 +7,11 @@ import * as _ from "lodash";
7
7
import { platform } from "os" ;
8
8
import { dirname , extname , isAbsolute , join , relative } from "path" ;
9
9
import {
10
- CustomExecution , Event , EventEmitter , Pseudoterminal , Task , TaskDefinition ,
10
+ CancellationToken ,
11
+ CustomExecution , Event , EventEmitter , ProviderResult , Pseudoterminal , Task , TaskDefinition ,
11
12
TaskProvider , TaskRevealKind , tasks , TerminalDimensions , Uri , workspace , WorkspaceFolder ,
12
13
} from "vscode" ;
14
+ import { sendInfo } from "vscode-extension-telemetry-wrapper" ;
13
15
import { buildWorkspace } from "../build" ;
14
16
import { Jdtls } from "../java/jdtls" ;
15
17
import { INodeData } from "../java/nodeData" ;
@@ -46,7 +48,7 @@ export async function executeExportJarTask(node?: INodeData): Promise<void> {
46
48
isExportingJar = true ;
47
49
const stepMetadata : IStepMetadata = {
48
50
entry : node ,
49
- taskLabel : "exportjar: default" ,
51
+ taskLabel : "default" ,
50
52
steps : [ ] ,
51
53
projectList : [ ] ,
52
54
elements : [ ] ,
@@ -69,20 +71,20 @@ export async function executeExportJarTask(node?: INodeData): Promise<void> {
69
71
}
70
72
export class ExportJarTaskProvider implements TaskProvider {
71
73
72
- public static exportJarType : string = "java" ;
74
+ public static exportJarType : string = "java (buildArtifact) " ;
73
75
74
76
public static getDefaultTask ( stepMetadata : IStepMetadata ) : Task {
75
77
if ( ! stepMetadata . workspaceFolder ) {
76
78
throw new Error ( ExportJarMessages . fieldUndefinedMessage ( ExportJarMessages . Field . WORKSPACEFOLDER , ExportJarStep . ResolveTask ) ) ;
77
79
}
78
80
const defaultDefinition : IExportJarTaskDefinition = {
79
81
type : ExportJarTaskProvider . exportJarType ,
80
- label : "exportjar: default" ,
82
+ label : "default" ,
81
83
targetPath : Settings . getExportJarTargetPath ( ) ,
82
84
elements : [ ] ,
83
85
mainClass : undefined ,
84
86
} ;
85
- const task : Task = new Task ( defaultDefinition , stepMetadata . workspaceFolder , "exportjar: default" , ExportJarTaskProvider . exportJarType ,
87
+ const task : Task = new Task ( defaultDefinition , stepMetadata . workspaceFolder , "default" , ExportJarTaskProvider . exportJarType ,
86
88
new CustomExecution ( async ( resolvedDefinition : TaskDefinition ) : Promise < Pseudoterminal > => {
87
89
return new ExportJarTaskTerminal ( resolvedDefinition , stepMetadata ) ;
88
90
} ) ) ;
@@ -93,13 +95,17 @@ export class ExportJarTaskProvider implements TaskProvider {
93
95
private tasks : Task [ ] | undefined ;
94
96
95
97
public async resolveTask ( task : Task ) : Promise < Task > {
98
+ return ExportJarTaskProvider . resolveExportTask ( task , ExportJarTaskProvider . exportJarType ) ;
99
+ }
100
+
101
+ public static async resolveExportTask ( task : Task , type : string ) : Promise < Task > {
96
102
const definition : IExportJarTaskDefinition = < IExportJarTaskDefinition > task . definition ;
97
103
const folder : WorkspaceFolder = < WorkspaceFolder > task . scope ;
98
- const resolvedTask : Task = new Task ( definition , folder , task . name , ExportJarTaskProvider . exportJarType ,
104
+ const resolvedTask : Task = new Task ( definition , folder , task . name , type ,
99
105
new CustomExecution ( async ( resolvedDefinition : IExportJarTaskDefinition ) : Promise < Pseudoterminal > => {
100
106
const stepMetadata : IStepMetadata = {
101
107
entry : undefined ,
102
- taskLabel : resolvedDefinition . label || `exportjar: ${ folder . name } ` ,
108
+ taskLabel : resolvedDefinition . label || folder . name ,
103
109
workspaceFolder : folder ,
104
110
projectList : await Jdtls . getProjects ( folder . uri . toString ( ) ) ,
105
111
steps : [ ] ,
@@ -142,11 +148,11 @@ export class ExportJarTaskProvider implements TaskProvider {
142
148
targetPath : Settings . getExportJarTargetPath ( ) ,
143
149
elements : elementList ,
144
150
} ;
145
- const defaultTask : Task = new Task ( defaultDefinition , folder , `exportjar: ${ folder . name } ` , ExportJarTaskProvider . exportJarType ,
151
+ const defaultTask : Task = new Task ( defaultDefinition , folder , folder . name , ExportJarTaskProvider . exportJarType ,
146
152
new CustomExecution ( async ( resolvedDefinition : IExportJarTaskDefinition ) : Promise < Pseudoterminal > => {
147
153
const stepMetadata : IStepMetadata = {
148
154
entry : undefined ,
149
- taskLabel : resolvedDefinition . label || `exportjar: ${ folder . name } ` ,
155
+ taskLabel : resolvedDefinition . label || folder . name ,
150
156
workspaceFolder : folder ,
151
157
projectList : await Jdtls . getProjects ( folder . uri . toString ( ) ) ,
152
158
steps : [ ] ,
@@ -162,6 +168,21 @@ export class ExportJarTaskProvider implements TaskProvider {
162
168
}
163
169
}
164
170
171
+ export class DeprecatedExportJarTaskProvider implements TaskProvider {
172
+
173
+ public static type : string = "java" ;
174
+
175
+ provideTasks ( _token : CancellationToken ) : ProviderResult < Task [ ] > {
176
+ return [ ] ;
177
+ }
178
+
179
+ resolveTask ( task : Task , _token : CancellationToken ) : ProviderResult < Task > {
180
+ sendInfo ( "" , { name : "resolve-deprecated-export-task" } ) ;
181
+ return ExportJarTaskProvider . resolveExportTask ( task , DeprecatedExportJarTaskProvider . type ) ;
182
+ }
183
+
184
+ }
185
+
165
186
class ExportJarTaskTerminal implements Pseudoterminal {
166
187
167
188
public writeEmitter = new EventEmitter < string > ( ) ;
0 commit comments