cognos: format

Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ie85796e5a4eb173faacdb355bdd58ffd6a6a6964
This commit is contained in:
raf 2025-12-16 14:20:32 +03:00
commit 58a3d68d22
Signed by: NotAShelf
GPG key ID: 29D95B64378DB4BF
2 changed files with 34 additions and 18 deletions

View file

@ -11,16 +11,28 @@ pub use aterm::{
parse_drv_file,
};
pub use internal_json::{Actions, Activities, Id, Verbosity};
pub use state::{BuildInfo, BuildStatus, Dependencies, Derivation, Host, OutputName, State, ProgressState};
pub use state::{
BuildInfo,
BuildStatus,
Dependencies,
Derivation,
Host,
OutputName,
ProgressState,
State,
};
/// Process a list of actions and return the resulting state
#[must_use] pub fn process_actions(actions: Vec<Actions>) -> State {
#[must_use]
pub fn process_actions(actions: Vec<Actions>) -> State {
let mut state = State {
progress: ProgressState::JustStarted,
derivations: HashMap::new(),
builds: HashMap::new(),
dependencies: Dependencies { deps: HashMap::new() },
store_paths: HashMap::new(),
progress: ProgressState::JustStarted,
derivations: HashMap::new(),
builds: HashMap::new(),
dependencies: Dependencies {
deps: HashMap::new(),
},
store_paths: HashMap::new(),
dependency_states: HashMap::new(),
};
for action in actions {

View file

@ -97,18 +97,22 @@ pub struct Dependencies {
// #[derive(Default)]
pub struct State {
pub progress: ProgressState,
pub derivations: HashMap<Id, Derivation>,
pub builds: HashMap<Id, BuildInfo>,
pub dependencies: Dependencies,
pub store_paths: HashMap<Id, StorePath>,
pub progress: ProgressState,
pub derivations: HashMap<Id, Derivation>,
pub builds: HashMap<Id, BuildInfo>,
pub dependencies: Dependencies,
pub store_paths: HashMap<Id, StorePath>,
pub dependency_states: HashMap<Id, DependencyState>,
}
impl State {
pub fn imbibe(&mut self, action: Actions) {
match action {
Actions::Start { id, activity: _activity, .. } => {
Actions::Start {
id,
activity: _activity,
..
} => {
let derivation = Derivation {
store_path: PathBuf::from("/nix/store/placeholder"),
};
@ -118,11 +122,11 @@ impl State {
let _path = &self.derivations.get(&id).unwrap().store_path;
let build_info = BuildInfo {
start: 0.0, // Placeholder, would need actual time
host: Host::Localhost, // Placeholder
estimate: None,
start: 0.0, // Placeholder, would need actual time
host: Host::Localhost, // Placeholder
estimate: None,
activity_id: id,
state: BuildStatus::Running,
state: BuildStatus::Running,
};
self.builds.insert(id, build_info.clone());
self.dependencies.deps.insert(id, build_info);
@ -152,4 +156,4 @@ impl State {
},
}
}
}
}