diff --git a/buildSrc/src/main/java/org/springframework/boot/build/bom/BomPlugin.java b/buildSrc/src/main/java/org/springframework/boot/build/bom/BomPlugin.java index 07474bd79b79..1143cb2fcf5d 100644 --- a/buildSrc/src/main/java/org/springframework/boot/build/bom/BomPlugin.java +++ b/buildSrc/src/main/java/org/springframework/boot/build/bom/BomPlugin.java @@ -140,10 +140,9 @@ private void replaceVersionsWithVersionPropertyReferences(Node dependencyManagem Node dependencies = findChild(dependencyManagement, "dependencies"); if (dependencies != null) { for (Node dependency : findChildren(dependencies, "dependency")) { - String groupId = findChild(dependency, "groupId").text(); - String artifactId = findChild(dependency, "artifactId").text(); - Node classifierNode = findChild(dependency, "classifier"); - String classifier = (classifierNode != null) ? classifierNode.text() : ""; + String groupId = extractText(findChild(dependency, "groupId")); + String artifactId = extractText(findChild(dependency, "artifactId")); + String classifier = extractText(findChild(dependency, "classifier")); String versionProperty = this.bom.getArtifactVersionProperty(groupId, artifactId, classifier); if (versionProperty != null) { findChild(dependency, "version").setValue("${" + versionProperty + "}"); @@ -156,8 +155,8 @@ private void addExclusionsToManagedDependencies(Node dependencyManagement) { Node dependencies = findChild(dependencyManagement, "dependencies"); if (dependencies != null) { for (Node dependency : findChildren(dependencies, "dependency")) { - String groupId = findChild(dependency, "groupId").text(); - String artifactId = findChild(dependency, "artifactId").text(); + String groupId = extractText(findChild(dependency, "groupId")); + String artifactId = extractText(findChild(dependency, "artifactId")); this.bom.getLibraries() .stream() .flatMap((library) -> library.getGroups().stream()) @@ -179,8 +178,8 @@ private void addTypesToManagedDependencies(Node dependencyManagement) { Node dependencies = findChild(dependencyManagement, "dependencies"); if (dependencies != null) { for (Node dependency : findChildren(dependencies, "dependency")) { - String groupId = findChild(dependency, "groupId").text(); - String artifactId = findChild(dependency, "artifactId").text(); + String groupId = extractText(findChild(dependency, "groupId")); + String artifactId = extractText(findChild(dependency, "artifactId")); Set types = this.bom.getLibraries() .stream() .flatMap((library) -> library.getGroups().stream()) @@ -207,9 +206,9 @@ private void addClassifiedManagedDependencies(Node dependencyManagement) { Node dependencies = findChild(dependencyManagement, "dependencies"); if (dependencies != null) { for (Node dependency : findChildren(dependencies, "dependency")) { - String groupId = findChild(dependency, "groupId").text(); - String artifactId = findChild(dependency, "artifactId").text(); - String version = findChild(dependency, "version").text(); + String groupId = extractText(findChild(dependency, "groupId")); + String artifactId = extractText(findChild(dependency, "artifactId")); + String version = extractText(findChild(dependency, "version")); Set classifiers = this.bom.getLibraries() .stream() .flatMap((library) -> library.getGroups().stream()) @@ -296,6 +295,10 @@ private boolean isNodeWithName(Object candidate, String name) { return false; } + private String extractText(Node node) { + return (node != null) ? node.text() : ""; + } + } }