diff --git a/Cargo.lock b/Cargo.lock index adfa259..423ff3a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -105,6 +105,15 @@ dependencies = [ [[package]] name = "bargo" version = "0.1.0" +dependencies = [ + "bargo-core", + "color-eyre", + "tempfile", +] + +[[package]] +name = "bargo-core" +version = "0.1.0" dependencies = [ "atty", "clap", diff --git a/Cargo.toml b/Cargo.toml index 3e7bb8c..0fe2f09 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,20 +1,14 @@ +[workspace] +members = [".", "crates/bargo-core"] + [package] name = "bargo" version = "0.1.0" edition = "2024" [dependencies] -clap = { version = "4.5.40", features = ["derive"] } +bargo-core = { path = "crates/bargo-core" } color-eyre = "0.6.5" -dotenv = "0.15" -hex = "0.4" -serde = { version = "1.0.219", features = ["derive"] } -serde_json = "1.0" -toml = "0.8.23" -tracing = "0.1.41" -tracing-subscriber = { version = "0.3.19", features = ["env-filter"] } -atty = "0.2.14" -which = "4.4" [dev-dependencies] tempfile = "3.8" diff --git a/crates/bargo-core/Cargo.toml b/crates/bargo-core/Cargo.toml new file mode 100644 index 0000000..224e5a7 --- /dev/null +++ b/crates/bargo-core/Cargo.toml @@ -0,0 +1,20 @@ +[package] +name = "bargo-core" +version = "0.1.0" +edition = "2024" + +[dependencies] +clap = { version = "4.5.40", features = ["derive"] } +color-eyre = "0.6.5" +dotenv = "0.15" +hex = "0.4" +serde = { version = "1.0.219", features = ["derive"] } +serde_json = "1.0" +toml = "0.8.23" +tracing = "0.1.41" +tracing-subscriber = { version = "0.3.19", features = ["env-filter"] } +atty = "0.2.14" +which = "4.4" + +[dev-dependencies] +tempfile = "3.8" diff --git a/src/backends/bb.rs b/crates/bargo-core/src/backends/bb.rs similarity index 100% rename from src/backends/bb.rs rename to crates/bargo-core/src/backends/bb.rs diff --git a/src/backends/foundry.rs b/crates/bargo-core/src/backends/foundry.rs similarity index 100% rename from src/backends/foundry.rs rename to crates/bargo-core/src/backends/foundry.rs diff --git a/src/backends/garaga.rs b/crates/bargo-core/src/backends/garaga.rs similarity index 100% rename from src/backends/garaga.rs rename to crates/bargo-core/src/backends/garaga.rs diff --git a/src/backends/mod.rs b/crates/bargo-core/src/backends/mod.rs similarity index 100% rename from src/backends/mod.rs rename to crates/bargo-core/src/backends/mod.rs diff --git a/src/backends/nargo.rs b/crates/bargo-core/src/backends/nargo.rs similarity index 100% rename from src/backends/nargo.rs rename to crates/bargo-core/src/backends/nargo.rs diff --git a/src/commands/build.rs b/crates/bargo-core/src/commands/build.rs similarity index 100% rename from src/commands/build.rs rename to crates/bargo-core/src/commands/build.rs diff --git a/src/commands/cairo/bb_operations.rs b/crates/bargo-core/src/commands/cairo/bb_operations.rs similarity index 100% rename from src/commands/cairo/bb_operations.rs rename to crates/bargo-core/src/commands/cairo/bb_operations.rs diff --git a/src/commands/cairo/directories.rs b/crates/bargo-core/src/commands/cairo/directories.rs similarity index 100% rename from src/commands/cairo/directories.rs rename to crates/bargo-core/src/commands/cairo/directories.rs diff --git a/src/commands/cairo/garaga.rs b/crates/bargo-core/src/commands/cairo/garaga.rs similarity index 100% rename from src/commands/cairo/garaga.rs rename to crates/bargo-core/src/commands/cairo/garaga.rs diff --git a/src/commands/cairo/mod.rs b/crates/bargo-core/src/commands/cairo/mod.rs similarity index 100% rename from src/commands/cairo/mod.rs rename to crates/bargo-core/src/commands/cairo/mod.rs diff --git a/src/commands/cairo/scarb.rs b/crates/bargo-core/src/commands/cairo/scarb.rs similarity index 100% rename from src/commands/cairo/scarb.rs rename to crates/bargo-core/src/commands/cairo/scarb.rs diff --git a/src/commands/cairo/workflow.rs b/crates/bargo-core/src/commands/cairo/workflow.rs similarity index 100% rename from src/commands/cairo/workflow.rs rename to crates/bargo-core/src/commands/cairo/workflow.rs diff --git a/src/commands/evm/bb_operations.rs b/crates/bargo-core/src/commands/evm/bb_operations.rs similarity index 100% rename from src/commands/evm/bb_operations.rs rename to crates/bargo-core/src/commands/evm/bb_operations.rs diff --git a/src/commands/evm/directories.rs b/crates/bargo-core/src/commands/evm/directories.rs similarity index 100% rename from src/commands/evm/directories.rs rename to crates/bargo-core/src/commands/evm/directories.rs diff --git a/src/commands/evm/foundry.rs b/crates/bargo-core/src/commands/evm/foundry.rs similarity index 100% rename from src/commands/evm/foundry.rs rename to crates/bargo-core/src/commands/evm/foundry.rs diff --git a/src/commands/evm/mod.rs b/crates/bargo-core/src/commands/evm/mod.rs similarity index 100% rename from src/commands/evm/mod.rs rename to crates/bargo-core/src/commands/evm/mod.rs diff --git a/src/commands/evm/workflow.rs b/crates/bargo-core/src/commands/evm/workflow.rs similarity index 100% rename from src/commands/evm/workflow.rs rename to crates/bargo-core/src/commands/evm/workflow.rs diff --git a/src/commands/mod.rs b/crates/bargo-core/src/commands/mod.rs similarity index 100% rename from src/commands/mod.rs rename to crates/bargo-core/src/commands/mod.rs diff --git a/src/main.rs b/crates/bargo-core/src/lib.rs similarity index 99% rename from src/main.rs rename to crates/bargo-core/src/lib.rs index ef6ed21..7f2e61e 100644 --- a/src/main.rs +++ b/crates/bargo-core/src/lib.rs @@ -169,7 +169,7 @@ enum Backend { All, } -fn main() -> Result<()> { +pub fn run() -> Result<()> { // Install color-eyre for pretty error reporting color_eyre::install()?; diff --git a/src/util/directories.rs b/crates/bargo-core/src/util/directories.rs similarity index 100% rename from src/util/directories.rs rename to crates/bargo-core/src/util/directories.rs diff --git a/src/util/error.rs b/crates/bargo-core/src/util/error.rs similarity index 100% rename from src/util/error.rs rename to crates/bargo-core/src/util/error.rs diff --git a/src/util/mod.rs b/crates/bargo-core/src/util/mod.rs similarity index 100% rename from src/util/mod.rs rename to crates/bargo-core/src/util/mod.rs diff --git a/src/util/output.rs b/crates/bargo-core/src/util/output.rs similarity index 100% rename from src/util/output.rs rename to crates/bargo-core/src/util/output.rs diff --git a/src/util/paths.rs b/crates/bargo-core/src/util/paths.rs similarity index 100% rename from src/util/paths.rs rename to crates/bargo-core/src/util/paths.rs diff --git a/src/util/rebuild.rs b/crates/bargo-core/src/util/rebuild.rs similarity index 100% rename from src/util/rebuild.rs rename to crates/bargo-core/src/util/rebuild.rs diff --git a/src/util/summary.rs b/crates/bargo-core/src/util/summary.rs similarity index 100% rename from src/util/summary.rs rename to crates/bargo-core/src/util/summary.rs diff --git a/src/util/tests.rs b/crates/bargo-core/src/util/tests.rs similarity index 100% rename from src/util/tests.rs rename to crates/bargo-core/src/util/tests.rs diff --git a/src/util/timer.rs b/crates/bargo-core/src/util/timer.rs similarity index 100% rename from src/util/timer.rs rename to crates/bargo-core/src/util/timer.rs diff --git a/src/bin/bargo.rs b/src/bin/bargo.rs new file mode 100644 index 0000000..6e9afb2 --- /dev/null +++ b/src/bin/bargo.rs @@ -0,0 +1,5 @@ +use color_eyre::Result; + +fn main() -> Result<()> { + bargo_core::run() +}