jieba-rs 0.4.9

The Jieba Chinese Word Segmentation Implemented in Rust
Documentation
jobs:
- job: ${{ parameters.name }}
  pool:
    vmImage: ${{ parameters.vmImage }}
  strategy:
    matrix:
      stable:
        rust_version: stable
      beta:
        rust_version: beta
      nightly:
        rust_version: nightly
    maxParallel: 3
  steps:

  # Unix Rust installation
  - ${{ if ne(parameters.name, 'Windows') }}:
    - script: |
        curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain $(rust_version)
        echo "##vso[task.setvariable variable=PATH]$PATH:$HOME/.cargo/bin"
      displayName: 'Install Rust ($(rust_version))'

  # Windows Rust installation
  - ${{ if eq(parameters.name, 'Windows') }}:
    - script: |
        curl -sSf -o rustup-init.exe https://win.rustup.rs
        rustup-init.exe -y --default-toolchain $(rust_version)
        echo ##vso[task.setvariable variable=PATH]%PATH%;%USERPROFILE%\.cargo\bin
      displayName: 'Install Rust ($(rust_version))'

  # Sanity check version information.
  - bash: |
      rustup default $(rust_version)
      rustc -Vv && cargo -V
      rustup component add rustfmt
      if [[ "$rust_version" == "stable" ]]; then
        rustup component add clippy
      fi
    displayName: 'Rust/Cargo Version Information'

  # Check code style
  - script: |
      cargo fmt --all -- --check
    displayName: 'Check Code Style'

  # Run unit tests
  - bash: |
      cargo build --no-default-features
      cargo build
      cargo build --features tfidf
      cargo build --features textrank
      cargo build --all-features --all
      cargo test --all-features --all
      if [[ "$rust_version" == "stable" ]]; then
        cargo clippy --all-features
        cargo bench --all-features -- --test
      fi
    displayName: 'Unit Tests'

  # Report code coverage
  - ${{ if eq(parameters.name, 'Linux') }}:
    - script: |
        cargo install cargo-tarpaulin
        cargo tarpaulin --all-features --out Xml
        bash <(curl -s https://codecov.io/bash) -t 83e4b212-e560-4400-9160-fb91be0e4753
      displayName: 'Code Coverage'