[BUILD-414] Consider managing test dependencies outside of the BOM Created: 06/Nov/20  Updated: 17/Nov/22  Resolved: 17/Nov/22

Status: Closed
Project: Build
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Task Priority: Neutral
Reporter: Aleksandr Pchelintcev Assignee: Unassigned
Resolution: Obsolete Votes: 1
Labels: artt
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Relates
relates to BUILD-394 Validate test execution with JUnit5 f... Closed
relates to MGNLTEST-153 BOM for integration tests Closed
duplicate
is duplicated by BUILD-793 Let ITs dependencies be managed by BOM Closed
is duplicated by MGNLTEST-153 BOM for integration tests Closed
relation
is related to MGNLTEST-295 Make TF module a reactor project and ... Closed
supersession
supersedes BUILD-562 Manage testcontainers version in boms Closed
Template:
Acceptance criteria:
Empty
Task DoR:
Empty
Date of First Response:
Epic Link: Basic JUnit 5
Team: Foundation

 Description   

Option 1. Test BOM

  • Consider introducing a separate bom exclusively for the test dependency management
  • Eventually it would contain only JUnit 5 deps, but could support JUnit 4 as well for the starters
  • Could have a faster update cycle than the main third-party lib bom (even depend on later Java versions?)
  •  dependency bot currently works on the boms & could work on test-boms with little adaptation
  • Caveat: we'd have to import dep mgmt of the two boms now, not just one.
    To validate: what exact benefits this effort brings?

Option 2. Move test dependencies to parent

  • let the parent pom provision dep management for tests
  • simpler module setup
  • a lot of hassle updating the libraries (would require parent pom release!?)

Also consider extracting out the so-called magnolia-integration-tests-framework (the one used for non UI tests) into its own module (could be a submodule of test-framework?) and manage dependencies there (as was done for UI test dependencies in MGNLTEST-200).



 Comments   
Comment by Maxime Michel [ 25/Oct/21 ]

I suggest to go with the test-boms approach considering it aligns with the dependency bot effort. We can always reconsider if we realize it's too clumsy.

Comment by Maxime Michel [ 25/Oct/21 ]

Note: this should be an effort targeting 6.3.

Comment by Maxime Michel [ 25/Oct/21 ]

PPOMs branch from mgeljic (option #2): https://git.magnolia-cms.com/projects/BUILD/repos/poms/compare/diff?sourceBranch=refs%2Fheads%2Ffeature%2Fbuild-bom&targetRepoId=388#build-bom/pom.xml

Comment by Maxime Michel [ 08/Nov/21 ]

At some point in the development of BUILD-513 I reordered the dependencies in boms into two categories: runtime & build. The list I came up with at that point might be helfpul for this effort: https://git.magnolia-cms.com/projects/BUILD/repos/boms/pull-requests/306/commits/bdb2fb15e4ca482f50183fc2739dc25c640d78db#pom.xml

Comment by Maxime Michel [ 08/Nov/21 ]

fgrilli mentions that by now releasing PPOMs isn't that much of a deal. Also, because only 12 build dependencies were identified in boms, it appears that managing them in PPOMs would be a more lightweight solution than creating another boms project. Still, it's a tough call.

Comment by Maxime Michel [ 17/Nov/22 ]

Tackled in MGNLTEST-295

Generated at Sun Feb 11 23:41:42 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.