language: rust
rust: nightly
sudo: false

before_script:
  - rustup component add clippy-preview --toolchain=nightly

script:
  - (cd maud && cargo build) 
  - (cd maud_macros && cargo test)
  - (cd maud && cargo build --features="iron")
  - (cd maud && cargo build --features="rocket")
  - (cd maud && cargo build --features="actix-web")
  - cargo test --all --exclude maud_macros
  - (cd benchmarks && cargo bench --no-run)
  - |
    CLIPPY_STATUS=0
    for package in maud_htmlescape maud_macros maud maud_extras; do
      (cd $package && cargo clippy -- -D warnings) || CLIPPY_STATUS=$?
    done
    (exit $CLIPPY_STATUS)