question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Hey 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:closed
  • Created 4 years ago
  • Reactions:7
  • Comments:17 (6 by maintainers)

github_iconTop GitHub Comments

1reaction
brian-brazilcommented, Oct 31, 2019

If it can get updated automatically on release, then that sounds good.

0reactions
maxmilcommented, Jul 28, 2020

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.

Read more comments on GitHub >

github_iconTop 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 >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found