-
-
Notifications
You must be signed in to change notification settings - Fork 199
Expand file tree
/
Copy pathbom.groovy
More file actions
32 lines (26 loc) · 960 Bytes
/
bom.groovy
File metadata and controls
32 lines (26 loc) · 960 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import groovy.xml.*
import java.nio.file.*
def modules = project.collectedProjects.find {it.name == 'modules'}.modules.sort()
modules.add(0, 'jooby');
def skip = ["jooby-bom", "jooby-gradle-setup", "jooby-apt", "jooby-javadoc"]
def depsw = new StringWriter()
def deps = new MarkupBuilder(depsw)
deps.dependencyManagement {
deps.dependencies {
for (module in modules) {
if (!skip.contains(module)) {
dependency {
groupId('io.jooby')
artifactId(module)
version('${project.version}')
}
}
}
}
}
def template = new File("modules/jooby-bom/pom.template.xml").getText("UTF-8")
def content = template.replace("@version", project.version)
.replace("@dependencies", depsw.toString())
def path = Paths.get("modules", "jooby-bom", "pom.xml")
Files.createDirectories(path.getParent())
Files.write(path, content.getBytes())