dist: bionic

notifications:
  email:
    recipients:
      - dev@rocketmq.apache.org
  on_success: change
  on_failure: always

language: java

matrix:
  include:
  # On OSX, run with default JDK only.
  # - os: osx
  # On Linux we install latest OpenJDK 1.8 from Ubuntu repositories
  - name: Linux x86_64
    arch: amd64
#  - name: Linux aarch64
#    arch: arm64

cache:
  directories:
    - $HOME/.m2/repository

before_install:
  - lscpu
  - echo 'MAVEN_OPTS="$MAVEN_OPTS -Xmx1024m -XX:MaxPermSize=512m -XX:+BytecodeVerificationLocal"' >> ~/.mavenrc
  - cat ~/.mavenrc
  - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export JAVA_HOME=$(/usr/libexec/java_home); fi

install: |
  if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
    sudo apt update
    sudo apt install -y openjdk-8-jdk maven
    export JAVA_HOME="/usr/lib/jvm/java-8-openjdk-${TRAVIS_CPU_ARCH}/"
    export PATH="$JAVA_HOME/bin:/usr/share/maven/bin:$PATH"
  fi

before_script:
  - java -version
  - mvn -version
  - ulimit -c unlimited

script:
  - travis_retry mvn -B clean apache-rat:check
  - travis_retry mvn -B package jacoco:report coveralls:report

after_success:
  - mvn clean install -Pit-test
  - mvn sonar:sonar -Psonar-apache
  - bash <(curl -s https://codecov.io/bash) || echo 'Codecov failed to upload'
