# s3 deployment based on http://about.travis-ci.org/blog/2012-12-18-travis-artifacts/

# send to container based infrastructure: http://docs.travis-ci.com/user/workers/container-based-infrastructure/
sudo: false

cache:
  directories:
  - $HOME/.m2

install: true

language: java

#See https://issues.apache.org/jira/browse/FLINK-1072
matrix:
  include:
    - jdk: "oraclejdk7"
      env: PROFILE="-Dhadoop.profile=1 -Dscala-2.11"
    - jdk: "openjdk6" # this will also deploy a uberjar to s3 at some point
      env: PROFILE="-Dhadoop.profile=1"
    - jdk: "openjdk7"
      env: PROFILE="-P!include-yarn -Dhadoop.version=2.0.0-alpha"
    - jdk: "openjdk6" # we must use openjdk6 here to deploy a java6 compatible uber-jar for YARN
      env: PROFILE="-Dhadoop.version=2.2.0"
    - jdk: "oraclejdk8"
      env: PROFILE="-Dhadoop.version=2.6.0 -Dscala-2.11 -Pinclude-tez -Dmaven.javadoc.skip=true"


git:
  depth: 100

notifications:
  webhooks:
    urls:
      - https://webhooks.gitter.im/e/d70a7e674cb9354c77b2
    on_success: always  # options: [always|never|change] default: always
    on_failure: always  # options: [always|never|change] default: always

env:
    global: 
        # Global variable to avoid hanging travis builds when downloading cache archives.
        - MALLOC_ARENA_MAX=2
        # username and password for Apache Nexus (maven deploy)
        - secure: "Nu2oNTrIAmxIkNEZzALw+GT2QBogEh/mqecSqoKDCk0oFjUZhrnrsIZYD/8zTG9fAVa5Gx4uWH4W824Va5RlBZvCs9UTh5TF25K2ORR9dB9FiXZ+Vjjig78sKJF7N73WVIOsHCSKpoBKnVkvNwxuAkPTMYjn3sswRh1pMu2VQ90="
        - secure: "jMllQXAHpE+ijYXjvQvh0xml6DCL5pmESuWRtd0Wi4v56HHxKHc/Tty/CJvX8whVDLaHNFtwlbaIN9asSyAu1OyGhpWCqsmsxWF4atvKFua1oX45XMB26Ymf7Yr7aq7lcx66j0cYpfBXY4tFTFPiT05QnZ8XsHzEnv4Tpgif2dg="
        # New s3 deployment
        - ARTIFACTS_S3_BUCKET="stratosphere-bin"
        - secure: "AECzVxihEhYfnNcrY/wLirTkKkmSATycvTfKsBmxD07bg6BmaVgsOl4degUu4YL50e6agpoWul6irGxTg0bjLMAwg1ZGyRx57NFvNQ7JYDHK6EWmJ7BsK2WO7HiYzfau+ZAaL36WpOMi0UUPpuNXMvULqaE9b4jZqo1Wo/WDcyU="
        - secure: "SNZkMm++fvPbjdreibc4j/XTKy7rOvGvjbvJJLQ01fVDR8ur1FGB5L/CE9tm2Aye75G8br+tJ+gf5cMX8CHL+0VrvuTk5U6flbuM08Pd0pmP64ZncmGfRFKC5qTvt24YR0u3cqxWze8RTkdduz0t8xrEdyCtb94CHs1+RNS+0HA="
        # javadocs deploy
        - secure: "f4wACodae0NCaIZtmg/JvP40G/3dE7O6+ONDMbq8P/9dnT5peRB1q7+KZxggRmFSWTMPdPIDI7YxI/rM5wZ3pUN2eX0BpjfANT58OJdgCNXN3Hr9YOa8UykD2h6b+AHpy4G89MG65m73RvNXngHTCQ8SBIfewzeMAhHdD3Fk0u8="
        # Build artifacts like logs (variables for apache/flink repo and various commiters)
        - secure: jJQtUL8w2bDqTF5LExDPaWmA6kizCbXhzrutiAGP9ecs79DfklDrD4yr9hSImD3i/vwupRMgI6EW0FKnBBaQU+98U2c71OX6Yk1D8r6EIhYrMOi7FVM7Nt8OIqpoYTQGg+42ol2CTHkCY7qi9ZwCpB5+VeHmsco6XrpJAF2eD4Q=
        - secure: Mjhhzxus0WS/WDopXBmxkKY9TLGQ8lO1DQvU8fMJjExHz6MHnZW2OxPQikGCteFlp2aMgz5Y4xgzF5HHiJQ+88r5st7KSlmCNrSVSxHc1n7dQAh100viPnFf0ozoYVPsdJDvnYPHYgtUS38XqY9ba//9OZTPi/Hm3/0GKgV4g1w=
        - secure: dQ4ttzfqjkKBNJDX07rxx0V+BDB0xBVB1R2oNwIcR3/BUEEEFRuoTdVUcEWNJ1GgXxcD4zBbNvCpgePUBFgNokKj7eWf2DYqmQTlwqeBQ9eCp4gybMRuhz4QbuUZ8Zbv+H0bPlfQI0Ne35eXrKylDc/OZspba6NxMmVzPx75cgw=
        - secure: dfpLCkfmlGXun3riIWoNgoAfyMa8OWKBGj1HlKmyuB8Ub1q42tChK9oQiakERO+b9ucGUcscX5vwmFF2qwE2bQkxupvGND6gypZvwB6yCQ2LE8KaXRZp/CNbgl8kRIdsSc1nw8/D1bdBba5hdZZFWP84kPSdzOv+7tPdUcuYom0=
        - secure: l7fK14ckh2yjeCYNjKkpezLWHF5jel6YFNWe/d25b8XgVIh1lbbOgWwxrZfLenQRHS1Web+mngGFWXc/e05rA2juUwd2P2YvTICJXQT5fBUrd0jqifXan6J8ntEBeMFdD0HOOwKkEJhyWqlbJXmq9DntdyaXpN7ExZEzlXb8Hu8=
        - secure: AN8NAUhdrFvwk9j3TxFoTEHCMC7tmqXwVKF6SPJwzmSdVLiSTScQTrN7LVRthgTlr3AD23FRnLHQYiWr2xUXIC7ngaQ7o5UKQamHtIsPjJvceTFVRHcIfZs6qQCgOs47KoBDsnDP+nn4ZbgDNt+N4sMtZo/d/P2Oq3T36L0SkIw=
        - secure: qXapBSPf9g2ids1ay890EbLvZ80CCl5KxBQK1ZnPV9PW/yyT9Hch+C8XH6z00bhvaysqHNQZ2aGbrMIu632X+YCrs6Rea53BJXnY0yqzWsXlxugx6VLI2UM/G3+PZz4djSdmYpA+5CZMkj/kPRh6f5LjQo8l2oBJq7UEjWoawoc=
        - secure: ATJu0ZsaGNoV5EsMllmknOziwIvCi5t4v5No+F2qFD3tuKfmsGNyqOLj08EUtFmJ1d9Fn4wNXkDC7UfnLdjGUytU/fNZN3L0ffljJqrIcFX4qaxfMFpEElfbD6xe9w+D1ABqvKg2BuNw8rjXvf5imEXGnzZrBjzfarzUW3DZYx4=
        - secure: v3adJMRxX2zYh9PYViwdsBocu2dRzCLoM4kAa4OIxwKS/LvoOQmhYytcX4VN4pzjXzRn2IebZ8go/nrzlxOVPL740RhZKHczXDMiBpiieh9l84SoTBmsmbj6u5rg3ZODmQzY3vLJ4SyU4qTzyTYZi1CkzBqm4IXyRMkixhE1/m8=
        - secure: FmTf7OnCqD4krVZSLYMBz9yOSMUIsssGF7YGOvjTADPBywKrk4uDYT3YGRbEh11owamSFD5Xup2/dOPZP/J2DtbNWdEi5oRRjieVtPO+1uuRCI4xO1d0ht0TKMcSYFhsKmET/ol0kXwdno4lAzapo+9IRgJTMEsKZbhX0/cQ4C4=
        - secure: XFm7b0lqDi7Opd2MlqJSrqZlwLe4MtOSlEmBMCGooUeMGjpyDTePp8KTVAejgqVmtXOFvzLykWB0mtSFQDWjJ2u9+bJgiktUJCMfqLklTDc+Gk7EWb7EI1E2f7ZBlTHRBdKCsHljuatEfMtXzitrAhOVmBGZe95xN61F8io7ktA=
        - secure: VNoMS37cCaTivHQg1fFFBX+zn8QWqQd30/FbnZjjWJk1JgB3coJR4/mpu8vSU/NaDtsbu0yEcCHWWU1MvTAy+Ebc3GethTVkl8PyS1Z61DyfJjDl5MOuG3nvAqvITZtAbcmb1hqwOj96Jw6CdKivwYqw8OLHeKSWsMFCF0k/vO4=
        - secure: xTnuCnUOBWyAvyqbIawvfQ8uETKaSHdIGaZR63KMTkCNk/pnY6Q3ioVy4qaM/ahJZgjrEd/31JjrfSpQdnlkY5TG4EFHq/nY5yRN8w55AzujvW9FjRKGAF5lzvzLCWFueS7kBgE6gkqaQHTMQ7W4b+q66aHs46F9kvy92AgE7Eo=
        - secure: W3ZTeHd0WwFaBn4mjHde+iW7bgTSLL5ArQEkJUNwjxNXflbl0/1aL46qCw5aRU6JtlaWUjbuHZ5/hJKymgFtDTJafiy2IBVvWi+0kD0HBzhiHOiPx1zst27u8riFqWPoZIBZRkYG+/G0TWcfE/D4idJCtkx17lThgbZ605woZR0=
        - secure: C1Kkwv2gqBNb9302s8tg8j+5h+V1tJGpiA5Wpj5Fz/OA8IWdgj1vNQO0+rdc+TJlSdc7aH0ggb+kayu/OgKt7JEy1bjBEZ+je7ncfN0ebp/xVlcSELIGv31yjs5hddtidi1IUW00igwN4VyyPGyPRC9s5ikrow9WUWacHDsP0Is=

before_script:
   - "gem install --no-document --version 0.8.9 faraday "
   - "gem install --no-document travis-artifacts & "

# We run mvn and monitor its output. If there is no output for the specified number of seconds, we
# print the stack traces of all running Java processes.
script: "./tools/travis_mvn_watchdog.sh 300"

# deploy if the first job is successful; should be replaced by an after_all_success if travis finally supports it
after_success:
  - "./tools/deploy_to_maven.sh"
