Skip to content

Build and Development

Marcelo Trindade edited this page Aug 29, 2026 · 1 revision

Build e ambiente

Requisitos

  • Rust estável;
  • Cargo;
  • dependências nativas exigidas pelo backend gráfico do Slint;
  • Git.

O SQLite é compilado com o recurso bundled do rusqlite.

Clonar

git clone https://github.com/marcelositr/DigitalHamRadioLogbook.git
cd DigitalHamRadioLogbook

Build

cargo build --locked

Executar

cargo run --locked

Gates locais

cargo fmt --check
cargo check --locked
cargo clippy --locked --all-targets --all-features -- -D warnings
cargo test --locked
cargo build --locked

CI

O workflow do GitHub executa:

  • quality/tests;
  • build;
  • migrations históricas;
  • smoke test do packaging Linux.

Migrations

O projeto mantém inputs de schemas históricos 0–7.

Não edite uma migration já publicada. Evolução de schema deve entrar como migration nova.

Testes pesados

Benchmarks/stress tests maiores são ignorados por padrão e executados conscientemente em release mode.

Fuzzing ADIF

Quando o parser ADIF é alterado, o projeto possui target cargo-fuzz.

O workflow detalhado vive na documentação técnica do repositório.

UI

O build fixa o style Fluent. A aparência Light/Dark é runtime e não deve ser tratada como quatro builds diferentes.

Veja também

Clone this wiki locally