You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Variants are defined as if they were independent of any other variant. However we see a pattern emerging where variants share traits with other variants (Several Kubernetes variants that differ only in the version of Kubernetes, for example).
Looking to a future where many more variants may exist, we should consider whether the current mechanisms for defining variants are sufficient, or if some mechanisms for composing variants from re-usable building blocks should be introduced.
Edit: There are a couple of places in the codebase that are referencing this issue. In particular, in places that we want to interact with the models::Settings struct, we need to do conditional compilation. In a variant build using buildsys, we can prevent compilation of crates that aren't compatible for the current variant. But we want to preserve the usability of the sources workspace for developer workflow and unit-tests (e.g. cargo make unit-tests). Thus we end up with conditional compilation (using #[cfg(something)]) to avoid compiling incompatible bits of the sources workspace when the 'wrong' variant is being compiled.
The text was updated successfully, but these errors were encountered:
Things have changed a lot in our thinking since I opened this issue. We are now pursuing #2669 which includes changes throughout the build system. Although #2669 doesn't address this directly, it does make this issue less relevant. Closing in favor of issues that we will right that solve problems more directly as they come up.
Variants are defined as if they were independent of any other variant. However we see a pattern emerging where variants share traits with other variants (Several Kubernetes variants that differ only in the version of Kubernetes, for example).
Looking to a future where many more variants may exist, we should consider whether the current mechanisms for defining variants are sufficient, or if some mechanisms for composing variants from re-usable building blocks should be introduced.
Edit: There are a couple of places in the codebase that are referencing this issue. In particular, in places that we want to interact with the
models::Settings
struct, we need to do conditional compilation. In a variant build using buildsys, we can prevent compilation of crates that aren't compatible for the current variant. But we want to preserve the usability of thesources
workspace for developer workflow and unit-tests (e.g.cargo make unit-tests
). Thus we end up with conditional compilation (using#[cfg(something)]
) to avoid compiling incompatible bits of the sources workspace when the 'wrong' variant is being compiled.The text was updated successfully, but these errors were encountered: