Isolate platform specific changes to their own crates #81
Labels
always-refactoring
A refactoring/code quality change to the Veracruz codebase
build-process
Something related to the Veracruz build process
enhancement
New feature or request
repository
Something related to management of the repository
trusted-veracruz-runtime
Something related to the trusted Veracruz runtime
Requested feature
Currently, all supported isolate technologies are supported by the
Sinaloa
andMexico City
crates, with features enabled or disabled to support the specific technology.This has resulted in a confused build process. It also means that the work of adding support for future technologies will create merge conflicts and further complicate the building of these crates.
We should create separate crates for the non-secure side of each of the supported technologies, as well as for the secure-side. This would effectively split out the platform-specific parts of
Sinaloa
andMexico City
into multiple, platform-specific crates.Motivation
The current use of features results in code and build processes that are hard to understand and hard to follow. Also, development of support for new platforms is likely to create difficult merge conflicts with other work.
It is desirable to have new platform support to be added (either inside this repository or outside of it) independently of the rest of the work happening on the project.
Additional context
This is likely to have knock-on effects elsewhere in the code base. For example,
veracruz-utils
has features to enable support for various platforms. It might be beneficial to have autils-common
, and autils-*
crate for each supported platform (or at least those that need platform-specific utilities).The text was updated successfully, but these errors were encountered: