diff --git a/extension.bundle.ts b/extension.bundle.ts index eb28b400..e0c9a3ba 100644 --- a/extension.bundle.ts +++ b/extension.bundle.ts @@ -15,7 +15,7 @@ export { PackageRootNode } from "./src/views/packageRootNode"; export { PrimaryTypeNode } from "./src/views/PrimaryTypeNode"; export { ProjectNode } from "./src/views/projectNode"; export { WorkspaceNode } from "./src/views/workspaceNode"; -export { IMainClassInfo } from "./src/exportJarSteps/ResolveMainClassExecutor"; +export { IMainClassInfo } from "./src/tasks/buildArtifact/ResolveMainClassExecutor"; // project view test export { contextManager } from "./src/contextManager"; diff --git a/src/extension.ts b/src/extension.ts index 62b9e8a8..35eb624e 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -11,14 +11,14 @@ import { buildFiles, Context, ExtensionName } from "./constants"; import { LibraryController } from "./controllers/libraryController"; import { ProjectController } from "./controllers/projectController"; import { init as initExpService } from "./ExperimentationService"; -import { DeprecatedExportJarTaskProvider, ExportJarTaskProvider } from "./exportJarSteps/ExportJarTaskProvider"; +import { DeprecatedExportJarTaskProvider, BuildArtifactTaskProvider } from "./tasks/buildArtifact/BuildArtifactTaskProvider"; import { Settings } from "./settings"; import { syncHandler } from "./syncHandler"; import { EventCounter } from "./utility"; import { DependencyExplorer } from "./views/dependencyExplorer"; -import { DiagnosticProvider } from "./tasks/migration/DiagnosticProvider"; -import { setContextForDeprecatedTasks, updateExportTaskType } from "./tasks/migration/utils"; -import { CodeActionProvider } from "./tasks/migration/CodeActionProvider"; +import { DiagnosticProvider } from "./tasks/buildArtifact/migration/DiagnosticProvider"; +import { setContextForDeprecatedTasks, updateExportTaskType } from "./tasks/buildArtifact/migration/utils"; +import { CodeActionProvider } from "./tasks/buildArtifact/migration/CodeActionProvider"; export async function activate(context: ExtensionContext): Promise { contextManager.initialize(context); @@ -44,7 +44,7 @@ async function activateExtension(_operationId: string, context: ExtensionContext context.subscriptions.push(contextManager); context.subscriptions.push(syncHandler); context.subscriptions.push(tasks.registerTaskProvider(DeprecatedExportJarTaskProvider.type, new DeprecatedExportJarTaskProvider())); - context.subscriptions.push(tasks.registerTaskProvider(ExportJarTaskProvider.exportJarType, new ExportJarTaskProvider())); + context.subscriptions.push(tasks.registerTaskProvider(BuildArtifactTaskProvider.exportJarType, new BuildArtifactTaskProvider())); context.subscriptions.push(tasks.registerTaskProvider(BuildTaskProvider.type, new BuildTaskProvider())); context.subscriptions.push(window.onDidChangeActiveTextEditor((e: TextEditor | undefined) => { diff --git a/src/java/jdtls.ts b/src/java/jdtls.ts index c1a01069..a5674e62 100644 --- a/src/java/jdtls.ts +++ b/src/java/jdtls.ts @@ -3,8 +3,8 @@ import { CancellationToken, commands } from "vscode"; import { Commands, executeJavaLanguageServerCommand } from "../commands"; -import { IClasspath } from "../exportJarSteps/IStepMetadata"; -import { IMainClassInfo } from "../exportJarSteps/ResolveMainClassExecutor"; +import { IClasspath } from "../tasks/buildArtifact/IStepMetadata"; +import { IMainClassInfo } from "../tasks/buildArtifact/ResolveMainClassExecutor"; import { INodeData } from "./nodeData"; export namespace Jdtls { diff --git a/src/exportJarSteps/ExportJarTaskProvider.ts b/src/tasks/buildArtifact/BuildArtifactTaskProvider.ts similarity index 95% rename from src/exportJarSteps/ExportJarTaskProvider.ts rename to src/tasks/buildArtifact/BuildArtifactTaskProvider.ts index 0a2567e6..abe73083 100644 --- a/src/exportJarSteps/ExportJarTaskProvider.ts +++ b/src/tasks/buildArtifact/BuildArtifactTaskProvider.ts @@ -12,12 +12,12 @@ import { TaskProvider, TaskRevealKind, tasks, TerminalDimensions, Uri, workspace, WorkspaceFolder, } from "vscode"; import { sendInfo } from "vscode-extension-telemetry-wrapper"; -import { buildWorkspace } from "../build"; -import { Jdtls } from "../java/jdtls"; -import { INodeData } from "../java/nodeData"; -import { languageServerApiManager } from "../languageServerApi/languageServerApiManager"; -import { Settings } from "../settings"; -import { IUriData, Trie, TrieNode } from "../views/nodeCache/Trie"; +import { buildWorkspace } from "../../build"; +import { Jdtls } from "../../java/jdtls"; +import { INodeData } from "../../java/nodeData"; +import { languageServerApiManager } from "../../languageServerApi/languageServerApiManager"; +import { Settings } from "../../settings"; +import { IUriData, Trie, TrieNode } from "../../views/nodeCache/Trie"; import { IClasspathResult } from "./GenerateJarExecutor"; import { IExportJarStepExecutor } from "./IExportJarStepExecutor"; import { IClasspath, IStepMetadata } from "./IStepMetadata"; @@ -60,7 +60,7 @@ export async function executeExportJarTask(node?: INodeData): Promise { throw new Error(ExportJarMessages.stepErrorMessage(ExportJarMessages.StepAction.FINDEXECUTOR, ExportJarStep.ResolveJavaProject)); } await resolveJavaProjectExecutor.execute(stepMetadata); - tasks.executeTask(ExportJarTaskProvider.getDefaultTask(stepMetadata)); + tasks.executeTask(BuildArtifactTaskProvider.getDefaultTask(stepMetadata)); } catch (err) { if (err) { failMessage(`${err}`); @@ -69,7 +69,7 @@ export async function executeExportJarTask(node?: INodeData): Promise { return; } } -export class ExportJarTaskProvider implements TaskProvider { +export class BuildArtifactTaskProvider implements TaskProvider { public static exportJarType: string = "java (buildArtifact)"; @@ -78,13 +78,13 @@ export class ExportJarTaskProvider implements TaskProvider { throw new Error(ExportJarMessages.fieldUndefinedMessage(ExportJarMessages.Field.WORKSPACEFOLDER, ExportJarStep.ResolveTask)); } const defaultDefinition: IExportJarTaskDefinition = { - type: ExportJarTaskProvider.exportJarType, + type: BuildArtifactTaskProvider.exportJarType, label: "default", targetPath: Settings.getExportJarTargetPath(), elements: [], mainClass: undefined, }; - const task: Task = new Task(defaultDefinition, stepMetadata.workspaceFolder, "default", ExportJarTaskProvider.exportJarType, + const task: Task = new Task(defaultDefinition, stepMetadata.workspaceFolder, "default", BuildArtifactTaskProvider.exportJarType, new CustomExecution(async (resolvedDefinition: TaskDefinition): Promise => { return new ExportJarTaskTerminal(resolvedDefinition, stepMetadata); })); @@ -95,7 +95,7 @@ export class ExportJarTaskProvider implements TaskProvider { private tasks: Task[] | undefined; public async resolveTask(task: Task): Promise { - return ExportJarTaskProvider.resolveExportTask(task, ExportJarTaskProvider.exportJarType); + return BuildArtifactTaskProvider.resolveExportTask(task, BuildArtifactTaskProvider.exportJarType); } public static async resolveExportTask(task: Task, type: string): Promise { @@ -143,12 +143,12 @@ export class ExportJarTaskProvider implements TaskProvider { } const mainClasses: IMainClassInfo[] = await Jdtls.getMainClasses(folder.uri.toString()); const defaultDefinition: IExportJarTaskDefinition = { - type: ExportJarTaskProvider.exportJarType, + type: BuildArtifactTaskProvider.exportJarType, mainClass: (mainClasses.length === 1) ? mainClasses[0].name : undefined, targetPath: Settings.getExportJarTargetPath(), elements: elementList, }; - const defaultTask: Task = new Task(defaultDefinition, folder, folder.name, ExportJarTaskProvider.exportJarType, + const defaultTask: Task = new Task(defaultDefinition, folder, folder.name, BuildArtifactTaskProvider.exportJarType, new CustomExecution(async (resolvedDefinition: IExportJarTaskDefinition): Promise => { const stepMetadata: IStepMetadata = { entry: undefined, @@ -178,7 +178,7 @@ export class DeprecatedExportJarTaskProvider implements TaskProvider { resolveTask(task: Task, _token: CancellationToken): ProviderResult { sendInfo("", { name: "resolve-deprecated-export-task" }); - return ExportJarTaskProvider.resolveExportTask(task, DeprecatedExportJarTaskProvider.type); + return BuildArtifactTaskProvider.resolveExportTask(task, DeprecatedExportJarTaskProvider.type); } } diff --git a/src/exportJarSteps/GenerateJarExecutor.ts b/src/tasks/buildArtifact/GenerateJarExecutor.ts similarity index 99% rename from src/exportJarSteps/GenerateJarExecutor.ts rename to src/tasks/buildArtifact/GenerateJarExecutor.ts index 5bd18b20..a8823886 100644 --- a/src/exportJarSteps/GenerateJarExecutor.ts +++ b/src/tasks/buildArtifact/GenerateJarExecutor.ts @@ -7,8 +7,8 @@ import * as _ from "lodash"; import { basename, dirname, extname, isAbsolute, join, normalize, relative } from "path"; import { Disposable, ProgressLocation, QuickInputButtons, QuickPickItem, Uri, window, WorkspaceFolder } from "vscode"; import { sendInfo } from "vscode-extension-telemetry-wrapper"; -import { Jdtls } from "../java/jdtls"; -import { INodeData } from "../java/nodeData"; +import { Jdtls } from "../../java/jdtls"; +import { INodeData } from "../../java/nodeData"; import { IExportJarStepExecutor } from "./IExportJarStepExecutor"; import { IClasspath, IStepMetadata } from "./IStepMetadata"; import { createPickBox, ExportJarMessages, ExportJarStep, ExportJarTargets, getExtensionApi, toPosixPath } from "./utility"; diff --git a/src/exportJarSteps/IExportJarStepExecutor.ts b/src/tasks/buildArtifact/IExportJarStepExecutor.ts similarity index 100% rename from src/exportJarSteps/IExportJarStepExecutor.ts rename to src/tasks/buildArtifact/IExportJarStepExecutor.ts diff --git a/src/exportJarSteps/IStepMetadata.ts b/src/tasks/buildArtifact/IStepMetadata.ts similarity index 92% rename from src/exportJarSteps/IStepMetadata.ts rename to src/tasks/buildArtifact/IStepMetadata.ts index de582e2d..2d6ef514 100644 --- a/src/exportJarSteps/IStepMetadata.ts +++ b/src/tasks/buildArtifact/IStepMetadata.ts @@ -2,7 +2,7 @@ // Licensed under the MIT license. import { WorkspaceFolder } from "vscode"; -import { INodeData } from "../java/nodeData"; +import { INodeData } from "../../java/nodeData"; import { ExportJarStep } from "./utility"; export interface IStepMetadata { diff --git a/src/exportJarSteps/ResolveJavaProjectExecutor.ts b/src/tasks/buildArtifact/ResolveJavaProjectExecutor.ts similarity index 96% rename from src/exportJarSteps/ResolveJavaProjectExecutor.ts rename to src/tasks/buildArtifact/ResolveJavaProjectExecutor.ts index 41c58a24..ab609809 100644 --- a/src/exportJarSteps/ResolveJavaProjectExecutor.ts +++ b/src/tasks/buildArtifact/ResolveJavaProjectExecutor.ts @@ -3,9 +3,9 @@ import * as _ from "lodash"; import { Disposable, QuickPickItem, Uri, workspace, WorkspaceFolder } from "vscode"; -import { Jdtls } from "../java/jdtls"; -import { INodeData } from "../java/nodeData"; -import { WorkspaceNode } from "../views/workspaceNode"; +import { Jdtls } from "../../java/jdtls"; +import { INodeData } from "../../java/nodeData"; +import { WorkspaceNode } from "../../views/workspaceNode"; import { IExportJarStepExecutor } from "./IExportJarStepExecutor"; import { IStepMetadata } from "./IStepMetadata"; import { createPickBox, ExportJarMessages, ExportJarStep } from "./utility"; diff --git a/src/exportJarSteps/ResolveMainClassExecutor.ts b/src/tasks/buildArtifact/ResolveMainClassExecutor.ts similarity index 98% rename from src/exportJarSteps/ResolveMainClassExecutor.ts rename to src/tasks/buildArtifact/ResolveMainClassExecutor.ts index a27b5e56..fbb9466e 100644 --- a/src/exportJarSteps/ResolveMainClassExecutor.ts +++ b/src/tasks/buildArtifact/ResolveMainClassExecutor.ts @@ -3,7 +3,7 @@ import * as _ from "lodash"; import { Disposable, ProgressLocation, QuickInputButtons, QuickPickItem, window } from "vscode"; -import { Jdtls } from "../java/jdtls"; +import { Jdtls } from "../../java/jdtls"; import { IExportJarStepExecutor } from "./IExportJarStepExecutor"; import { IStepMetadata } from "./IStepMetadata"; import { createPickBox, ExportJarMessages, ExportJarStep } from "./utility"; diff --git a/src/tasks/migration/CodeActionProvider.ts b/src/tasks/buildArtifact/migration/CodeActionProvider.ts similarity index 85% rename from src/tasks/migration/CodeActionProvider.ts rename to src/tasks/buildArtifact/migration/CodeActionProvider.ts index 3fb6b4d5..be211773 100644 --- a/src/tasks/migration/CodeActionProvider.ts +++ b/src/tasks/buildArtifact/migration/CodeActionProvider.ts @@ -2,14 +2,14 @@ // Licensed under the MIT license. import * as vscode from "vscode"; -import { Commands } from "../../commands"; -import { ExportJarTaskProvider } from "../../exportJarSteps/ExportJarTaskProvider"; +import { Commands } from "../../../commands"; +import { BuildArtifactTaskProvider } from "../BuildArtifactTaskProvider"; import { DiagnosticProvider } from "./DiagnosticProvider"; export class CodeActionProvider implements vscode.CodeActionProvider { - public static JAVA_UPDATE_DEPRECATED_TASK_TITLE = `Change to \"${ExportJarTaskProvider.exportJarType}\"`; - public static JAVA_BUILD_ARTIFACT_TYPE = `"type": "${ExportJarTaskProvider.exportJarType}"`; + public static JAVA_UPDATE_DEPRECATED_TASK_TITLE = `Change to \"${BuildArtifactTaskProvider.exportJarType}\"`; + public static JAVA_BUILD_ARTIFACT_TYPE = `"type": "${BuildArtifactTaskProvider.exportJarType}"`; public provideCodeActions(document: vscode.TextDocument, range: vscode.Range | vscode.Selection, _context: vscode.CodeActionContext, _token: vscode.CancellationToken): vscode.CodeAction[] | undefined { diff --git a/src/tasks/migration/DiagnosticProvider.ts b/src/tasks/buildArtifact/migration/DiagnosticProvider.ts similarity index 95% rename from src/tasks/migration/DiagnosticProvider.ts rename to src/tasks/buildArtifact/migration/DiagnosticProvider.ts index 2f966630..4bd31605 100644 --- a/src/tasks/migration/DiagnosticProvider.ts +++ b/src/tasks/buildArtifact/migration/DiagnosticProvider.ts @@ -6,11 +6,11 @@ import * as fs from "fs"; import * as path from "path"; import * as readline from "readline"; import * as vscode from "vscode"; -import { DeprecatedExportJarTaskProvider, ExportJarTaskProvider } from "../../exportJarSteps/ExportJarTaskProvider"; +import { DeprecatedExportJarTaskProvider, BuildArtifactTaskProvider } from "../BuildArtifactTaskProvider"; export class DiagnosticProvider implements vscode.Disposable { public static DIAGNOSTIC_SOURCE = "Project Manager for Java"; - public static DEPRECATED_TASK_TYPE_MESSAGE = `The type \"${DeprecatedExportJarTaskProvider.type}\" is deprecated, please use \"${ExportJarTaskProvider.exportJarType}\" instead.`; + public static DEPRECATED_TASK_TYPE_MESSAGE = `The type \"${DeprecatedExportJarTaskProvider.type}\" is deprecated, please use \"${BuildArtifactTaskProvider.exportJarType}\" instead.`; private diagnosticCollection: vscode.DiagnosticCollection; private disposables: vscode.Disposable[] = []; private refreshDiagnosticsTrigger: any; diff --git a/src/tasks/migration/utils.ts b/src/tasks/buildArtifact/migration/utils.ts similarity index 83% rename from src/tasks/migration/utils.ts rename to src/tasks/buildArtifact/migration/utils.ts index e3e096ea..017aa40f 100644 --- a/src/tasks/migration/utils.ts +++ b/src/tasks/buildArtifact/migration/utils.ts @@ -2,9 +2,9 @@ // Licensed under the MIT license. import { Range, tasks, TextDocument, workspace, WorkspaceEdit } from "vscode"; -import { DeprecatedExportJarTaskProvider } from "../../exportJarSteps/ExportJarTaskProvider"; -import { contextManager } from "../../contextManager"; -import { Context } from "../../constants"; +import { DeprecatedExportJarTaskProvider } from "../BuildArtifactTaskProvider"; +import { contextManager } from "../../../contextManager"; +import { Context } from "../../../constants"; import { CodeActionProvider } from "./CodeActionProvider"; export async function updateExportTaskType(document: TextDocument, range: Range): Promise { diff --git a/src/exportJarSteps/utility.ts b/src/tasks/buildArtifact/utility.ts similarity index 99% rename from src/exportJarSteps/utility.ts rename to src/tasks/buildArtifact/utility.ts index 6184fa89..fc29d5e0 100644 --- a/src/exportJarSteps/utility.ts +++ b/src/tasks/buildArtifact/utility.ts @@ -5,7 +5,7 @@ import { EOL, platform } from "os"; import { posix, win32 } from "path"; import { commands, Extension, extensions, QuickInputButtons, QuickPick, QuickPickItem, Uri, window } from "vscode"; import { sendOperationError } from "vscode-extension-telemetry-wrapper"; -import { Commands } from "../commands"; +import { Commands } from "../../commands"; import { GenerateJarExecutor } from "./GenerateJarExecutor"; import { IExportJarStepExecutor } from "./IExportJarStepExecutor"; import { IStepMetadata } from "./IStepMetadata"; diff --git a/src/views/dependencyDataProvider.ts b/src/views/dependencyDataProvider.ts index fba59d5e..fabee567 100644 --- a/src/views/dependencyDataProvider.ts +++ b/src/views/dependencyDataProvider.ts @@ -10,7 +10,7 @@ import { instrumentOperationAsVsCodeCommand, sendError } from "vscode-extension- import { contextManager } from "../../extension.bundle"; import { Commands } from "../commands"; import { Context } from "../constants"; -import { appendOutput, executeExportJarTask } from "../exportJarSteps/ExportJarTaskProvider"; +import { appendOutput, executeExportJarTask } from "../tasks/buildArtifact/BuildArtifactTaskProvider"; import { Jdtls } from "../java/jdtls"; import { INodeData, NodeKind } from "../java/nodeData"; import { languageServerApiManager } from "../languageServerApi/languageServerApiManager"; diff --git a/test/maven-suite/exportJar.test.ts b/test/maven-suite/buildArtifact.test.ts similarity index 80% rename from test/maven-suite/exportJar.test.ts rename to test/maven-suite/buildArtifact.test.ts index e74241ef..e1189f2c 100644 --- a/test/maven-suite/exportJar.test.ts +++ b/test/maven-suite/buildArtifact.test.ts @@ -14,22 +14,22 @@ const folderPath: string = workspace.workspaceFolders![0].uri.fsPath; const jarFileName: string = "maven.jar"; const testFolder: string = path.join(folderPath, "test"); -suite("Export Jar Tests", () => { +suite("Build Artifact Tests", () => { suiteSetup(setupTestEnv); - test("Can export jar correctly", async function() { + test("Can build jar correctly", async function() { const vscodeTasks: Task[] = await tasks.fetchTasks(); - const exportJarTask: Task | undefined = vscodeTasks.find((t: Task) => t.name === "java (buildArtifact): maven"); - assert.ok(exportJarTask !== undefined); + const buildJarTask: Task | undefined = vscodeTasks.find((t: Task) => t.name === "java (buildArtifact): maven"); + assert.ok(buildJarTask !== undefined); await new Promise(async (resolve) => { tasks.onDidEndTask((e: TaskEndEvent) => { - if (e.execution.task.name === exportJarTask?.name) { + if (e.execution.task.name === buildJarTask?.name) { return resolve(); } }); - await tasks.executeTask(exportJarTask!); + await tasks.executeTask(buildJarTask!); }); const isFileExist: boolean = await fse.pathExists(path.join(folderPath, jarFileName));