Merge pull request #228928 from DeeUnderscore/fix/replace-workspace-values-bool

figsoda 9a7fd959 3ba5e3e4

Changed files
+21 -3
pkgs
build-support
rust
test
import-cargo-lock
git-dependency-workspace-inheritance
+1 -1
pkgs/build-support/rust/import-cargo-lock.nix
···
# Replaces values inherited by workspace members.
replaceWorkspaceValues = writers.writePython3 "replace-workspace-values"
-
{ libraries = with python3Packages; [ tomli tomli-w ]; flakeIgnore = [ "E501" ]; }
+
{ libraries = with python3Packages; [ tomli tomli-w ]; flakeIgnore = [ "E501" "W503" ]; }
(builtins.readFile ./replace-workspace-values.py);
# Fetch and unpack a crate.
+5 -1
pkgs/build-support/rust/replace-workspace-values.py
···
def replace_key(
workspace_manifest: dict[str, Any], table: dict[str, Any], section: str, key: str
) -> bool:
-
if "workspace" in table[key] and table[key]["workspace"] is True:
+
if (
+
isinstance(table[key], dict)
+
and "workspace" in table[key]
+
and table[key]["workspace"] is True
+
):
print("replacing " + key)
replaced = table[key]
+1 -1
pkgs/build-support/rust/test/import-cargo-lock/default.nix
···
v1 = callPackage ./v1 { };
gitDependencyWorkspaceInheritance = callPackage ./git-dependency-workspace-inheritance {
replaceWorkspaceValues = writers.writePython3 "replace-workspace-values"
-
{ libraries = with python3Packages; [ tomli tomli-w ]; flakeIgnore = [ "E501" ]; }
+
{ libraries = with python3Packages; [ tomli tomli-w ]; flakeIgnore = [ "E501" "W503" ]; }
(builtins.readFile ../../replace-workspace-values.py);
};
}
+7
pkgs/build-support/rust/test/import-cargo-lock/git-dependency-workspace-inheritance/crate.toml
···
[package]
+
name = "im_using_workspaces"
version = { workspace = true }
+
publish = false
+
keywords = [
+
"workspace",
+
"other_thing",
+
"third_thing",
+
]
[dependencies]
foo = { workspace = true, features = ["cat"] }
+7
pkgs/build-support/rust/test/import-cargo-lock/git-dependency-workspace-inheritance/want.toml
···
[package]
+
name = "im_using_workspaces"
version = "1.0.0"
+
publish = false
+
keywords = [
+
"workspace",
+
"other_thing",
+
"third_thing",
+
]
[dependencies]
bar = "1.0.0"