in src/Utils/xml/index.ts [9:34]
export async function updatePom(uri: vscode.Uri, deps: IArtifact[], boms: IBom[]) {
const edit = new vscode.WorkspaceEdit();
const projectNode: Element = await getActiveProjectNode();
const dependenciesNode: Element | undefined = projectNode.children && projectNode.children.find(node => isTag(node) && node.tagName === XmlTagName.Dependencies) as Element;
if (dependenciesNode !== undefined) {
await updateWorkspaceEdit(edit, uri, dependenciesNode, new DependencyNodes(deps));
} else {
await updateWorkspaceEdit(edit, uri, projectNode, new DependencyNodes(deps, {initParent: true}));
}
if (boms && boms.length > 0) {
const depMgmtNode: Element | undefined = projectNode.children && projectNode.children.find(node => isTag(node) && node.tagName === XmlTagName.DependencyManagement) as Element;
if (depMgmtNode !== undefined) {
const depsNodes: Element | undefined = depMgmtNode.children && depMgmtNode.children.find(node => isTag(node) && node.tagName === XmlTagName.Dependencies) as Element;
if (depsNodes !== undefined) {
await updateWorkspaceEdit(edit, uri, depsNodes, new BOMNodes(boms));
} else {
await updateWorkspaceEdit(edit, uri, depMgmtNode, new BOMNodes(boms, {parents: ["dependencies"]}));
}
} else {
await updateWorkspaceEdit(edit, uri, projectNode, new BOMNodes(boms, {parents: ["dependencies", "dependencyManagement"]}));
}
}
vscode.workspace.applyEdit(edit);
}