Map parseMavenPom()

in generate-badges.groovy [91:124]


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[] deprecated = new File(aggregatorDir, 'deprecated-projects.txt').text.split('\\n')
    assert deprecated
    String[] contrib = new File(aggregatorDir, 'contrib-projects.txt').text.split('\\n')
    assert contrib

    if (pomFile.exists()) {
        println 'Parsing pom.xml...'
        Node pom = new XmlParser().parseText(pomFile.text)

        Map project = [:]
        project['artifactId'] = pom.artifactId.text()
        project['name'] = pom.name.text()
        project['description'] = pom.description.text().replace('\n', ' ')
        project['group'] = getProjectGroup(repoName, aggregatorDir)
        project['folder'] = repoName
        if (contrib.contains(repoName)) {
            println 'Setting project status to contrib...'
            project['contrib'] = true
        }
        if (deprecated.contains(repoName)) {
            println 'Setting project status to deprecated...'
            project['deprecated'] = true
        }
        return project
    }
    return null
}