box: maven:3.3.9-jdk-8

build:
  steps:
  - script:
      name: setup maven 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 -e 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 [[ 'true' == '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
