use tracing for build command

This commit is contained in:
collin 2020-08-21 15:49:51 -07:00
parent c07958e292
commit da843e452e
7 changed files with 209 additions and 204 deletions

349
Cargo.lock generated
View File

@ -33,6 +33,15 @@ dependencies = [
"winapi 0.3.9",
]
[[package]]
name = "ansi_term"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2"
dependencies = [
"winapi 0.3.9",
]
[[package]]
name = "arrayref"
version = "0.3.6"
@ -341,7 +350,7 @@ version = "2.33.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "37e58ac78573c40708d45522f0d80fa2f01cc4f9b4e2bf749807255454312002"
dependencies = [
"ansi_term",
"ansi_term 0.11.0",
"atty",
"bitflags",
"strsim",
@ -1238,14 +1247,16 @@ dependencies = [
"rand_xorshift",
"serde",
"sha2",
"snarkos-curves 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"snarkos-curves",
"snarkos-dpc",
"snarkos-errors 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"snarkos-errors",
"snarkos-gadgets",
"snarkos-models 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"snarkos-objects 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"snarkos-utilities 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"snarkos-models",
"snarkos-objects",
"snarkos-utilities",
"thiserror",
"tracing",
"tracing-subscriber",
]
[[package]]
@ -1254,9 +1265,9 @@ version = "1.0.0"
dependencies = [
"rand",
"rand_xorshift",
"snarkos-errors 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"snarkos-models 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"snarkos-utilities 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"snarkos-errors",
"snarkos-models",
"snarkos-utilities",
"thiserror",
]
@ -1268,11 +1279,11 @@ dependencies = [
"pest",
"pest-ast",
"pest_derive",
"snarkos-algorithms 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"snarkos-curves 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"snarkos-errors 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"snarkos-algorithms",
"snarkos-curves",
"snarkos-errors",
"snarkos-gadgets",
"snarkos-models 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"snarkos-models",
"thiserror",
]
@ -1303,14 +1314,16 @@ dependencies = [
"self_update",
"serde",
"serde_json",
"snarkos-algorithms 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"snarkos-curves 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"snarkos-errors 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"snarkos-algorithms",
"snarkos-curves",
"snarkos-errors",
"snarkos-gadgets",
"snarkos-models 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"snarkos-utilities 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"snarkos-models",
"snarkos-utilities",
"thiserror",
"toml",
"tracing",
"tracing-subscriber",
"zip",
]
@ -1339,14 +1352,14 @@ dependencies = [
"leo-typed",
"rand",
"rand_xorshift",
"snarkos-algorithms 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"snarkos-curves 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"snarkos-algorithms",
"snarkos-curves",
"snarkos-dpc",
"snarkos-errors 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"snarkos-models 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"snarkos-objects 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"snarkos-errors",
"snarkos-models",
"snarkos-objects",
"snarkos-storage",
"snarkos-utilities 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"snarkos-utilities",
"thiserror",
]
@ -1360,8 +1373,8 @@ dependencies = [
"pest",
"serde",
"serde_json",
"snarkos-errors 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"snarkos-models 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"snarkos-errors",
"snarkos-models",
]
[[package]]
@ -1428,6 +1441,15 @@ version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d"
[[package]]
name = "matchers"
version = "0.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f099785f7595cc4b4553a174ce30dd7589ef93391ff414dbb67f62392b9e0ce1"
dependencies = [
"regex-automata",
]
[[package]]
name = "matches"
version = "0.1.8"
@ -2019,6 +2041,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ae1ded71d66a4a97f5e961fd0cb25a5f366a42a41570d16a763a69c092c26ae4"
dependencies = [
"byteorder",
"regex-syntax",
]
[[package]]
@ -2298,6 +2321,15 @@ dependencies = [
"opaque-debug 0.3.0",
]
[[package]]
name = "sharded-slab"
version = "0.0.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "06d5a3f5166fb5b42a5439f2eee8b9de149e235961e3eb21c5808fc3ea17ff3e"
dependencies = [
"lazy_static",
]
[[package]]
name = "shlex"
version = "0.1.1"
@ -2325,26 +2357,6 @@ version = "1.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fbee7696b84bbf3d89a1c2eccff0850e3047ed46bfcd2e92c29a2d074d57e252"
[[package]]
name = "snarkos-algorithms"
version = "1.0.0"
source = "git+ssh://git@github.com/AleoHQ/snarkOS.git#9fda1b628c627bf717556e81dc10bee667f77a52"
dependencies = [
"blake2",
"derivative",
"digest 0.8.1",
"itertools 0.9.0",
"rand",
"rand_chacha",
"rayon",
"sha2",
"smallvec",
"snarkos-errors 1.0.0 (git+ssh://git@github.com/AleoHQ/snarkOS.git)",
"snarkos-models 1.0.0 (git+ssh://git@github.com/AleoHQ/snarkOS.git)",
"snarkos-profiler 1.0.0 (git+ssh://git@github.com/AleoHQ/snarkOS.git)",
"snarkos-utilities 1.0.0 (git+ssh://git@github.com/AleoHQ/snarkOS.git)",
]
[[package]]
name = "snarkos-algorithms"
version = "1.0.0"
@ -2360,25 +2372,10 @@ dependencies = [
"rayon",
"sha2",
"smallvec",
"snarkos-errors 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"snarkos-models 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"snarkos-profiler 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"snarkos-utilities 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "snarkos-curves"
version = "1.0.0"
source = "git+ssh://git@github.com/AleoHQ/snarkOS.git#9fda1b628c627bf717556e81dc10bee667f77a52"
dependencies = [
"derivative",
"rand",
"rand_xorshift",
"rustc_version",
"serde",
"snarkos-errors 1.0.0 (git+ssh://git@github.com/AleoHQ/snarkOS.git)",
"snarkos-models 1.0.0 (git+ssh://git@github.com/AleoHQ/snarkOS.git)",
"snarkos-utilities 1.0.0 (git+ssh://git@github.com/AleoHQ/snarkOS.git)",
"snarkos-errors",
"snarkos-models",
"snarkos-profiler",
"snarkos-utilities",
]
[[package]]
@ -2392,19 +2389,9 @@ dependencies = [
"rand_xorshift",
"rustc_version",
"serde",
"snarkos-errors 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"snarkos-models 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"snarkos-utilities 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "snarkos-derives"
version = "1.0.0"
source = "git+ssh://git@github.com/AleoHQ/snarkOS.git#9fda1b628c627bf717556e81dc10bee667f77a52"
dependencies = [
"proc-macro2 1.0.19",
"quote 1.0.7",
"syn 1.0.38",
"snarkos-errors",
"snarkos-models",
"snarkos-utilities",
]
[[package]]
@ -2429,21 +2416,22 @@ dependencies = [
"hex",
"itertools 0.9.0",
"rand",
"snarkos-algorithms 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"snarkos-curves 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"snarkos-errors 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"snarkos-algorithms",
"snarkos-curves",
"snarkos-errors",
"snarkos-gadgets",
"snarkos-models 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"snarkos-objects 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"snarkos-parameters 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"snarkos-profiler 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"snarkos-utilities 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"snarkos-models",
"snarkos-objects",
"snarkos-parameters",
"snarkos-profiler",
"snarkos-utilities",
]
[[package]]
name = "snarkos-errors"
version = "1.0.0"
source = "git+ssh://git@github.com/AleoHQ/snarkOS.git#9fda1b628c627bf717556e81dc10bee667f77a52"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "45fbdc0916755cdf9522f6abc20103681f0d23308067b1a53be91fe216392d37"
dependencies = [
"base58",
"bech32",
@ -2456,21 +2444,6 @@ dependencies = [
"toml",
]
[[package]]
name = "snarkos-errors"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "45fbdc0916755cdf9522f6abc20103681f0d23308067b1a53be91fe216392d37"
dependencies = [
"base58",
"bech32",
"bincode",
"hex",
"jsonrpc-core",
"thiserror",
"toml",
]
[[package]]
name = "snarkos-gadgets"
version = "1.0.0"
@ -2480,27 +2453,11 @@ dependencies = [
"derivative",
"digest 0.8.1",
"itertools 0.9.0",
"snarkos-algorithms 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"snarkos-curves 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"snarkos-errors 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"snarkos-models 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"snarkos-utilities 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "snarkos-models"
version = "1.0.0"
source = "git+ssh://git@github.com/AleoHQ/snarkOS.git#9fda1b628c627bf717556e81dc10bee667f77a52"
dependencies = [
"bincode",
"derivative",
"itertools 0.9.0",
"rand",
"rand_xorshift",
"serde",
"smallvec",
"snarkos-errors 1.0.0 (git+ssh://git@github.com/AleoHQ/snarkOS.git)",
"snarkos-utilities 1.0.0 (git+ssh://git@github.com/AleoHQ/snarkOS.git)",
"snarkos-algorithms",
"snarkos-curves",
"snarkos-errors",
"snarkos-models",
"snarkos-utilities",
]
[[package]]
@ -2516,29 +2473,8 @@ dependencies = [
"rand_xorshift",
"serde",
"smallvec",
"snarkos-errors 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"snarkos-utilities 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "snarkos-objects"
version = "1.0.0"
source = "git+ssh://git@github.com/AleoHQ/snarkOS.git#9fda1b628c627bf717556e81dc10bee667f77a52"
dependencies = [
"base58",
"bech32",
"chrono",
"derivative",
"hex",
"once_cell",
"rand",
"serde",
"sha2",
"snarkos-algorithms 1.0.0 (git+ssh://git@github.com/AleoHQ/snarkOS.git)",
"snarkos-curves 1.0.0 (git+ssh://git@github.com/AleoHQ/snarkOS.git)",
"snarkos-errors 1.0.0 (git+ssh://git@github.com/AleoHQ/snarkOS.git)",
"snarkos-models 1.0.0 (git+ssh://git@github.com/AleoHQ/snarkOS.git)",
"snarkos-utilities 1.0.0 (git+ssh://git@github.com/AleoHQ/snarkOS.git)",
"snarkos-errors",
"snarkos-utilities",
]
[[package]]
@ -2556,24 +2492,11 @@ dependencies = [
"rand",
"serde",
"sha2",
"snarkos-algorithms 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"snarkos-curves 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"snarkos-errors 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"snarkos-models 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"snarkos-utilities 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "snarkos-parameters"
version = "1.0.0"
source = "git+ssh://git@github.com/AleoHQ/snarkOS.git#9fda1b628c627bf717556e81dc10bee667f77a52"
dependencies = [
"curl",
"hex",
"snarkos-algorithms 1.0.0 (git+ssh://git@github.com/AleoHQ/snarkOS.git)",
"snarkos-errors 1.0.0 (git+ssh://git@github.com/AleoHQ/snarkOS.git)",
"snarkos-models 1.0.0 (git+ssh://git@github.com/AleoHQ/snarkOS.git)",
"snarkos-utilities 1.0.0 (git+ssh://git@github.com/AleoHQ/snarkOS.git)",
"snarkos-algorithms",
"snarkos-curves",
"snarkos-errors",
"snarkos-models",
"snarkos-utilities",
]
[[package]]
@ -2582,18 +2505,14 @@ version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ec4f9d1db48ac8b784d2499af9619c0ee5b3c619ca9467dbf102804aba721873"
dependencies = [
"curl",
"hex",
"snarkos-algorithms 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"snarkos-errors 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"snarkos-models 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"snarkos-utilities 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"snarkos-algorithms",
"snarkos-errors",
"snarkos-models",
"snarkos-utilities",
]
[[package]]
name = "snarkos-profiler"
version = "1.0.0"
source = "git+ssh://git@github.com/AleoHQ/snarkOS.git#9fda1b628c627bf717556e81dc10bee667f77a52"
[[package]]
name = "snarkos-profiler"
version = "1.0.0"
@ -2603,7 +2522,8 @@ checksum = "7cf0f5fd8121285811d5b5f7c61e85e176c2ca55d8009e24e151308a7eaa0db6"
[[package]]
name = "snarkos-storage"
version = "1.0.0"
source = "git+ssh://git@github.com/AleoHQ/snarkOS.git#9fda1b628c627bf717556e81dc10bee667f77a52"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6763f78edd89f0694feeaaa51a16ad663ee7bdec17f88bc239ab121507f794f4"
dependencies = [
"bincode",
"hex",
@ -2611,23 +2531,12 @@ dependencies = [
"rand",
"rocksdb",
"serde",
"snarkos-algorithms 1.0.0 (git+ssh://git@github.com/AleoHQ/snarkOS.git)",
"snarkos-errors 1.0.0 (git+ssh://git@github.com/AleoHQ/snarkOS.git)",
"snarkos-models 1.0.0 (git+ssh://git@github.com/AleoHQ/snarkOS.git)",
"snarkos-objects 1.0.0 (git+ssh://git@github.com/AleoHQ/snarkOS.git)",
"snarkos-parameters 1.0.0 (git+ssh://git@github.com/AleoHQ/snarkOS.git)",
"snarkos-utilities 1.0.0 (git+ssh://git@github.com/AleoHQ/snarkOS.git)",
]
[[package]]
name = "snarkos-utilities"
version = "1.0.0"
source = "git+ssh://git@github.com/AleoHQ/snarkOS.git#9fda1b628c627bf717556e81dc10bee667f77a52"
dependencies = [
"bincode",
"rand",
"snarkos-derives 1.0.0 (git+ssh://git@github.com/AleoHQ/snarkOS.git)",
"snarkos-errors 1.0.0 (git+ssh://git@github.com/AleoHQ/snarkOS.git)",
"snarkos-algorithms",
"snarkos-errors",
"snarkos-models",
"snarkos-objects",
"snarkos-parameters",
"snarkos-utilities",
]
[[package]]
@ -2638,8 +2547,8 @@ checksum = "21ad2b96414c45c2f90e9344b1420c9db2fbbb9435d6f1da3e2f819da1b08c05"
dependencies = [
"bincode",
"rand",
"snarkos-derives 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"snarkos-errors 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"snarkos-derives",
"snarkos-errors",
]
[[package]]
@ -2871,9 +2780,21 @@ checksum = "6d79ca061b032d6ce30c660fded31189ca0b9922bf483cd70759f13a2d86786c"
dependencies = [
"cfg-if",
"log",
"tracing-attributes",
"tracing-core",
]
[[package]]
name = "tracing-attributes"
version = "0.1.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "80e0ccfc3378da0cce270c946b676a376943f5cd16aeba64568e7939806f4ada"
dependencies = [
"proc-macro2 1.0.19",
"quote 1.0.7",
"syn 1.0.38",
]
[[package]]
name = "tracing-core"
version = "0.1.14"
@ -2883,6 +2804,48 @@ dependencies = [
"lazy_static",
]
[[package]]
name = "tracing-log"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5e0f8c7178e13481ff6765bd169b33e8d554c5d2bbede5e32c356194be02b9b9"
dependencies = [
"lazy_static",
"log",
"tracing-core",
]
[[package]]
name = "tracing-serde"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b6ccba2f8f16e0ed268fc765d9b7ff22e965e7185d32f8f1ec8294fe17d86e79"
dependencies = [
"serde",
"tracing-core",
]
[[package]]
name = "tracing-subscriber"
version = "0.2.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "abd165311cc4d7a555ad11cc77a37756df836182db0d81aac908c8184c584f40"
dependencies = [
"ansi_term 0.12.1",
"chrono",
"lazy_static",
"matchers",
"regex",
"serde",
"serde_json",
"sharded-slab",
"smallvec",
"thread_local",
"tracing-core",
"tracing-log",
"tracing-serde",
]
[[package]]
name = "try-lock"
version = "0.2.3"

View File

@ -52,8 +52,10 @@ reqwest = { version = "0.10.7", features = ["blocking", "json"] }
self_update = { version = "0.19.0", features = ["archive-zip"] }
serde = { version = "1.0", features = ["derive"] }
serde_json = { version = "1.0" }
toml = { version = "0.5" }
thiserror = { version = "1.0" }
toml = { version = "0.5" }
tracing = { version = "0.1" }
tracing-subscriber = { version = "0.2" }
zip = { version = "0.5" }
[dev-dependencies]

View File

@ -36,6 +36,9 @@ rand_xorshift = { version = "0.2", default-features = false }
serde = { version = "1.0" }
sha2 = { version = "0.9" }
thiserror = { version = "1.0" }
tracing = { version = "0.1" }
tracing-subscriber = { version = "0.2" }
[dev-dependencies]
num-bigint = { version = "0.3" }

View File

@ -24,9 +24,11 @@ static SOURCE_DIRECTORY_NAME: &str = "src/";
static IMPORTS_DIRECTORY_NAME: &str = "imports/";
impl ImportParser {
// bring one or more import symbols into scope for the current constrained program
// we will recursively traverse sub packages here until we find the desired symbol
pub fn parse_package_access(&mut self, entry: &DirEntry, access: &PackageAccess) -> Result<(), ImportError> {
// bring one or more import symbols into scope for the current constrained program
// we will recursively traverse sub packages here until we find the desired symbol
tracing::debug!("import {:?}", entry.path());
match access {
PackageAccess::Star(span) => self.parse_import_star(entry, span),
PackageAccess::Symbol(symbol) => self.parse_import_symbol(entry, symbol),

View File

@ -32,7 +32,7 @@ use snarkos_curves::{bls12_377::Bls12_377, edwards_bls12::Fq};
use snarkos_models::gadgets::r1cs::ConstraintSystem;
use clap::ArgMatches;
use std::{convert::TryFrom, env::current_dir};
use std::{convert::TryFrom, env::current_dir, time::Instant};
#[derive(Debug)]
pub struct BuildCommand;
@ -71,6 +71,13 @@ impl CLI for BuildCommand {
let mut output_directory = package_path.clone();
output_directory.push(OUTPUTS_DIRECTORY_NAME);
// Begin "Compiling" context for logging
let span = tracing::span!(tracing::Level::INFO, "Compiling");
let enter = span.enter();
// Start the timer
let start = Instant::now();
// Compile the package starting with the lib.leo file
if LibFile::exists_at(&package_path) {
// Construct the path to the library file in the source directory
@ -78,14 +85,15 @@ impl CLI for BuildCommand {
lib_file_path.push(SOURCE_DIRECTORY_NAME);
lib_file_path.push(LIB_FILE_NAME);
// Log compilation of library file to console
tracing::info!("library file {:?}", lib_file_path);
// Compile the library file but do not output
let _program = Compiler::<Fq, EdwardsGroupType>::parse_program_without_input(
package_name.clone(),
lib_file_path.clone(),
output_directory.clone(),
)?;
log::info!("Compiled library file {:?}", lib_file_path);
};
// Compile the main.leo file along with constraints
@ -104,6 +112,9 @@ impl CLI for BuildCommand {
// Load the state file at `package_name.in`
let state_string = StateFile::new(&package_name).read_from(&path)?;
// Log compilation of main file to console
tracing::info!("program file {:?}", main_file_path);
// Load the program at `main_file_path`
let program = Compiler::<Fq, EdwardsGroupType>::parse_program_with_input(
package_name.clone(),
@ -127,8 +138,9 @@ impl CLI for BuildCommand {
};
let temporary_program = program.clone();
let output = temporary_program.compile_constraints(&mut cs)?;
log::debug!("Compiled constraints - {:#?}", output);
log::debug!("Number of constraints - {:#?}", cs.num_constraints());
tracing::debug!("Compiled constraints - {:#?}", output);
tracing::debug!("Number of constraints - {:#?}", cs.num_constraints());
// Serialize the circuit
let circuit_object = SerializedCircuit::from(cs);
@ -163,14 +175,20 @@ impl CLI for BuildCommand {
// Write the new checksum to the output directory
checksum_file.write_to(&path, program_checksum)?;
log::debug!("Checksum saved ({:?})", path);
tracing::debug!("Checksum saved ({:?})", path);
}
log::info!("Compiled program file {:?}", main_file_path);
drop(enter);
tracing::span!(tracing::Level::INFO, " Finished").in_scope(|| {
tracing::info!("in {} milliseconds", start.elapsed().as_millis());
});
return Ok(Some((program, checksum_differs)));
}
drop(enter);
// Return None when compiling a package for publishing
// The published package does not need to have a main.leo
Ok(None)

View File

@ -116,7 +116,7 @@ impl From<ZipFileError> for CLIError {
impl From<BuildError> for CLIError {
fn from(error: BuildError) -> Self {
log::error!("{}\n", error);
tracing::error!("{}\n", error);
CLIError::BuildError(error)
}
}

View File

@ -16,6 +16,7 @@
use colored::Colorize;
use std::io::Write;
use tracing_subscriber::FmtSubscriber;
const LEVEL_NAME_LENGTH: usize = 10;
@ -32,6 +33,22 @@ fn colored_string(level: log::Level, message: &str) -> colored::ColoredString {
/// Initialize logger with custom format and verbosity.
pub fn init_logger(app_name: &'static str, verbosity: usize) {
let subscriber = FmtSubscriber::builder()
// all spans/events with a level higher than TRACE (e.g, debug, info, warn, etc.)
// will be written to stdout.
.with_max_level(match verbosity {
0 => tracing::Level::WARN,
1 => tracing::Level::INFO,
2 => tracing::Level::DEBUG,
_ => tracing::Level::TRACE
})
.without_time()
.with_target(false)
// completes the builder.
.finish();
tracing::subscriber::set_global_default(subscriber).expect("setting default subscriber failed");
env_logger::builder()
.filter_level(match verbosity {
0 => log::LevelFilter::Warn,