[WIP] Add a bundle package and environment to build a basic "externals" stack #676
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
BEGINRELEASENOTES
exactly as it appears between the two bold lines
ENDRELEASENOTES
This is a proposal to add a
BundlePackage
and an environment that can be used to build a minimal external base on top of which most (all?) Key4hep packages can be built. The current dependencies are mainly collected from trying to build Gaudi and podio on top of it, there are almost certainly packages missing for other "low level" Key4hep packages (e.g. I haven't checked DD4hep).One of the potential use cases for this is container building where a basis container can be built up-front and only has to change infrequently, while nightly builds or release build without changes to this basis container can be layered on top of it. We (well mostly @madbaron) have been exercising this workflow a bit for building containers for the muon collider, and so far it works out quite well.
I am opening this PR for a general discussion to see what others think and also to see which packages should still go into this package.
The naming is also still up for debate, currently its base but it could just as well be external or minimal if we want to reserve base for something that already has the main building blocks of Key4hep as well (e.g. k4FWCore, DD4hep, EDM4hep, maybe k4geo).