Closed gavvvr closed 1 year ago
Adding a bom is a great idea, thank you! However, in other projects I maintain, such as rest-assured, the bom is generated automagically by this plugin (if I'm not mistaken):
<plugin>
<groupId>io.sundr</groupId>
<artifactId>sundr-maven-plugin</artifactId>
<version>${sundrio.version}</version>
<executions>
<execution>
<goals>
<goal>generate-bom</goal>
</goals>
<configuration>
<boms>
<bom>
<artifactId>rest-assured-bom</artifactId>
<name>REST Assured: BOM</name>
<description>Centralized dependencyManagement for the Rest Assured Project</description>
<properties>
<skipStagingRepositoryClose>true</skipStagingRepositoryClose>
<sonar.skip>true</sonar.skip>
</properties>
<modules>
<excludes>
<exclude>io.rest-assured.examples:*</exclude>
</excludes>
</modules>
</bom>
</boms>
</configuration>
</execution>
</executions>
</plugin>
Here we've also instructed the plugin to exclude the "examples" project. The nice thing with this is that I don't have to remember to update the bom project on every new module. Does this make sense here as well?
Hi @johanhaleby
Interesting, never saw this plugin before. Some popular projects I've inspected before creating this PR maintain manual list of modules.
Sundr plugin should be very convenient, when you have high degree of modularization (like this project). It's nice that it also supports exclusions. I will adjust this PR later
Hi @johanhaleby
This one works well and produces the same result as manual list I've prepared before. I only had to correct a name for one example module. By default, the sundr maven plugin's goal is automatically tied to VALIDATE lifecycle phase
@gavvvr Thanks again for this PR! Very helpful!
Hi @johanhaleby
I've prepared the BOM (#21) which includes all the current modules (except for 'example/**' and 'test-support')
Used the following Groovy script to double-check myself: