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_whitespace
    - 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_whitespace' && $(grep -RE "class='survived'" --exclude="NoWhitespaceAfterCheck.*" --exclude="ParenPadCheck.*" --exclude="SingleSpaceSeparatorCheck.*" target/ | cat | wc -l) > 0 ]]; then
           echo "Survived items:"$(grep -RE "class='survived'" --exclude="NoWhitespaceAfterCheck.*" --exclude="ParenPadCheck.*" --exclude="SingleSpaceSeparatorCheck.*" 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
