Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve BOM/catalog generation #691

Merged
merged 1 commit into from
May 30, 2024
Merged

Improve BOM/catalog generation #691

merged 1 commit into from
May 30, 2024

Conversation

melix
Copy link
Contributor

@melix melix commented May 30, 2024

This commit enhances the possibilities when generating BOMs. Before this change, only Micronaut modules, which were published with a Gradle version catalog, were inlined into the generated BOM. With this change, a new option, inlineRegularBOMs, when set to true, will also inline BOMs which are not version catalogs.

There are limitations though. For example, we cannot reuse versions which were defined in the BOMs, if any. Instead, all included dependencies will have an alias matching the artifact id, and a version property will be defined with the same name. For example, if an artifact id is my-awesome-lib, then an alias with the name my-awsome-lib will be created in the catalog, a version with the same name will be created in the catalog, and in the Maven BOM a property named my.awesome.lib.version will be added so that users can override these easily.

In addition, it's now possible to include/exclude from inlining, on a per included catalog/BOM basis.

This commit enhances the possibilities when generating BOMs. Before
this change, only Micronaut modules, which were published with a
Gradle version catalog, were inlined into the generated BOM. With
this change, a new option, `inlineRegularBOMs`, when set to `true`,
will _also_ inline BOMs which are _not_ version catalogs.

There are limitations though. For example, we cannot reuse versions
which were defined in the BOMs, if any. Instead, all included
dependencies will have an alias matching the artifact id, and
a version property will be defined with the same name. For example,
if an artifact id is `my-awesome-lib`, then an alias with the
name `my-awsome-lib` will be created in the catalog, a version with
the same name will be created in the catalog, and in the Maven BOM
a property named `my.awesome.lib.version` will be added so that
users can override these easily.

In addition, it's now possible to include/exclude from inlining,
on a per included catalog/BOM basis.
@melix melix added the enhancement New feature or request label May 30, 2024
@melix melix added this to the 7.1.0 milestone May 30, 2024
@melix melix requested a review from alvarosanchez May 30, 2024 15:39
@melix melix merged commit 8edc205 into master May 30, 2024
3 checks passed
@melix melix deleted the cc/improve-bom-generation branch May 30, 2024 16:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants