| language: java |
| sudo: false |
| |
| cache: |
| apt: true |
| directories: |
| - ~/.m2 |
| |
| addons: |
| apt: |
| packages: |
| - xsltproc |
| - xmlstarlet |
| - oracle-java8-installer |
| |
| 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 -DargLine='-Xms1024m -Xmx2048m'" |
| - DEPLOY="true" |
| |
| # checkstyle (oraclejdk8) |
| - jdk: oraclejdk8 |
| env: |
| - DESC="checkstyle and sevntu-checkstyle" |
| - CMD="export MAVEN_OPTS='-Xmx2000m' && 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, spotbugs and pmd (oraclejdk8) |
| - jdk: oraclejdk8 |
| env: |
| - DESC="findbugs,spotbugs,pmd" |
| - CMD="export MAVEN_OPTS='-Xmx2000m' && mvn clean compile pmd:check findbugs:check spotbugs:check" |
| |
| # eclipse static analysis |
| - jdk: oraclejdk8 |
| env: |
| - DESC="eclipse static analysis" |
| - CMD="mvn clean compile exec:exec -Peclipse-compiler" |
| |
| # 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 -Xms1024m -Xmx2048m'" |
| # 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 -Xms1024m -Xmx2048m'" |
| # 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 -Xms1024m -Xmx2048m'" |
| # 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 -Xms1024m -Xmx2048m'" |
| # 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 -Xms1024m -Xmx2048m'" |
| # 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 -Xms1024m -Xmx2048m'" |
| # 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 -Xms1024m -Xmx2048m'" |
| # 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 -Xms1024m -Xmx2048m'" |
| |
| # 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|intellij-idea-inspections.xml" |
| - 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 |