[package]
name = "rustdiff"
version = "0.1.3"
edition = "2024"
rust-version = "1.85"
authors = ["digitalgex <jpajaro@digitalgex.com>"]
description = "Semantic JSON & XML diff tool with a native GTK4 desktop UI"
license = "GPL-3.0-or-later"
readme = "README.md"
repository = "https://github.com/jereok91/rustdiff"
homepage = "https://github.com/jereok91/rustdiff"
keywords = ["json", "xml", "diff", "gtk4", "compare"]
categories = ["command-line-utilities", "development-tools", "gui"]
include = [
"src/**/*.rs",
"build.rs",
"Cargo.toml",
"Cargo.lock",
"LICENSE",
"README.md",
"data/com.digitalgex.RustDiff.desktop",
"data/com.digitalgex.RustDiff.metainfo.xml",
"data/icons/com.digitalgex.RustDiff.svg",
]
[[bin]]
name = "rustdiff"
path = "src/main.rs"
[build-dependencies]
pkg-config = "0.3"
[dependencies]
gtk4 = { version = "0.9", features = ["v4_12"] }
libadwaita = { version = "0.7", features = ["v1_5"] }
sourceview5 = "0.9"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
quick-xml = { version = "0.36", features = ["serialize", "async-tokio"] }
similar = { version = "2", features = ["text", "unicode"] }
rusqlite = { version = "0.31", features = ["bundled", "backup"] }
tokio = { version = "1", features = [
"rt",
"rt-multi-thread",
"fs",
"time",
"macros",
] }
dirs = "5"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
thiserror = "1"
anyhow = "1"
notify-rust = { version = "4", optional = true }
[dev-dependencies]
pretty_assertions = "1"
arbitrary = { version = "1", features = ["derive"] }
[features]
default = []
notifications = ["notify-rust"]
[profile.release]
opt-level = 3
lto = "thin"
codegen-units = 1
strip = "symbols"
panic = "abort"
[profile.dev]
opt-level = 1
debug = true
incremental = true
[package.metadata.deb]
maintainer = "jpajaro <jpajaro@digitalgex.com>"
copyright = "2026, digitalgex"
license-file = ["LICENSE", "4"]
extended-description = """
RustDiff es un comparador semantico de JSON y XML.
Muestra las diferencias entre dos documentos de forma visual,
resaltando anadidos, eliminados y modificados con colores.
"""
depends = "$auto, libgtk-4-1, libadwaita-1-0, libgtksourceview-5-0"
section = "utils"
priority = "optional"
assets = [
["target/release/rustdiff", "usr/bin/", "755"],
["data/com.digitalgex.RustDiff.desktop", "usr/share/applications/", "644"],
["data/com.digitalgex.RustDiff.metainfo.xml", "usr/share/metainfo/", "644"],
["data/icons/com.digitalgex.RustDiff.svg", "usr/share/icons/hicolor/scalable/apps/", "644"],
]