forked from jooby-project/jooby
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbom.groovy
More file actions
21 lines (18 loc) · 690 Bytes
/
bom.groovy
File metadata and controls
21 lines (18 loc) · 690 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/usr/bin/env groovy
// usage: groovy bom.groovy ../pom.xml > pom.xml
import groovy.xml.*
def xml = new XmlSlurper().parse(new File(args[0]));
def sw = new StringWriter()
def b = new MarkupBuilder(sw)
def template = new java.io.File("pom.template.xml").getText("UTF-8")
b.dependencies {
for (m in xml.modules.module) {
if (m.text().endsWith('-bom') || m.text().contains('coverage-report')) continue;
dependency {
groupId('${project.groupId}');
artifactId(m.text());
version('${jooby.version}');
}
}
}
println template.replace("@version", xml.version.text()).replace("@dependencies", sw.toString())