[package]
name = "dsc-rs"
version = "0.10.25"
edition = "2024"
authors = ["Marcus Baw <marcus@bawmedical.co.uk>"]
description = "Discourse CLI tool for managing multiple Discourse forums: track installs, run upgrades over SSH, manage emojis, sync topics and categories as Markdown, and more."
license = "MIT"
repository = "https://github.com/pacharanero/dsc"
homepage = "https://github.com/pacharanero/dsc"
readme = "README.md"
keywords = ["discourse", "cli", "forum", "sysadmin", "ssh"]
categories = ["command-line-utilities"]

[package.metadata.wix]
upgrade-guid = "1E1DDAAC-E772-481A-9806-30A5B3564BA2"
path-guid = "47EBE96D-DB77-42D0-B8FC-3442D69B8947"
license = false
eula = false

[lib]
name = "dsc"
path = "src/lib.rs"

[[bin]]
name = "dsc"
path = "src/main.rs"

[workspace]
members = ["."]

# Config for 'dist'
[workspace.metadata.dist]
# The preferred dist version to use in CI (Cargo.toml SemVer syntax)
cargo-dist-version = "0.31.0"
# CI backends to support
ci = "github"
# The installers to generate for each app
installers = ["shell", "powershell", "homebrew", "msi"]
# Target platforms to build apps for (Rust target-triple syntax)
targets = ["aarch64-apple-darwin", "aarch64-unknown-linux-gnu", "x86_64-apple-darwin", "x86_64-unknown-linux-gnu", "x86_64-pc-windows-msvc"]
# Path that installers should place binaries in
install-path = "CARGO_HOME"
# Whether to install an updater program
install-updater = false
# Homebrew tap to publish formulas to. A HOMEBREW_TAP_TOKEN secret (a PAT
# with write access to the tap repo) must be set on this repo for the
# release workflow to push formulas there.
tap = "pacharanero/homebrew-tap"
publish-jobs = ["homebrew"]
publish-prereleases = false
# We hand-edit .github/workflows/release.yml to pin actions to commit SHAs
# (supply-chain hardening); tell dist not to error on the resulting drift.
allow-dirty = ["ci"]

[dependencies]
anyhow = "1.0"
base64 = "0.22"
chrono = { version = "0.4", features = ["serde"] }
clap = { version = "4.5", features = ["derive"] }
clap_complete = "4.5"
clap_mangen = "0.3"
csv = "1.4"
reqwest = { version = "0.13", features = ["blocking", "json", "multipart", "form"] }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
serde_yaml = "0.9"
slug = "0.1"
toml = "1.0"
indicatif = "0.18"

[dev-dependencies]
tempfile = "3.26"
uuid = { version = "1.21", features = ["v4"] }

# The profile that 'dist' will build with
[profile.dist]
inherits = "release"
lto = "thin"
