build:
  nodes:
    analysis:
      tests:
        override:
          - php-scrutinizer-run
    coverage:
      tests:
        override:
          # Install Proxy
          - command: npm i -g n@1.3.0 --force
          - command: sudo /home/scrutinizer/.nvm/versions/io.js/v1.3.0/bin/n 11.12.0
          - command: sudo ln -s /usr/local/n/versions/node/11.12.0/bin/node /usr/bin/node
          - command: sudo ln -s /usr/local/n/versions/node/11.12.0/bin/npm /usr/bin/npm
          - command: sudo npm install o_o -g
          # Start Proxy
          - command: sudo o_o &
          # Make test
          - command: composer test
            coverage:
              file: cache/coverage.clover
              format: clover

filter:
  excluded_paths:
    - tests/*

checks:
  php:
    code_rating: true
    remove_extra_empty_lines: true
    remove_php_closing_tag: true
    remove_trailing_whitespace: true
    fix_use_statements:
      remove_unused: true
      preserve_multiple: false
      preserve_blanklines: true
      order_alphabetically: true
    fix_php_opening_tag: true
    fix_linefeed: true
    fix_line_ending: true
    fix_identation_4spaces: true
    fix_doc_comments: true
tools:
  external_code_coverage: false
  php_code_coverage: true
  php_code_sniffer:
    config:
      standard: PSR2
    filter:
      paths: ['src']
  php_loc:
    enabled: true
    excluded_dirs: [vendor, tests]
  php_cpd:
    enabled: true
    excluded_dirs: [vendor, tests]
