in generate-badges.groovy [96:154]
Map parseMavenPom(File projectFolder, File aggregatorDir) {
File pomFile = new File(projectFolder, 'pom.xml')
String repoName = projectFolder.name
println "Fetching from ${projectFolder}..."
println 'Reading status lists...'
String[] contrib = new File(aggregatorDir, 'contrib-projects.txt').text.split('\\n')
assert contrib
if (!pomFile.exists()) {
return null
}
println 'Parsing pom.xml...'
Node pom = new XmlParser().parseText(pomFile.text)
Map project = [:]
project['artifactId'] = pom.artifactId.text()
project['name'] = pom.name.text()
if (!project['name']) {
project['name'] = repoName
}
project['description'] = pom.description.text().replace('\n', ' ')
project['group'] = getProjectGroup(repoName, aggregatorDir)
project['folder'] = repoName
project['projectVersion'] = pom.version.text()
project['parentVersion'] = pom.parent.version.text()
project['javaVersion'] = pom.properties["sling.java.version"].text()
if (contrib.contains(repoName)) {
println 'Setting project status to contrib...'
project['contrib'] = true
}
// parse .sling-module.json
project['buildJdks'] = ''
File slingModuleFile = new File(projectFolder, '.sling-module.json')
if (slingModuleFile.exists()) {
def jsonParser = new JsonSlurper()
def slingModule = jsonParser.parse(slingModuleFile)
if (slingModule.jenkins.jdks) {
project['buildJdks'] = slingModule.jenkins.jdks
}
}
// parse .asf.yaml
File asfYamlFile = new File(projectFolder, '.asf.yaml')
if (asfYamlFile.exists()) {
def yamlParser = new YamlSlurper()
def asfYaml = yamlParser.parse(asfYamlFile)
def labels = asfYaml.github.labels
if (labels && labels.contains("deprecated")) {
println 'Setting project status to deprecated...'
project['deprecated'] = true
}
}
return project
}