feat(solc): install solc io reporter in basic reporter (#1295)
This commit is contained in:
parent
75835a9280
commit
0656ffcec3
|
@ -330,8 +330,16 @@ pub struct NoReporter(());
|
||||||
impl Reporter for NoReporter {}
|
impl Reporter for NoReporter {}
|
||||||
|
|
||||||
/// A [`Reporter`] that emits some general information to `stdout`
|
/// A [`Reporter`] that emits some general information to `stdout`
|
||||||
#[derive(Copy, Clone, Debug, Default)]
|
#[derive(Clone, Debug)]
|
||||||
pub struct BasicStdoutReporter(());
|
pub struct BasicStdoutReporter {
|
||||||
|
solc_io_report: SolcCompilerIoReporter,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Default for BasicStdoutReporter {
|
||||||
|
fn default() -> Self {
|
||||||
|
Self { solc_io_report: SolcCompilerIoReporter::from_default_env() }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
impl Reporter for BasicStdoutReporter {
|
impl Reporter for BasicStdoutReporter {
|
||||||
/// Callback invoked right before [`Solc::compile()`] is called
|
/// Callback invoked right before [`Solc::compile()`] is called
|
||||||
|
@ -339,9 +347,10 @@ impl Reporter for BasicStdoutReporter {
|
||||||
&self,
|
&self,
|
||||||
_solc: &Solc,
|
_solc: &Solc,
|
||||||
version: &Version,
|
version: &Version,
|
||||||
_input: &CompilerInput,
|
input: &CompilerInput,
|
||||||
dirty_files: &[PathBuf],
|
dirty_files: &[PathBuf],
|
||||||
) {
|
) {
|
||||||
|
self.solc_io_report.log_compiler_input(input, version);
|
||||||
println!(
|
println!(
|
||||||
"Compiling {} files with {}.{}.{}",
|
"Compiling {} files with {}.{}.{}",
|
||||||
dirty_files.len(),
|
dirty_files.len(),
|
||||||
|
@ -351,6 +360,20 @@ impl Reporter for BasicStdoutReporter {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn on_solc_success(
|
||||||
|
&self,
|
||||||
|
_solc: &Solc,
|
||||||
|
version: &Version,
|
||||||
|
output: &CompilerOutput,
|
||||||
|
duration: &Duration,
|
||||||
|
) {
|
||||||
|
self.solc_io_report.log_compiler_output(output, version);
|
||||||
|
println!(
|
||||||
|
"Solc {}.{}.{} finished in {:.2?}",
|
||||||
|
version.major, version.minor, version.patch, duration
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
/// Invoked before a new [`Solc`] bin is installed
|
/// Invoked before a new [`Solc`] bin is installed
|
||||||
fn on_solc_installation_start(&self, version: &Version) {
|
fn on_solc_installation_start(&self, version: &Version) {
|
||||||
println!("installing solc version \"{}\"", version);
|
println!("installing solc version \"{}\"", version);
|
||||||
|
|
Loading…
Reference in New Issue