Skip to content

Conversation

@danieldk
Copy link
Member

We have three versions of the build format (v1-3), where we converted prior versions to the latest and used the latest as the actual configuration. The downside of this approach is that every time we introduce a new version, we have to move all utility functions, etc. to the latest.

This change decouples the configuration that is used to generate the build files from the concrete serializations. The core data structures move to the top-level module and v1-v3.rs now only contain plain data structures to (de)serialize with serde.

We have three versions of the build format (v1-3), where we converted
prior versions to the latest and used the latest as the actual
configuration. The downside of this approach is that every time we
introduce a new version, we have to move all utility functions, etc.
to the latest.

This change decouples the configuration that is used to generate the
build files from the concrete serializations. The core data structures
move to the top-level module and v1-v3.rs now only contain plain data
structures to (de)serialize with serde.
Copy link
Collaborator

@drbh drbh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nice, looks good to me! great improvement

@danieldk danieldk merged commit 7872392 into main Dec 19, 2025
57 of 59 checks passed
@danieldk danieldk deleted the config-decouple branch December 19, 2025 09:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants