$schema: ../.moon/cache/schemas/project.json
type: library
language: rust
platform: rust
project:
name: Things3 Core
description: Core library providing Things 3 database access and data models
owner: things3-core-team
maintainers:
- garthdb
owners:
defaultOwner: things3-core-team
requiredApprovals: 1
paths:
- src/**/*.rs
- tests/**/*.rs
tasks:
format:
command: cargo fmt
inputs:
- src/**/*.rs
- src/**/*.md
- benches/**/*.rs
- tests/**/*.rs
- Cargo.toml
outputs:
- "**/*.rs"
lint:
command: cargo clippy --all-targets --no-default-features -- -D warnings -D clippy::pedantic -A clippy::missing_docs_in_private_items -A clippy::module_name_repetitions
inputs:
- src/**/*.rs
- src/**/*.md
- benches/**/*.rs
- tests/**/*.rs
- Cargo.toml
outputs: []
test:
command: cargo test --all-features
inputs:
- src/**/*.rs
- src/**/*.md
- benches/**/*.rs
- tests/**/*.rs
- Cargo.toml
deps:
- lint
build:
command: cargo build --lib
inputs:
- src/**/*.rs
- src/**/*.md
- benches/**/*.rs
- tests/**/*.rs
- Cargo.toml
deps:
- test
outputs: []
options:
cache: true
runDepsInParallel: true
doc:
command: cargo doc --no-deps
inputs:
- src/**/*.rs
- src/**/*.md
- Cargo.toml
bench:
command: cargo bench
inputs:
- src/**/*.rs
- src/**/*.md
- benches/**/*.rs
- tests/**/*.rs
- Cargo.toml
deps:
- build
coverage:
command: bash
args: ['-c', 'cargo llvm-cov --lcov --output-path lcov.info && cargo llvm-cov --html --output-dir target/llvm-cov/html && cargo llvm-cov --json --output-path coverage.json && cargo llvm-cov --cobertura --output-path cobertura.xml && cargo llvm-cov --text --output-path coverage.txt']
inputs:
- src/**/*.rs
- src/**/*.md
- benches/**/*.rs
- tests/**/*.rs
- Cargo.toml
outputs:
- lcov.info
- coverage.json
- cobertura.xml
- coverage.txt
- target/llvm-cov/html/**/*
options:
cache: true
outputStyle: stream
deps: []
tags:
- core
- library
- things3
- database