$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
