import * as vscode from "vscode" ; import { ITreeItem } from "./ITreeItem" ; import { LifecyclePhase } from "./LifecyclePhase" ; import { MavenProject } from "./MavenProject" ; import { Menu } from "./Menu" ; export class LifecycleMenu extends Menu implements ITreeItem { constructor ( project ) { super ( project ) ; this . name = "Lifecycle" ; } public async getChildren ( ) { return [ "clean" , "validate" , "compile" , "test" , "package" , "verify" , "install" , "site" , "deploy" ] . map ( goal => new LifecyclePhase ( this . project , goal ) ) ; } public getTreeItem ( ) { const treeItem = new vscode . TreeItem ( this . name , vscode . TreeItemCollapsibleState . Collapsed ) ; treeItem . iconPath = new vscode . ThemeIcon ( "sync" ) ; return treeItem ; } }