<commit_before># **********************************************************
# Copyright (c) 2016-2020 Google, Inc.  All rights reserved.
# **********************************************************

# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# * Redistributions of source code must retain the above copyright notice,
#   this list of conditions and the following disclaimer.
#
# * Redistributions in binary form must reproduce the above copyright notice,
#   this list of conditions and the following disclaimer in the documentation
#   and/or other materials provided with the distribution.
#
# * Neither the name of Google, Inc. nor the names of its contributors may be
#   used to endorse or promote products derived from this software without
#   specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL VMWARE, INC. OR CONTRIBUTORS BE LIABLE
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
# DAMAGE.

# Travis CI configuration:

notifications:
  email:
    # This overrides the default of sending to the committer and author.
    recipients:
      - <EMAIL>
    on_success: change
    on_failure: always

# Don't run Travis on pushes to feature branches: pull requests cover those.
branches:
  only:
  - master

# We use Xenial.
sudo: required
dist: xenial

language:
  - c

# We use a jobs include approach rather than an os, compiler, env matrix
# with excludes so we can use conditional builds (plus it's clearer this way).
jobs:
  include:
    #######################################################################
    # Regular test jobs:

    # 32-bit Linux build with gcc and run tests:
    - if: env(TRAVIS_EVENT_TYPE) != cron
      os: linux
      compiler: gcc
      env: DYNAMORIO_CROSS_AARCHXX_LINUX_ONLY=no DEPLOY=no EXTRA_ARGS="32_only"
    # 64-bit Linux build with gcc and run tests:
    - if: env(TRAVIS_EVENT_TYPE) != cron
      os: linux
      compiler: gcc
      env: DYNAMORIO_CROSS_AARCHXX_LINUX_ONLY=no DEPLOY=no EXTRA_ARGS="64_only"
    # AArchXX cross-compile with gcc, no tests:
    - if: env(TRAVIS_EVENT_TYPE) != cron
      os: linux
      compiler: gcc
      env: DYNAMORIO_CROSS_AARCHXX_LINUX_ONLY=yes DEPLOY=no
    # Android ARM cross-compile with gcc, no tests:
    - if: env(TRAVIS_EVENT_TYPE) != cron
      os: linux
      compiler: gcc
      env: DYNAMORIO_CROSS_ANDROID_ONLY=yes DEPLOY=no DYNAMORIO_ANDROID_TOOLCHAIN='/tmp/android-gcc-arm-ndk-10e'
    # 32-bit Linux build with clang, no tests (runsuite.cmake disables the tests):
    - if: env(TRAVIS_EVENT_TYPE) != cron
      os: linux
      compiler: clang
      # We need clang 9.0 to avoid a compiler bug: i#3989.
      env: DYNAMORIO_CROSS_AARCHXX_LINUX_ONLY=no DEPLOY=no EXTRA_ARGS=32_only CC=clang-9 && CXX=clang++-9
      addons:
        apt:
          sources:
          - ubuntu-toolchain-r-test
          - sourceline: 'deb https://apt.llvm.org/xenial/ llvm-toolchain-xenial-9 main'
            key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key'
          packages:
          - clang-9
    # 64-bit Linux build with clang, no tests (runsuite.cmake disables the tests),
    # install and require clang-format:
    - if: env(TRAVIS_EVENT_TYPE) != cron
      os: linux
      compiler: clang
      # We need clang 9.0 to avoid a compiler bug: i#3989.
      env: DYNAMORIO_CROSS_AARCHXX_LINUX_ONLY=no DEPLOY=no EXTRA_ARGS="64_only require_format" CC=clang-9 && CXX=clang++-9
      addons:
        apt:
          sources:
          - ubuntu-toolchain-r-test
          - sourceline: 'deb https://apt.llvm.org/xenial/ llvm-toolchain-xenial-9 main'
            key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key'
          packages:
          - clang-9
          - clang-format-6.0
    # 32-bit OSX build with clang and run tests:
    - if: env(TRAVIS_EVENT_TYPE) != cron
      os: osx
      # gcc on Travis claims to not be CMAKE_COMPILER_IS_GNUCC so we only run clang.
      compiler: clang
      # We do not have 64-bit support on OSX yet (i#1979).
      env: DYNAMORIO_CROSS_AARCHXX_LINUX_ONLY=no DEPLOY=no EXTRA_ARGS=32_only

    #######################################################################
    # Package jobs
    # Linux x86 + amd64:
    - if: env(TRAVIS_EVENT_TYPE) = cron
      os: linux
      compiler: gcc
      env: DYNAMORIO_CROSS_AARCHXX_LINUX_ONLY=no DEPLOY=yes
    # Linux AArch64:
    - if: env(TRAVIS_EVENT_TYPE) = cron
      os: linux
      compiler: gcc
      env: DYNAMORIO_CROSS_AARCHXX_LINUX_ONLY=yes DEPLOY=yes EXTRA_ARGS=64_only
    # Linux ARM:
    - if: env(TRAVIS_EVENT_TYPE) = cron
      os: linux
      compiler: gcc
      env: DYNAMORIO_CROSS_AARCHXX_LINUX_ONLY=yes DEPLOY=yes EXTRA_ARGS=32_only
    # Android ARM:
    - if: env(TRAVIS_EVENT_TYPE) = cron
      os: linux
      compiler: gcc
      env: DYNAMORIO_CROSS_ANDROID_ONLY=yes DYNAMORIO_ANDROID_TOOLCHAIN='/tmp/android-gcc-arm-ndk-10e' DEPLOY=no EXTRA_ARGS=32_only

# For C/C++ there is no default install, so we set "install", not "before_install".
install:
  - uname -a
  # FIXME: remove the "brew update" step once Travis fixes their Mac VM's
  # on 11/15/17.  Xref https://github.com/travis-ci/travis-ci/issues/8552.
  - if [[ "`uname`" == "Darwin" ]]; then brew update; brew install nasm; fi
  # ImageMagick is present but these are not:
  - >
      if [[ "`uname`" == "Linux" ]]; then
      sudo apt-get -y install ghostscript doxygen transfig vera++ cmake zlib1g-dev libsnappy-dev; fi
  # Install multilib for non-cross-compiling Linux builds:
  - >
      if [[ "`uname`" == "Linux" && $DYNAMORIO_CROSS_AARCHXX_LINUX_ONLY == no ]]; then
      sudo apt-get -y install g++-multilib; fi
  # Install cross-compilers for cross-compiling Linux build:
  - >
      if [[ "`uname`" == "Linux" && $DYNAMORIO_CROSS_AARCHXX_LINUX_ONLY == yes ]]; then
      sudo apt-get -y install g++-arm-linux-gnueabihf g++-aarch64-linux-gnu; fi
  # Fetch and install Android NDK for Andoid cross-compile build only.
  - >
      if [[ "`uname`" == "Linux" && $DYNAMORIO_CROSS_ANDROID_ONLY == yes ]]; then
          cd /tmp
          wget https://dl.google.com/android/repository/android-ndk-r10e-linux-x86_64.zip
          unzip -q android-ndk-r10e-linux-x86_64.zip
          android-ndk-r10e/build/tools/make-standalone-toolchain.sh --arch=arm \
              --toolchain=arm-linux-androideabi-4.9 \
              --platform=android-21 \
              --install-dir=/tmp/android-gcc-arm-ndk-10e
          # Manually force using ld.bfd, setting CMAKE_LINKER does not work.
          ln -sf ld.bfd /tmp/android-gcc-arm-ndk-10e/arm-linux-androideabi/bin/ld<commit_msg>i#2861 cronbuilds: Deploy for Android builds<commit_after># **********************************************************
# Copyright (c) 2016-2020 Google, Inc.  All rights reserved.
# **********************************************************

# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# * Redistributions of source code must retain the above copyright notice,
#   this list of conditions and the following disclaimer.
#
# * Redistributions in binary form must reproduce the above copyright notice,
#   this list of conditions and the following disclaimer in the documentation
#   and/or other materials provided with the distribution.
#
# * Neither the name of Google, Inc. nor the names of its contributors may be
#   used to endorse or promote products derived from this software without
#   specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL VMWARE, INC. OR CONTRIBUTORS BE LIABLE
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
# DAMAGE.

# Travis CI configuration:

notifications:
  email:
    # This overrides the default of sending to the committer and author.
    recipients:
      - <EMAIL>
    on_success: change
    on_failure: always

# Don't run Travis on pushes to feature branches: pull requests cover those.
branches:
  only:
  - master

# We use Xenial.
sudo: required
dist: xenial

language:
  - c

# We use a jobs include approach rather than an os, compiler, env matrix
# with excludes so we can use conditional builds (plus it's clearer this way).
jobs:
  include:
    #######################################################################
    # Regular test jobs:

    # 32-bit Linux build with gcc and run tests:
    - if: env(TRAVIS_EVENT_TYPE) != cron
      os: linux
      compiler: gcc
      env: DYNAMORIO_CROSS_AARCHXX_LINUX_ONLY=no DEPLOY=no EXTRA_ARGS="32_only"
    # 64-bit Linux build with gcc and run tests:
    - if: env(TRAVIS_EVENT_TYPE) != cron
      os: linux
      compiler: gcc
      env: DYNAMORIO_CROSS_AARCHXX_LINUX_ONLY=no DEPLOY=no EXTRA_ARGS="64_only"
    # AArchXX cross-compile with gcc, no tests:
    - if: env(TRAVIS_EVENT_TYPE) != cron
      os: linux
      compiler: gcc
      env: DYNAMORIO_CROSS_AARCHXX_LINUX_ONLY=yes DEPLOY=no
    # Android ARM cross-compile with gcc, no tests:
    - if: env(TRAVIS_EVENT_TYPE) != cron
      os: linux
      compiler: gcc
      env: DYNAMORIO_CROSS_ANDROID_ONLY=yes DEPLOY=no DYNAMORIO_ANDROID_TOOLCHAIN='/tmp/android-gcc-arm-ndk-10e'
    # 32-bit Linux build with clang, no tests (runsuite.cmake disables the tests):
    - if: env(TRAVIS_EVENT_TYPE) != cron
      os: linux
      compiler: clang
      # We need clang 9.0 to avoid a compiler bug: i#3989.
      env: DYNAMORIO_CROSS_AARCHXX_LINUX_ONLY=no DEPLOY=no EXTRA_ARGS=32_only CC=clang-9 && CXX=clang++-9
      addons:
        apt:
          sources:
          - ubuntu-toolchain-r-test
          - sourceline: 'deb https://apt.llvm.org/xenial/ llvm-toolchain-xenial-9 main'
            key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key'
          packages:
          - clang-9
    # 64-bit Linux build with clang, no tests (runsuite.cmake disables the tests),
    # install and require clang-format:
    - if: env(TRAVIS_EVENT_TYPE) != cron
      os: linux
      compiler: clang
      # We need clang 9.0 to avoid a compiler bug: i#3989.
      env: DYNAMORIO_CROSS_AARCHXX_LINUX_ONLY=no DEPLOY=no EXTRA_ARGS="64_only require_format" CC=clang-9 && CXX=clang++-9
      addons:
        apt:
          sources:
          - ubuntu-toolchain-r-test
          - sourceline: 'deb https://apt.llvm.org/xenial/ llvm-toolchain-xenial-9 main'
            key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key'
          packages:
          - clang-9
          - clang-format-6.0
    # 32-bit OSX build with clang and run tests:
    - if: env(TRAVIS_EVENT_TYPE) != cron
      os: osx
      # gcc on Travis claims to not be CMAKE_COMPILER_IS_GNUCC so we only run clang.
      compiler: clang
      # We do not have 64-bit support on OSX yet (i#1979).
      env: DYNAMORIO_CROSS_AARCHXX_LINUX_ONLY=no DEPLOY=no EXTRA_ARGS=32_only

    #######################################################################
    # Package jobs
    # Linux x86 + amd64:
    - if: env(TRAVIS_EVENT_TYPE) = cron
      os: linux
      compiler: gcc
      env: DYNAMORIO_CROSS_AARCHXX_LINUX_ONLY=no DEPLOY=yes
    # Linux AArch64:
    - if: env(TRAVIS_EVENT_TYPE) = cron
      os: linux
      compiler: gcc
      env: DYNAMORIO_CROSS_AARCHXX_LINUX_ONLY=yes DEPLOY=yes EXTRA_ARGS=64_only
    # Linux ARM:
    - if: env(TRAVIS_EVENT_TYPE) = cron
      os: linux
      compiler: gcc
      env: DYNAMORIO_CROSS_AARCHXX_LINUX_ONLY=yes DEPLOY=yes EXTRA_ARGS=32_only
    # Android ARM:
    - if: env(TRAVIS_EVENT_TYPE) = cron
      os: linux
      compiler: gcc
      env: DYNAMORIO_CROSS_ANDROID_ONLY=yes DYNAMORIO_ANDROID_TOOLCHAIN='/tmp/android-gcc-arm-ndk-10e' DEPLOY=yes EXTRA_ARGS=32_only

# For C/C++ there is no default install, so we set "install", not "before_install".
install:
  - uname -a
  # FIXME: remove the "brew update" step once Travis fixes their Mac VM's
  # on 11/15/17.  Xref https://github.com/travis-ci/travis-ci/issues/8552.
  - if [[ "`uname`" == "Darwin" ]]; then brew update; brew install nasm; fi
  # ImageMagick is present but these are not:
  - >
      if [[ "`uname`" == "Linux" ]]; then
      sudo apt-get -y install ghostscript doxygen transfig vera++ cmake zlib1g-dev libsnappy-dev; fi
  # Install multilib for non-cross-compiling Linux builds:
  - >
      if [[ "`uname`" == "Linux" && $DYNAMORIO_CROSS_AARCHXX_LINUX_ONLY == no ]]; then
      sudo apt-get -y install g++-multilib; fi
  # Install cross-compilers for cross-compiling Linux build:
  - >
      if [[ "`uname`" == "Linux" && $DYNAMORIO_CROSS_AARCHXX_LINUX_ONLY == yes ]]; then
      sudo apt-get -y install g++-arm-linux-gnueabihf g++-aarch64-linux-gnu; fi
  # Fetch and install Android NDK for Andoid cross-compile build only.
  - >
      if [[ "`uname`" == "Linux" && $DYNAMORIO_CROSS_ANDROID_ONLY == yes ]]; then
          cd /tmp
          wget https://dl.google.com/android/repository/android-ndk-r10e-linux-x86_64.zip
          unzip -q android-ndk-r10e-linux-x86_64.zip
          android-ndk-r10e/build/tools/make-standalone-toolchain.sh --arch=arm \
              --toolchain=arm-linux-androideabi-4.9 \
              --platform=android-21 \
              --install-dir=/tmp/android-gcc-arm-ndk-10e
          # Manually force using ld.bfd, setting CMAKE_LINKER does not work.
          ln -sf ld.bfd /tmp/android-gcc-arm-ndk-10e/arm-linux-androideabi/bin/ld
{'fraction_non_alphanumeric': 0.12486338797814207, 'fraction_numerical': 0.014890710382513661, 'mean_word_length': 3.1080246913580245, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 13, 'https://': 12, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '164831', 'n_tokens_mistral': 5164, 'n_tokens_neox': 4718, 'n_words': 1422}