summaryrefslogtreecommitdiff
path: root/.travis.yml
blob: d54acc423b7e58d9cf5129090517e359ada72b22 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#

# build Apache Thrift on Travis CI - https://travis-ci.org/

language: cpp

cache:
 - apt
 - npm
 - maven

# see what we need: http://thrift.apache.org/docs/install/ubuntu
before_install:
 - sudo apt-add-repository "deb http://archive.ubuntu.com/ubuntu/ trusty main restricted" -y
 - sudo apt-get update -qq
 - sudo apt-get install -qq libboost-dev libboost-test-dev libboost-program-options-dev libevent-dev automake libtool flex bison pkg-config g++ libssl-dev bc 
 - dpkg -S /usr/include/boost/version.hpp
# Java
 - sudo apt-get install -qq ant
# Ruby
 - gem install bundler -v 1.3.5 || true
# Python
# - sudo apt-get install -qq python-all python-all-dev python-all-dbg
# Perl
 - sudo apt-get install -qq libbit-vector-perl libclass-accessor-class-perl
# PHP
 - sudo apt-get install -qq php5-dev php5-cli phpunit php-pear
 - sudo pear channel-discover pear.phpunit.de
 - sudo pear channel-discover pear.symfony.com
# - sudo pear channel-discover components.ez.no
 - sudo pear update-channels
 - sudo pear upgrade-all
 - sudo pear install --alldeps phpunit/PHPUnit
# c_glib
 - sudo apt-get install -qq libglib2.0-dev
# Erlang
# - sudo apt-get install -qq erlang-base erlang-eunit erlang-dev
# Csharp
 - sudo apt-get install -qq mono-gmcs mono-devel libmono-system-web2.0-cil nunit nunit-console
# Haskell
# - sudo apt-get install -qq ghc6 cabal-install libghc6-binary-dev libghc6-network-dev libghc6-http-dev
# Thrift Compiler for Windows
 - sudo apt-get install -qq mingw32
# node.js
 - sudo apt-get install -qq nodejs npm
 - sudo npm install nodeunit -g || true

install:
  - sh bootstrap.sh

script:
# TODO: fix these languages
  - sh configure --without-erlang --without-haskell --without-python --without-go --without-lua
  - make -j2 && make dist
  - make cross -j2
  - sh bootstrap.sh ; sh contrib/mingw-cross-compile.sh
  - mkdir build_native && cd build_native && cmake ../compiler/cpp/ && make; cd ..
  - mkdir build_mingw32 && cd build_mingw32 && cmake -DCMAKE_TOOLCHAIN_FILE=../contrib/mingw32-toolchain.cmake ../compiler/cpp/ && make; cd ..
# TODO: add these steps
#  - sh bootstrap.sh ; dpkg-buildpackage -tc