language: java


jdk:
  - oraclejdk8

env:
  matrix:
    - PROFILE="-Ppitest-checkstyle-xpath,no-validations"; POST_ACTION=check_survived_uncovered
    - PROFILE="-Ppitest-checkstyle-filters,no-validations"; POST_ACTION=check_survived_uncovered
    - PROFILE="-Ppitest-checks-javadoc,no-validations"
    - PROFILE="-Ppitest-checks-imports,no-validations"; POST_ACTION=check_survived_imports
    - PROFILE="-Ppitest-checks-metrics,no-validations"; POST_ACTION=check_survived_uncovered
    - PROFILE="-Ppitest-checks-regexp,no-validations"; POST_ACTION=check_survived_uncovered
    - PROFILE="-Ppitest-checks-sizes,no-validations"; POST_ACTION=check_survived_uncovered
    - PROFILE="-Ppitest-checks-whitespace,no-validations"; POST_ACTION=check_survived
    - PROFILE="-Ppitest-checks-misc,no-validations"; POST_ACTION=check_survived_misc
    - PROFILE="-Ppitest-checks-blocks,no-validations"; POST_ACTION=check_survived_blocks
    - PROFILE="-Ppitest-checks-coding,no-validations"; POST_ACTION=check_survived_coding
    - PROFILE="-Ppitest-checks-design,no-validations"; POST_ACTION=check_survived_uncovered
    - PROFILE="-Ppitest-checks-annotation,no-validations"; POST_ACTION=check_survived_uncovered
    - PROFILE="-Ppitest-checks-header,no-validations"; POST_ACTION=check_survived_uncovered
    - PROFILE="-Ppitest-checks-modifier,no-validations"; POST_ACTION=check_survived_uncovered
    - PROFILE="-Ppitest-checks-naming,no-validations"; POST_ACTION=check_survived_uncovered
    - PROFILE="-Ppitest-checks-indentation,no-validations"
    - PROFILE="-Ppitest-checkstyle-tree-walker,no-validations"; POST_ACTION=check_survived_uncovered
    - PROFILE="-Ppitest-checkstyle-common,no-validations"; POST_ACTION=check_survived
    - PROFILE="-Ppitest-checkstyle-main,no-validations"; POST_ACTION=check_survived_uncovered
    - PROFILE="-Ppitest-checkstyle-api,no-validations"; POST_ACTION=check_survived
    - PROFILE="-Ppitest-checkstyle-utils,no-validations"; POST_ACTION=check_survived
    - PROFILE="-Ppitest-checkstyle-gui,no-validations"

branches:
  only:
    - master

build:
  cache: true
  cache_dir_list:
    - /root/.m2

  ci:
    # we skip PRs and commits that are not for Issues, as pitest is too time consuming
    - |
      set -e
      SKIP_FILES="appveyor.yml|circle.yml|distelli-manifest.yml|.travis.yml|wercker.yml|fast-forward-merge.sh|LICENSE|LICENSE.apache20|README.md|release.sh|RIGHTS.antlr|intellij-idea-inspections.xml|org.eclipse.jdt.core.prefs"
      SKIP_CI=$(if [[ $(git diff --name-only HEAD HEAD~1 | grep -vE "$SKIP_FILES" | cat | wc -c) > 0 ]]; then echo false; else echo true; fi;)
      echo "SKIP_CI="$SKIP_CI
      echo "POST_ACTION="$POST_ACTION
      if [[ $SKIP_CI == 'false' ]];
      then
        mvn $PROFILE clean verify org.pitest:pitest-maven:mutationCoverage;

        if [[ $POST_ACTION == 'check_survived_uncovered' \
                && ( $(grep -RE "class='survived'" target/ | cat | wc -l) > 0 \
                    || $(grep -RE "class='uncovered'" target/ | cat | wc -l) > 0) ]]; then
           echo "Survived items:"$(grep -RE "class='survived'" target/ | cat)
           echo "Uncovered items:"$(grep -RE "class='uncovered'" target/ | cat)
           echo "Survived/Uncovered items found in reports, build will be failed"
           exit 1
        fi
        if [[ $POST_ACTION == 'check_survived' && $(grep -RE "class='survived'" target/ | cat | wc -l) > 0 ]]; then
           echo "Survived items:"$(grep -RE "class='survived'" target/ | cat)
           echo "Survived items found in reports, build will be failed"
           exit 1
        fi
        if [[ $POST_ACTION == 'check_survived_imports' && $(grep -RE "class='survived'" --exclude="CustomImportOrderCheck.*" target/ | cat | wc -l) > 0 ]]; then
           echo "Survived items:"$(grep -RE "class='survived'" --exclude="CustomImportOrderCheck.*" target/ | cat)
           echo "Survived items found in reports, build will be failed"
           exit 1
        fi
        if [[ $POST_ACTION == 'check_survived_misc' && $(grep -RE "class='survived'" --exclude="TranslationCheck.*" target/ | cat | wc -l) > 0 ]]; then
           echo "Survived items:"$(grep -RE "class='survived'" --exclude="TranslationCheck.*" target/ | cat)
           echo "Survived items found in reports, build will be failed"
           exit 1
        fi
        if [[ $POST_ACTION == 'check_survived_blocks' && $(grep -RE "class='survived'" --exclude="LeftCurlyCheck.*" target/ | cat | wc -l) > 0 ]]; then
           echo "Survived items:"$(grep -RE "class='survived'" --exclude="LeftCurlyCheck.*" target/ | cat)
           echo "Survived items found in reports, build will be failed"
           exit 1
        fi
        if [[ $POST_ACTION == 'check_survived_coding'
              && $(grep -RE "class='survived'"  --exclude="EqualsAvoidNullCheck.*" \
              --exclude="FallThroughCheck.*" --exclude="HiddenFieldCheck.*" --exclude="IllegalInstantiationCheck.*" \
              --exclude="IllegalTypeCheck.*" \
              --exclude="MultipleVariableDeclarationsCheck.*" \
              --exclude="RequireThisCheck.*" \
              --exclude="UnnecessaryParenthesesCheck.*" --exclude="VariableDeclarationUsageDistanceCheck.*"   target/ | cat | wc -l) > 0 ]]; then
           echo "Survived items:"$(grep -RE "class='survived'"  --exclude="EqualsAvoidNullCheck.*" \
              --exclude="FallThroughCheck.*" --exclude="HiddenFieldCheck.*" --exclude="IllegalInstantiationCheck.*" \
              --exclude="IllegalTypeCheck.*" \
              --exclude="MultipleVariableDeclarationsCheck.*" \
              --exclude="RequireThisCheck.*" \
              --exclude="UnnecessaryParenthesesCheck.*" --exclude="VariableDeclarationUsageDistanceCheck.*"  target/ | cat)
           echo "Survived items found in reports, build will be failed"
           exit 1
        fi
      else
        echo "Build is skipped, changed files:"
        git diff --name-only HEAD HEAD~1
      fi
