progress
This commit is contained in:
@@ -27,6 +27,7 @@ pub enum RawEnumType {
|
||||
Progress = 105,
|
||||
SetExpected = 106,
|
||||
PostBuildLogLine = 107,
|
||||
FetchStatus = 108,
|
||||
}
|
||||
|
||||
#[derive(Debug, Deserialize)]
|
||||
@@ -110,9 +111,17 @@ impl<'a> TryFrom<RawAction<'a>> for Action<'a> {
|
||||
|
||||
StartFields::Substitute { source, target }
|
||||
}
|
||||
ActionType::QueryPathInfo => StartFields::QueryPathInfo,
|
||||
ActionType::QueryPathInfo => {
|
||||
let raw_fields = val.fields.ok_or_else(|| missing("fields"))?.get();
|
||||
|
||||
let (path, source) =
|
||||
serde_json::from_str(raw_fields).context("invalid fields")?;
|
||||
|
||||
StartFields::QueryPathInfo { path, source }
|
||||
}
|
||||
ActionType::PostBuildHook => StartFields::PostBuildHook,
|
||||
ActionType::BuildWaiting => StartFields::BuildWaiting,
|
||||
ActionType::FetchTree => StartFields::FetchTree,
|
||||
};
|
||||
|
||||
Action::Start {
|
||||
@@ -128,13 +137,23 @@ impl<'a> TryFrom<RawAction<'a>> for Action<'a> {
|
||||
let raw_fields = val.fields.ok_or_else(|| missing("fields"))?.get();
|
||||
|
||||
let fields = match val.any_type.ok_or_else(|| missing("type"))? {
|
||||
100 => todo!("FileLinked({raw_fields})"),
|
||||
100 => {
|
||||
let (val1, val2) =
|
||||
serde_json::from_str(raw_fields).context("invalid fields")?;
|
||||
ResultFields::FileLinked { val1, val2 }
|
||||
}
|
||||
101 => {
|
||||
let [line] = serde_json::from_str(raw_fields).context("invalid fields")?;
|
||||
ResultFields::BuildLogLine(line)
|
||||
}
|
||||
102 => todo!("UntrustedPath({raw_fields})"),
|
||||
103 => todo!("CorruptedPath({raw_fields})"),
|
||||
102 => {
|
||||
let [path] = serde_json::from_str(raw_fields).context("invalid fields")?;
|
||||
ResultFields::UntrustedPath(path)
|
||||
}
|
||||
103 => {
|
||||
let [path] = serde_json::from_str(raw_fields).context("invalid fields")?;
|
||||
ResultFields::CorruptedPath(path)
|
||||
}
|
||||
104 => {
|
||||
let [phase] = serde_json::from_str(raw_fields).context("invalid fields")?;
|
||||
ResultFields::SetPhase(phase)
|
||||
@@ -154,7 +173,15 @@ impl<'a> TryFrom<RawAction<'a>> for Action<'a> {
|
||||
let (action, expected) = serde_json::from_str(raw_fields).unwrap();
|
||||
ResultFields::SetExpected { action, expected }
|
||||
}
|
||||
107 => todo!("PostBuildLogLine({raw_fields})"),
|
||||
107 => {
|
||||
let [line] = serde_json::from_str(raw_fields).context("invalid fields")?;
|
||||
ResultFields::PostBuildLogLine(line)
|
||||
}
|
||||
108 => {
|
||||
let [status] =
|
||||
serde_json::from_str(raw_fields).context("invalid fields")?;
|
||||
ResultFields::FetchStatus(status)
|
||||
}
|
||||
v => eyre::bail!("Unknown result type `{v}`"),
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user