This pull request rewrites the bootimage crate almost completely. The most notable changes are:
Breaking: Removes support for the old bootimage run and bootimage test commands because they were difficult to maintain.
Breaking: Removes support for the default-target config key because it did not play nice with cargo workspaces.
Breaking: The crate structure was changed completely, so users who use bootimage as a library will need to update their code when updating to the new (semver-incompatible) API.
Rewrite the code for finding the kernel Cargo.toml file to make bootimage work with cargo workspaces.
Switches error handling to the anyhow/thiserror crates.
Updates some dependencies.
Migration
Users of bootimage run should switch to the runner-based API provided by the bootimage runner sucommand as described here. Instead of bootimage test, custom test frameworks should be used together with cargo xtest. Instead of using the default-target config key, setting a default target is possible through a build.target key in a .cargo/config file.
This pull request rewrites the
bootimage
crate almost completely. The most notable changes are:bootimage run
andbootimage test
commands because they were difficult to maintain.default-target
config key because it did not play nice with cargo workspaces.bootimage
as a library will need to update their code when updating to the new (semver-incompatible) API.Cargo.toml
file to makebootimage
work with cargo workspaces.anyhow
/thiserror
crates.Migration
Users of
bootimage run
should switch to the runner-based API provided by thebootimage runner
sucommand as described here. Instead ofbootimage test
, custom test frameworks should be used together withcargo xtest
. Instead of using thedefault-target
config key, setting a default target is possible through abuild.target
key in a.cargo/config
file.Fixes #54