micronaut-projects / micronaut-build

Common Gradle build scripts
Apache License 2.0
18 stars 14 forks source link

Inline dependencies from Micronaut BOMs into the generated BOM #690

Closed melix closed 5 months ago

melix commented 5 months ago

This commit adds inlining of dependencies from imported Micronaut BOMs into the generated BOM. The dependencies are added before the imported BOMs so that we make sure that they take precedence in Maven.

In addition, we still have a import dependency on the Micronaut BOMs because they themselves may import other BOMs which are not Micronaut BOMs. If we removed the import then we would loose some dependency constraints.

This fixes the problem that despite the fact our BOM declares dependency versions, these are ignored when the user overrides them.

It's worth noting that this isn't a recursive behavior, so if an imported catalog wasn't itself published with this code, its downstream catalogs won't be inlined.

Fixes #689