language: java sudo: false cache: apt: true directories: - ~/.m2 addons: apt: packages: - xsltproc - xmlstarlet branches: only: - master install: - | if [ "${TRAVIS_OS_NAME}" == "osx" ]; then # https://github.com/travis-ci/travis-ci/issues/6307#issuecomment-233315824 rvm get head fi matrix: fast_finish: true include: # testing of PR format - env: - DESC="test Issue ref in PR description" - CMD="./.ci/travis/travis.sh pr-description" # unit tests (oraclejdk8) - jdk: oraclejdk8 env: - DESC="tests and deploy" - CMD="mvn clean integration-test failsafe:verify" - DEPLOY="true" # checkstyle (oraclejdk8) - jdk: oraclejdk8 env: - DESC="checkstyle and sevntu-checkstyle" - CMD="mvn clean verify -DskipTests -DskipITs -Dpmd.skip=true -Dfindbugs.skip=true -Dcobertura.skip=true" # cobertura and codecov (oraclejdk8) - jdk: oraclejdk8 env: - DESC="cobertura and codecov" - CMD="./.ci/travis/travis.sh cobertura-check" - CMD_AFTER_SUCCESS="bash <(curl -s https://codecov.io/bash)" # findbugs and pmd (oraclejdk8) - jdk: oraclejdk8 env: - DESC="findbugs and pmd" - CMD="mvn clean compile pmd:check findbugs:check" # Releasenotes generation - validaton - jdk: oraclejdk8 env: - DESC="Releasenotes generation" - CMD="./.ci/travis/travis.sh releasenotes-gen" # NonDex (oraclejdk8) - jdk: oraclejdk8 env: - DESC="NonDex" - CMD="./.ci/travis/travis.sh nondex" # site (oraclejdk8 as 'site' success is required to be sure that on release time all will be ok, admins will use oracle8 version) # moved to https://codeship.com/projects/124310/configure_tests #- jdk: oraclejdk8 # env: # - DESC="site" # - CMD1="mvn clean site -Dlinkcheck.skip=true -DskipTests -DskipITs " # - CMD2=" -Dpmd.skip=true -Dfindbugs.skip=true -Dcobertura.skip=true " # - CMD3=" -Dcheckstyle.ant.skip=true -Dcheckstyle.skip=true" # - CMD=$CMD1$CMD2$CMD3 # - COVERAGE_CMD="" # unit tests in German locale (oraclejdk8) - jdk: oraclejdk8 env: - DESC="tests de" - CMD="mvn clean integration-test failsafe:verify -DargLine='-Duser.language=de -Duser.country=DE'" # unit tests in Spanish locale (oraclejdk8) - jdk: oraclejdk8 env: - DESC="tests es" - CMD="mvn clean integration-test failsafe:verify -DargLine='-Duser.language=es -Duser.country=ES'" # unit tests in Finnish locale (oraclejdk8) - jdk: oraclejdk8 env: - DESC="tests fi" - CMD="mvn clean integration-test failsafe:verify -DargLine='-Duser.language=fi -Duser.country=FI'" # unit tests in French locale (oraclejdk8) - jdk: oraclejdk8 env: - DESC="tests fr" - CMD="mvn clean integration-test failsafe:verify -DargLine='-Duser.language=fr -Duser.country=FR'" # unit tests in Chinese locale (oraclejdk8) - jdk: oraclejdk8 env: - DESC="tests zh" - CMD="mvn clean integration-test failsafe:verify -DargLine='-Duser.language=zh -Duser.country=CN'" # unit tests in Japanese locale (oraclejdk8) - jdk: oraclejdk8 env: - DESC="tests ja" - CMD="mvn clean integration-test failsafe:verify -DargLine='-Duser.language=ja -Duser.country=JP'" # unit tests in Portuguese locale (oraclejdk8) - jdk: oraclejdk8 env: - DESC="tests pt" - CMD="mvn clean integration-test failsafe:verify -DargLine='-Duser.language=pt -Duser.country=PT'" # unit tests in Turkish locale (oraclejdk8) - jdk: oraclejdk8 env: - DESC="tests tr" - CMD="mvn clean integration-test failsafe:verify -DargLine='-Duser.language=tr -Duser.country=TR'" # assembly (oraclejdk8) - jdk: oraclejdk8 env: - DESC="assembly & run '-all' jar" - CMD="./.ci/travis/travis.sh assembly-run-all-jar" # NoExceptiontest - Guava with google_checks (oraclejdk8) - jdk: oraclejdk8 env: - DESC="NoExceptionTest - Guava with google_checks" - CMD="./.ci/travis/travis.sh no-exception-test-guava-with-google-checks" # release dry run (oraclejdk8) - jdk: oraclejdk8 env: - DESC="release dry run" - CMD="./.ci/travis/travis.sh release-dry-run" # Check the chmod on files. - env: - DESC="check permissions on all files" - CMD="./.ci/travis/travis.sh check-chmod" # Ensure that all Sevntu check are kused - jdk: oraclejdk8 env: - DESC="All sevntu checks should be used" - CMD="./.ci/travis/travis.sh all-sevntu-checks" # MacOS verify (till cache is not working, we can not do verify) - os: osx env: - DESC="MacOS verify, site, assembly" - CMD="export JAVA_HOME=$(/usr/libexec/java_home) && mvn package -Dlinkcheck.skip=true && mvn package -Passembly " # https://sonarqube.com (oraclejdk8) - jdk: oraclejdk8 env: - DESC="sonarqube.com" - CMD="./.ci/travis/travis.sh sonarqube" # No error testing - simple-binary-encoding - jdk: oraclejdk8 env: - DESC="no error test on simple-binary-encoding" - CMD="./.ci/travis/travis.sh no-error-test-sbe" script: - SKIP_FILES=".github|appveyor.yml|circle.yml|distelli-manifest.yml|fast-forward-merge.sh|LICENSE|LICENSE.apache20|README.md|release.sh|RIGHTS.antlr|shippable.yml|wercker.yml" - SKIP_CI=$(if [[ $(git diff --name-only HEAD HEAD~1 | grep -vE "$SKIP_FILES" | cat | wc -c | sed 's/^ *//' ) > 0 ]]; then echo false; else echo true; fi;) - echo "SKIP_CI="$SKIP_CI - | set -e if [[ $SKIP_CI == 'false' ]]; then eval $CMD; echo "eval of CMD is completed" fi after_success: - | set -e if [[ -n $CMD_AFTER_SUCCESS && $SKIP_CI == 'false' ]]; then eval $CMD_AFTER_SUCCESS; echo "CMD_AFTER_SUCCESS is finished"; fi - | set -e SKIP_DEPLOY=$(if [ $(git log -1 | grep -E "\[maven-release-plugin\] prepare release" | cat | wc -l) -lt 1 ]; then echo false; else echo true; fi;) if [[ $TRAVIS_REPO_SLUG == 'checkstyle/checkstyle' && $TRAVIS_BRANCH == 'master' && $TRAVIS_PULL_REQUEST == 'false' && $DEPLOY == 'true' && $SKIP_CI == 'false' && $SKIP_DEPLOY == 'false' ]]; then mvn -s config/deploy-settings.xml -Pno-validations deploy; echo "deploy to maven snapshot repository is finished"; fi