buildRustCrate: Support versioned crate renames
This commit is contained in:
@@ -197,6 +197,51 @@ let
|
||||
dependencies = [ (mkCrate { crateName = "foo"; libName = "foolib"; src = mkLib "src/lib.rs"; }) ];
|
||||
crateRenames = { "foo" = "foo_renamed"; };
|
||||
};
|
||||
crateBinRenameMultiVersion = let
|
||||
crateWithVersion = version: mkCrate {
|
||||
crateName = "my_lib";
|
||||
inherit version;
|
||||
src = mkFile "src/lib.rs" ''
|
||||
pub const version: &str = "${version}";
|
||||
'';
|
||||
};
|
||||
depCrate01 = crateWithVersion "0.1.2";
|
||||
depCrate02 = crateWithVersion "0.2.1";
|
||||
in {
|
||||
crateName = "my_bin";
|
||||
src = symlinkJoin {
|
||||
name = "my_bin_src";
|
||||
paths = [
|
||||
(mkFile "src/main.rs" ''
|
||||
#[test]
|
||||
fn my_lib_01() { assert_eq!(lib01::version, "0.1.2"); }
|
||||
|
||||
#[test]
|
||||
fn my_lib_02() { assert_eq!(lib02::version, "0.2.1"); }
|
||||
|
||||
fn main() { }
|
||||
'')
|
||||
];
|
||||
};
|
||||
dependencies = [ depCrate01 depCrate02 ];
|
||||
crateRenames = {
|
||||
"my_lib" = [
|
||||
{
|
||||
version = "0.1.2";
|
||||
rename = "lib01";
|
||||
}
|
||||
{
|
||||
version = "0.2.1";
|
||||
rename = "lib02";
|
||||
}
|
||||
];
|
||||
};
|
||||
buildTests = true;
|
||||
expectedTestOutputs = [
|
||||
"test my_lib_01 ... ok"
|
||||
"test my_lib_02 ... ok"
|
||||
];
|
||||
};
|
||||
rustLibTestsDefault = {
|
||||
src = mkTestFile "src/lib.rs" "baz";
|
||||
buildTests = true;
|
||||
|
||||
Reference in New Issue
Block a user