nvm-rust 0.4.3

A node version manager that doesn't suck
version: 3

tasks:
  lint:
    desc: Lint code
    cmds:
      - cargo clippy {{.CLI_ARGS}}
      - cargo fmt --check --all
  lint:fix:
    desc: Lint code and fix problems with autofixes
    cmds:
      - cargo clippy --fix --allow-staged --allow-dirty
      - task: format

  format:
    desc: Format code
    cmds:
      - cargo fmt --all {{.CLI_ARGS}}

  test:
    desc: Run tests
    sources:
      - Cargo.*
      - src/**
      - test-data/**
      - tests/**
    cmds:
      - cargo test {{.CLI_ARGS}}

  run:
    desc: "Run the CLI with a debug build: task run -- <...args>"
    cmds:
      - cargo run {{.CLI_ARGS}}

  build:
    desc: Build debug artifacts
    sources:
      - Cargo.*
      - src/**
    generates:
      - target/debug/**
    cmds:
      - cargo build {{.CLI_ARGS}}

  build:release:
    desc: Build release artifacts
    sources:
      - Cargo.*
      - src/**
    generates:
      - target/release/**
    cmds:
      - cargo build --release --locked {{.CLI_ARGS}}