|
|
@ -2,7 +2,7 @@ use super::runnable::Runnable; |
|
|
|
use super::setup::Setup;
|
|
|
|
use super::util::{AddableResource, InternalAddResult};
|
|
|
|
use super::SymbolRunner;
|
|
|
|
use crate::async_utils::try_join;
|
|
|
|
use crate::async_utils::join;
|
|
|
|
use crate::loggers::{Logger, StoringLogger};
|
|
|
|
use crate::resources::{FromArtifact, FromResource};
|
|
|
|
use crate::symbols::Symbol;
|
|
|
@ -36,11 +36,16 @@ macro_rules! add_generic { |
|
|
|
#[allow(unused)]
|
|
|
|
async fn add_generic(&self, ($($name,)*): ($($name,)*)) -> Result<(StoringLogger, ($($name::Artifact,)*), bool), (StoringLogger, Box<dyn Error>)>
|
|
|
|
{
|
|
|
|
let x: Result<_, _> = try_join!($(self.add($name, false),)*);
|
|
|
|
let ($($name,)*) = x?;
|
|
|
|
let ($($name,)*) = join!($(self.add($name, false),)*);
|
|
|
|
let logger = StoringLogger::default();
|
|
|
|
$(logger.put($name.0.release());)*
|
|
|
|
Ok((logger, ($($name.1,)*), false $(|| $name.2)*))
|
|
|
|
let mut did_run_any = false;
|
|
|
|
$(
|
|
|
|
let (log, artifact, did_run) = $name?;
|
|
|
|
logger.put(log.release());
|
|
|
|
did_run_any = did_run_any || did_run;
|
|
|
|
let $name = artifact;
|
|
|
|
)*
|
|
|
|
Ok((logger, ($($name,)*), did_run_any))
|
|
|
|
}
|
|
|
|
}
|
|
|
|
);
|
|
|
|