Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 34 additions & 5 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

56 changes: 45 additions & 11 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,10 +1,47 @@
[package]
name = "diffutils"
version = "0.5.0"
edition = "2021"
description = "A CLI app for generating diff files"
license = "MIT OR Apache-2.0"
repository.workspace = true
edition.workspace = true
rust-version.workspace = true
version.workspace = true
license.workspace = true
homepage.workspace = true
keywords.workspace = true
categories.workspace = true

[workspace]
members = [
"src/uu/*",
"src/diffutils_core/",
]

default-members = [
".",
"src/uu/*",
"src/diffutils_core/",
]

[workspace.dependencies]
diffutils_core = { path = "src/diffutils_core" }
chrono = "0.4.38"
diff = "0.1.13"
itoa = "1.0.11"
regex = "1.10.4"
same-file = "1.0.6"
unicode-width = "0.2.0"
pretty_assertions = "1.4.0"
tempfile = "3.26.0"

[workspace.package]
categories = ["command-line-utilities"]
edition = "2021"
rust-version = "1.87.0"
homepage = "https://github.com/uutils/diffutils"
repository = "https://github.com/uutils/diffutils"
keywords = ["diffutils", "uutils", "cross-platform", "cli", "utility"]
license = "MIT OR Apache-2.0"
version = "0.5.0"

[lib]
name = "diffutilslib"
Expand All @@ -15,20 +52,17 @@ name = "diffutils"
path = "src/main.rs"

[dependencies]
chrono = "0.4.38"
diff = "0.1.13"
itoa = "1.0.11"
regex = "1.10.4"
same-file = "1.0.6"
unicode-width = "0.2.0"
uu_cmp = { path = "src/uu/cmp" }
uu_diff = { path = "src/uu/diff" }
diffutils_core = { workspace = true }

[dev-dependencies]
assert_cmd = "2.0.14"
divan = { version = "5.0.0", package = "codspeed-divan-compat" }
pretty_assertions = "1.4.0"
predicates = "3.1.0"
rand = "0.10.0"
tempfile = "3.26.0"
regex = { workspace = true }
tempfile = { workspace = true }

[profile.release]
lto = "thin"
Expand Down
88 changes: 86 additions & 2 deletions fuzz/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

23 changes: 23 additions & 0 deletions src/diffutils_core/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
[package]
name = "diffutils_core"
description = "diffutils ~ code shared by the diffutils utilities"
categories.workspace = true
edition.workspace = true
rust-version.workspace = true
homepage.workspace = true
repository.workspace = true
keywords.workspace = true
license.workspace = true
version.workspace = true

[dependencies]
chrono = { workspace = true }
regex = { workspace = true }
unicode-width = { workspace = true }

[dev-dependencies]
pretty_assertions = { workspace = true }
tempfile = { workspace = true }

[features]
test-utils = []
1 change: 1 addition & 0 deletions src/diffutils_core/LICENSE-APACHE
1 change: 1 addition & 0 deletions src/diffutils_core/LICENSE-MIT
6 changes: 6 additions & 0 deletions src/diffutils_core/src/lib.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
pub mod macros;
pub mod params;
pub mod utils;

pub use params::*;
pub use utils::*;
File renamed without changes.
File renamed without changes.
2 changes: 1 addition & 1 deletion src/utils.rs → src/diffutils_core/src/utils.rs
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ pub fn report_failure_to_read_input_file(
);
}

#[cfg(test)]
#[cfg(feature = "test-utils")]
pub mod testcmds {
// Command construction wrapper that provides some validation and non-obscure, "fail fast"
// feedback and error messages.
Expand Down
21 changes: 6 additions & 15 deletions src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,16 +1,7 @@
pub mod cmp;
pub mod context_diff;
pub mod ed_diff;
pub mod macros;
pub mod normal_diff;
pub mod params;
pub mod side_diff;
pub mod unified_diff;
pub mod utils;

// Re-export the public functions/types you need
pub use context_diff::diff as context_diff;
pub use ed_diff::diff as ed_diff;
pub use normal_diff::diff as normal_diff;
pub use side_diff::diff as side_by_side_diff;
pub use unified_diff::diff as unified_diff;
pub use diffutils_core::*;
pub use uu_cmp as cmp;
pub use uu_diff::ed_diff;
pub use uu_diff::normal_diff;
pub use uu_diff::side_diff;
pub use uu_diff::unified_diff;
15 changes: 2 additions & 13 deletions src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -11,17 +11,6 @@ use std::{
process::ExitCode,
};

mod cmp;
mod context_diff;
mod diff;
mod ed_diff;
mod macros;
mod normal_diff;
mod params;
mod side_diff;
mod unified_diff;
mod utils;

/// # Panics
/// Panics if the binary path cannot be determined
fn binary_path(args: &mut Peekable<ArgsOs>) -> PathBuf {
Expand Down Expand Up @@ -70,8 +59,8 @@ fn main() -> ExitCode {
};

match util_name.as_encoded_bytes() {
name if name.ends_with(b"diff") => diff::main(args),
name if name.ends_with(b"cmp") => cmp::main(args),
name if name.ends_with(b"diff") => uu_diff::main(args),
name if name.ends_with(b"cmp") => uu_cmp::main(args),
name => {
use std::io::{stderr, Write as _};
let _ = writeln!(
Expand Down
19 changes: 19 additions & 0 deletions src/uu/cmp/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
[package]
name = "uu_cmp"
description = "diffutils ~ implementation of the cmp utility"
categories.workspace = true
edition.workspace = true
rust-version.workspace = true
homepage.workspace = true
repository.workspace = true
keywords.workspace = true
license.workspace = true
version.workspace = true

[dependencies]
diffutils_core = { workspace = true }
itoa = { workspace = true }
same-file = { workspace = true }

[lib]
path = "./src/cmp.rs"
1 change: 1 addition & 0 deletions src/uu/cmp/LICENSE-APACHE
1 change: 1 addition & 0 deletions src/uu/cmp/LICENSE-MIT
Loading
Loading