in buildSrc/src/main/groovy/org/grails/forge/internal/tasks/WriteGrailsVersionInfoTask.java [66:91]
private Map<String, String> generateProperties() {
ArtifactResolutionResult result = getProject().getDependencies().createArtifactResolutionQuery()
.forModule("org.apache.grails", "grails-bom", getVersion().get())
.withArtifacts(MavenModule.class, MavenPomArtifact.class)
.execute();
Map<String, String> props = new TreeMap<>();
props.put("grails.version", getVersion().get());
for (ComponentArtifactsResult component : result.getResolvedComponents()) {
component.getArtifacts(MavenPomArtifact.class).forEach(artifact -> {
if (artifact instanceof ResolvedArtifactResult) {
ResolvedArtifactResult resolved = (ResolvedArtifactResult) artifact;
GPathResult pom = null;
try {
pom = new XmlSlurper().parse(resolved.getFile());
} catch (IOException | SAXException | ParserConfigurationException e) {
// ignore
}
((GPathResult) pom.getProperty("properties")).children().forEach(child -> {
NodeChild node = (NodeChild) child;
props.put(node.name(), node.text());
});
}
});
}
return props;
}