box: maven:3.3.9-jdk-8

build:
  steps:
  - script:
      name: setup mvn local repo
      code: |
        export MAVEN_OPTS="-Dmaven.repo.local=${WERCKER_CACHE_DIR}"
        mvn -version
        echo "------"
        du -hs ${WERCKER_CACHE_DIR}
        echo "------"
        du -hs ${WERCKER_CACHE_DIR}/* | sort -h

  - script:
      name: install groovy
      code: |
         if [ ! -d ${WERCKER_CACHE_DIR}/groovy ]; then
           wget -O ${WERCKER_CACHE_DIR}/groovy.zip https://dl.bintray.com/groovy/maven/apache-groovy-binary-2.4.7.zip;
           unzip ${WERCKER_CACHE_DIR}/groovy.zip -d ${WERCKER_CACHE_DIR};
           mv ${WERCKER_CACHE_DIR}/groovy-2.4.7 ${WERCKER_CACHE_DIR}/groovy
         fi
         export GROOVY_HOME=${WERCKER_CACHE_DIR}/groovy
         PATH=$GROOVY_HOME/bin:$PATH
         groovy -v

  - script:
      name: Build Checkstyle
      code: |
        SKIP_FILES="appveyor.yml|circle.yml|distelli-manifest.yml|.travis.yml|shippable.yml|fast-forward-merge.sh|LICENSE|LICENSE.apache20|README.md|release.sh|RIGHTS.antlr|intellij-idea-inspections.xml|org.eclipse.jdt.core.prefs"
        export 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
        if [[ $SKIP_CI == 'false' ]]; then
          mvn clean install -Pno-validations
        else
          echo "build is skipped ..."
        fi

  - script:
      name: NoErrorTest - Postgresql JDBC Driver
      code: |
        if [[ $SKIP_CI == 'false' ]]; then
          ./.ci/wercker.sh no-error-pgjdbc
        else
          echo "build is skipped ..."
        fi

  - script:
      name: NoErrorTest - Orekit
      code: |
        if [[ $SKIP_CI == 'false' ]]; then
          ./.ci/wercker.sh no-error-orekit
        else
          echo "build is skipped ..."
        fi

  - script:
      name: NoErrorTest - XWiki
      code: |
        if [[ $SKIP_CI == 'false' ]]; then
          ./.ci/wercker.sh no-error-xwiki
        else
          echo "build is skipped ..."
        fi

  - script:
      name: NoErrorTest - Apache Apex
      code: |
        if [[ $SKIP_CI == 'false' ]]; then
          ./.ci/wercker.sh no-error-apex-core
        else
          echo "build is skipped ..."
        fi

  - script:
      name: NoErrorTest - Hibernate Search
      code: |
        if [[ $SKIP_CI == 'false' ]]; then
          ./.ci/wercker.sh no-error-hibernate-search
        else
          echo "build is skipped ..."
        fi

  - script:
      name: NoErrorTest - HtmlUnit
      code: |
        if [[ $SKIP_CI == 'false' ]]; then
          ./.ci/wercker.sh no-error-htmlunit
        else
          echo "build is skipped ..."
        fi

  - script:
      name: NoErrorTest - checkstyle's sevntu
      code: |
        if [[ $SKIP_CI == 'false' ]]; then
          ./.ci/wercker.sh no-error-checkstyles-sevntu
        else
          echo "build is skipped ..."
        fi

#  - script:
#      name: NoErrorTest - sevntu-checks
#      code: |
#        if [[ $SKIP_CI == 'false' ]]; then
#          ./.ci/wercker.sh no-error-sevntu-checks
#        else
#          echo "build is skipped ..."
#        fi

  - script:
      name: NoExceptiontest - Apache Struts
      code: |
        if [[ $SKIP_CI == 'false' ]]; then
          ./.ci/wercker.sh no-exception-struts
        else
          echo "build is skipped ..."
        fi

  - script:
      name: NoExceptiontest - Checkstyle ,sevntu-checkstyle
      code: |
        if [[ $SKIP_CI == 'false' ]]; then
          ./.ci/wercker.sh no-exception-checkstyle-sevntu
        else
          echo "build is skipped ..."
        fi

  - script:
      name: NoExceptiontest - Guava
      code: |
        if [[ $SKIP_CI == 'false' ]]; then
          ./.ci/wercker.sh no-exception-guava
        else
          echo "build is skipped ..."
        fi

  - script:
      name: NoExceptiontest - Hibernate
      code: |
        if [[ $SKIP_CI == 'false' ]]; then
          ./.ci/wercker.sh no-exception-hibernate-orm
        else
          echo "build is skipped ..."
        fi


  - script:
      name: NoExceptiontest - findbugs
      code: |
        if [[ $SKIP_CI == 'false' ]]; then
          ./.ci/wercker.sh no-exception-findbugs
        else
          echo "build is skipped ..."
        fi

  - script:
      name: NoExceptiontest - spring-framework
      code: |
        if [[ $SKIP_CI == 'false' ]]; then
          ./.ci/wercker.sh no-exception-spring-framework
        else
          echo "build is skipped ..."
        fi

  - script:
      name: NoExceptiontest - Hbase
      code: |
        if [[ $SKIP_CI == 'false' ]]; then
          ./.ci/wercker.sh no-exception-hbase
        else
          echo "build is skipped ..."
        fi

  - script:
      name: NoExceptiontest - pmd elasticsearch lombok-ast
      code: |
        if [[ $SKIP_CI == 'false' ]]; then
          ./.ci/wercker.sh no-exception-Pmd-elasticsearch-lombok-ast
        else
          echo "build is skipped ..."
        fi

  - script:
      name: NoExceptiontest - RxJava java-design-patterns MaterialDesignLibrary apache-ant apache-jsecurity android-launcher
      code: |
        if [[ $SKIP_CI == 'false' ]]; then
          ./.ci/wercker.sh no-exception-alot-of-projects
        else
          echo "build is skipped ..."
        fi

  - script:
      name: Cleanup maven local repo
      code: |
        find ${WERCKER_CACHE_DIR} -type d -name "*SNAPSHOT" -ls -exec rm -rf {} +
        echo "------"
        du -hs ${WERCKER_CACHE_DIR}
        echo "------"
        du -hs ${WERCKER_CACHE_DIR}/* | sort -h
        echo "------"
        du -hs * | sort -h
