refactor(tvix/eval): rewrite xml emitter to be simple-stupid
In order to be compatible with the nix XML generator, it’s easier to generate the XML directly, instead of going through a library which we have to bend to do what we need. Removes dependency on `xml-rs`, which came with a full XML parser that we didn’t use. Only takes a tiny bit of code for the XML escaping, somewhat simplified. I add a little escaping value, to make sure we have the same behaviour as nix proper. Interestingly enough, we never need to escape XML attribute names, because the `builtins.toXML` format encodes user-defined values as attribute keys only. So we only escape attribute values. Fixes: https://b.tvl.fyi/issues/399 Change-Id: If4d407d324864b3bb9aa3160e2ec6889f7727127 Reviewed-on: https://cl.tvl.fyi/c/depot/+/11697 Tested-by: BuildkiteCI Reviewed-by: flokli <flokli@flokli.de> Autosubmit: Profpatsch <mail@profpatsch.de>
This commit is contained in:
parent
e7be342256
commit
5b2ba0efa1
9 changed files with 205 additions and 89 deletions
|
@ -13222,10 +13222,6 @@ rec {
|
|||
packageId = "tvix-eval-builtin-macros";
|
||||
rename = "builtin-macros";
|
||||
}
|
||||
{
|
||||
name = "xml-rs";
|
||||
packageId = "xml-rs";
|
||||
}
|
||||
];
|
||||
devDependencies = [
|
||||
{
|
||||
|
@ -16041,18 +16037,6 @@ rec {
|
|||
};
|
||||
resolvedDefaultFeatures = [ "default" "unsupported" ];
|
||||
};
|
||||
"xml-rs" = rec {
|
||||
crateName = "xml-rs";
|
||||
version = "0.8.19";
|
||||
edition = "2021";
|
||||
crateBin = [ ];
|
||||
sha256 = "0nnpvk3fv32hgh7vs9gbg2swmzxx5yz73f4b7rak7q39q2x9rjqg";
|
||||
libName = "xml";
|
||||
authors = [
|
||||
"Vladimir Matveev <vmatveev@citrine.cc>"
|
||||
];
|
||||
|
||||
};
|
||||
"xz2" = rec {
|
||||
crateName = "xz2";
|
||||
version = "0.1.7";
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue