arquillian / arquillian-universe-bom

'Bill Of Material' Maven artifacts for a simplified view of the Arquillian Universe
Apache License 2.0
13 stars 12 forks source link

Dbunit and Flyway managed by bom #83

Open reitzmichnicht opened 7 years ago

reitzmichnicht commented 7 years ago

Both bom poms for arquillian-ape-sql-standalone-dbunit and arquillian-ape-sql-standalone-flyway include foreign dependencies in the dependencymanagement section for dbunit and flyway.

I think it is not the intention of a bom to manage external versions, these are already defined in the real module poms. With such tainted bom poms to import in my own dependencyManagement section it is always a maven disaster to get all dependencies in the correct order to not override my own definitions.

Except from this I really love the new universe boms.

Kind regards, Michael

lordofthejars commented 7 years ago

The initial idea of universe was to add also these dependencies because the original projects have them as provided (DBUnit or Flyway) so using universe is a way to simplify these provided dependencies as well. When you say about own definitions I suppose you mean that wants to use an specific version of flyway and dbunit.

reitzmichnicht commented 7 years ago

Yes especially flyway is a production code dependency. Using the universe bom can change the version unintentionally.

In maven the parent pom defines all versions of dependencies and the bom defines all versions of your own modules. Your breaking this convention.

Ideally dbunit and flyway dependencies are not of scope provided, but compile. Than the artifact defines the dependency version which can be overriden by my own dependencyManagement section.

lordofthejars commented 7 years ago

Yes this could be another valid approach let me talk with @bartoszmajsak as well before doing this change, but it is true that specially in case of Flyway is really an interesting point to take into consideration.

Thanks.