Publish a BOM
See original GitHub issueHey there! Love the project, but I would love it if there was a BOM file that is published for each version. If you’re not familiar with a BOM,it stands for “Bill of Materials” it helps your Gradle (in my case, but it’s originally a Maven thing) file look like this:
implementation("io.prometheus:simpleclient-bom:0.6.0")
implementation("io.prometheus:simpleclient_common")
implementation("io.prometheus:simpleclient_dropwizard")
implementation("io.prometheus:simpleclient_servlet")
Instead of this:
val prometheusVersion by extra { "0.6.0" }
implementation("io.prometheus:simpleclient:$prometheusVersion")
implementation("io.prometheus:simpleclient_common:$prometheusVersion")
implementation("io.prometheus:simpleclient_dropwizard:$prometheusVersion")
implementation("io.prometheus:simpleclient_servlet:$prometheusVersion")
Notice how you just leave the versions off when you use a BOM. This can help reduce the number of dependency compatibility surprises one can encounter, especially if a transitive dependency brings in a newer version of one of the components (it’ll be reduced to the BOM’s version).
Here’s a deeper dive into how a BOM works:
https://howtodoinjava.com/maven/maven-bom-bill-of-materials-dependency/
Issue Analytics
- State:
- Created 4 years ago
- Reactions:7
- Comments:17 (6 by maintainers)
Top Results From Across the Web
Generate Maven BOM with Gradle maven-publish | Medium
A BoM is a maven dependency that lists several library versions that have been validated to work well together. We will use Gradle...
Read more >Using Maven's Bill of Materials (BOM) - Reflectoring
To make dependency management easier, we can use the Bill of Materials (BOM), a feature that offers easier and safer dependency management.
Read more >Can I create a Maven POM-only (BOM) build using the Gradle ...
In Gradle 6+ versions, we can use Gradle Java Platform Plugin to publish a maven-bom without many configurations and scripting.
Read more >[JLBP-15] Publish a BOM for multi-module projects
Publish a BOM for multi-module projects. A BOM enables consumers of a library to select consistent versions for artifacts included in that library....
Read more >Spring with Maven BOM - Baeldung
BOM stands for Bill Of Materials. A BOM is a special kind of POM that is used to control the versions of a...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
If it can get updated automatically on release, then that sounds good.
We’d be keen to use this but I don’t think it’s been released yet. This is a +1 for 0.9.1.