From a62b6ff43c41fef0408c009190ece927eaceb045 Mon Sep 17 00:00:00 2001 From: Gerald Pinder Date: Mon, 7 Apr 2025 11:47:27 -0400 Subject: [PATCH] chore: Migrate from rinja to askama --- Cargo.lock | 105 ++++++++++++++++++++++---------------------- template/Cargo.toml | 2 +- template/src/lib.rs | 4 +- 3 files changed, 55 insertions(+), 56 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index cf9a73a..3099dff 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -161,6 +161,48 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7d902e3d592a523def97af8f317b08ce16b7ab854c1985a0c671e6f15cebc236" +[[package]] +name = "askama" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a4e46abb203e00ef226442d452769233142bbfdd79c3941e84c8e61c4112543" +dependencies = [ + "askama_derive", + "itoa", + "percent-encoding", + "serde", + "serde_json", +] + +[[package]] +name = "askama_derive" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54398906821fd32c728135f7b351f0c7494ab95ae421d41b6f5a020e158f28a6" +dependencies = [ + "askama_parser", + "basic-toml", + "memchr", + "proc-macro2", + "quote", + "rustc-hash 2.1.1", + "serde", + "serde_derive", + "syn 2.0.100", +] + +[[package]] +name = "askama_parser" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf315ce6524c857bb129ff794935cf6d42c82a6cff60526fe2a63593de4d0d4f" +dependencies = [ + "memchr", + "serde", + "serde_derive", + "winnow", +] + [[package]] name = "async-recursion" version = "1.1.1" @@ -492,13 +534,13 @@ dependencies = [ name = "blue-build-template" version = "0.9.10" dependencies = [ + "askama", "blue-build-recipe", "blue-build-utils", "bon", "chrono", "colored", "log", - "rinja", "uuid", ] @@ -1837,15 +1879,6 @@ version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" -[[package]] -name = "humansize" -version = "2.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6cb51c9a029ddc91b07a787f1d86b53ccfa49b0e86688c946ebe8d3555685dd7" -dependencies = [ - "libm", -] - [[package]] name = "humantime" version = "2.2.0" @@ -3900,49 +3933,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "rinja" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dc4940d00595430b3d7d5a01f6222b5e5b51395d1120bdb28d854bb8abb17a5" -dependencies = [ - "humansize", - "itoa", - "percent-encoding", - "rinja_derive", - "serde", - "serde_json", -] - -[[package]] -name = "rinja_derive" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08d9ed0146aef6e2825f1b1515f074510549efba38d71f4554eec32eb36ba18b" -dependencies = [ - "basic-toml", - "memchr", - "mime", - "mime_guess", - "proc-macro2", - "quote", - "rinja_parser", - "rustc-hash 2.1.1", - "serde", - "syn 2.0.100", -] - -[[package]] -name = "rinja_parser" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93f9a866e2e00a7a1fb27e46e9e324a6f7c0e7edc4543cae1d38f4e4a100c610" -dependencies = [ - "memchr", - "nom", - "serde", -] - [[package]] name = "rsa" version = "0.9.8" @@ -5885,6 +5875,15 @@ version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" +[[package]] +name = "winnow" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e97b544156e9bebe1a0ffbc03484fc1ffe3100cbce3ffb17eac35f7cdd7ab36" +dependencies = [ + "memchr", +] + [[package]] name = "winsafe" version = "0.0.19" diff --git a/template/Cargo.toml b/template/Cargo.toml index 7617074..02f3b4f 100644 --- a/template/Cargo.toml +++ b/template/Cargo.toml @@ -9,7 +9,7 @@ license.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -rinja = { version = "0.3", features = ["serde_json"] } +askama = { version = "0.13", features = ["serde_json"] } blue-build-recipe = { version = "=0.9.10", path = "../recipe" } blue-build-utils = { version = "=0.9.10", path = "../utils" } diff --git a/template/src/lib.rs b/template/src/lib.rs index ad54563..7d5cc2f 100644 --- a/template/src/lib.rs +++ b/template/src/lib.rs @@ -10,7 +10,7 @@ use colored::control::ShouldColorize; use log::{debug, error, trace, warn}; use uuid::Uuid; -pub use rinja::Template; +pub use askama::Template; #[derive(Debug, Clone, Template, Builder)] #[template(path = "Containerfile.j2", escape = "none", whitespace = "minimize")] @@ -147,7 +147,7 @@ fn should_color() -> bool { mod filters { #[allow(clippy::unnecessary_wraps)] - pub fn replace(input: T, from: char, to: &str) -> rinja::Result + pub fn replace(input: T, from: char, to: &str) -> askama::Result where T: std::fmt::Display, {