Add update and check commands with UTC package timestamps

This commit is contained in:
2026-03-10 13:50:11 -05:00
parent 242d9a7384
commit 233bd1f1fe
12 changed files with 1823 additions and 28 deletions
+10
View File
@@ -1,6 +1,7 @@
//! Package creation and archive management
use crate::config::Config;
use crate::metadata_time;
use crate::package::PackageSpec;
use anyhow::{Context, Result};
use std::fs;
@@ -125,6 +126,7 @@ impl Packager {
fn generate_metadata_toml(&self) -> Result<()> {
let metadata_path = self.destdir.join(".metadata.toml");
let completed_at = metadata_time::current_utc_timestamp_string()?;
// Construct a simple metadata structure
let mut map = toml::map::Map::new();
@@ -152,6 +154,10 @@ impl Packager {
"license".to_string(),
license_value(&self.spec.package.license),
);
map.insert(
"completed_at".to_string(),
toml::Value::String(completed_at),
);
// Add provides
map.insert(
@@ -405,6 +411,10 @@ mod tests {
assert_eq!(val.get("version").and_then(|v| v.as_str()), Some("1.0"));
assert_eq!(val.get("revision").and_then(|v| v.as_integer()), Some(1));
assert_eq!(val.get("license").and_then(|v| v.as_str()), Some("MIT"));
assert!(
crate::metadata_time::parse_completed_at_value(&val).is_some(),
"expected RFC3339 UTC completed_at"
);
let deps = val.get("dependencies").unwrap();
assert!(deps.get("runtime").unwrap().as_array().unwrap().is_empty());