From ab3bd9d6d589cb23048603528913b375acfa8dd9 Mon Sep 17 00:00:00 2001
From: Ian Jackson <ijackson@chiark.greenend.org.uk>
Date: Wed, 11 May 2022 11:22:22 +0100
Subject: [PATCH] arti-config: Move cmdline to tor-config

This does not know anything about arti, only about TOML and Config.

Code motion, plus necessary import adjustments.
---
 Cargo.lock                                        | 1 +
 crates/arti-config/src/lib.rs                     | 3 +--
 crates/tor-config/Cargo.toml                      | 3 +++
 crates/{arti-config => tor-config}/src/cmdline.rs | 0
 crates/tor-config/src/lib.rs                      | 2 ++
 5 files changed, 7 insertions(+), 2 deletions(-)
 rename crates/{arti-config => tor-config}/src/cmdline.rs (100%)

diff --git a/Cargo.lock b/Cargo.lock
index f1c2862f9c..7be85d7766 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -3428,6 +3428,7 @@ dependencies = [
  "educe",
  "once_cell",
  "paste",
+ "regex",
  "rmp-serde",
  "serde",
  "serde_json",
diff --git a/crates/arti-config/src/lib.rs b/crates/arti-config/src/lib.rs
index e555d22549..0b06f84669 100644
--- a/crates/arti-config/src/lib.rs
+++ b/crates/arti-config/src/lib.rs
@@ -47,11 +47,10 @@
 #![warn(clippy::unseparated_literal_suffix)]
 #![deny(clippy::unwrap_used)]
 
-mod cmdline;
 mod options;
 
-pub use cmdline::CmdLine;
 pub use options::ARTI_DEFAULTS;
+use tor_config::CmdLine;
 
 /// The synchronous configuration builder type we use.
 ///
diff --git a/crates/tor-config/Cargo.toml b/crates/tor-config/Cargo.toml
index e2593a69e8..e9a9619e2b 100644
--- a/crates/tor-config/Cargo.toml
+++ b/crates/tor-config/Cargo.toml
@@ -20,12 +20,15 @@ tor-error = { path = "../tor-error", version = "0.3.0"}
 tor-basic-utils = { path="../tor-basic-utils", version = "0.3.0"}
 
 thiserror = "1"
+config = { version = "0.13", default-features = false, features = ["toml"] }
 derive_builder = { version = "0.11.2", package = "derive_builder_fork_arti" }
 educe = "0.4.6"
 once_cell = "1"
 paste = "1"
+regex = { version = "1", default-features = false, features = ["std"] }
 serde = { version = "1.0.103", features = ["derive"] }
 shellexpand = { version = "2.1", package = "shellexpand-fork", optional = true }
+toml = "0.5"
 tracing = "0.1.18"
 directories = { version = "4", optional = true }
 
diff --git a/crates/arti-config/src/cmdline.rs b/crates/tor-config/src/cmdline.rs
similarity index 100%
rename from crates/arti-config/src/cmdline.rs
rename to crates/tor-config/src/cmdline.rs
diff --git a/crates/tor-config/src/lib.rs b/crates/tor-config/src/lib.rs
index 2450bcc3a7..af5a2ad5fa 100644
--- a/crates/tor-config/src/lib.rs
+++ b/crates/tor-config/src/lib.rs
@@ -46,11 +46,13 @@
 #![warn(clippy::unseparated_literal_suffix)]
 #![deny(clippy::unwrap_used)]
 
+pub mod cmdline;
 mod err;
 pub mod list_builder;
 mod mut_cfg;
 mod path;
 
+pub use cmdline::CmdLine;
 pub use educe;
 pub use err::{ConfigBuildError, ReconfigureError};
 pub use mut_cfg::MutCfg;
-- 
GitLab