blob: 68af53144908273680adad8db8c46a716fdb4efb [file] [log] [blame]
Roger Meiera0836f62013-05-05 00:19:38 +02001#
2# Licensed to the Apache Software Foundation (ASF) under one
3# or more contributor license agreements. See the NOTICE file
4# distributed with this work for additional information
5# regarding copyright ownership. The ASF licenses this file
6# to you under the Apache License, Version 2.0 (the
7# "License"); you may not use this file except in compliance
8# with the License. You may obtain a copy of the License at
9#
10# http://www.apache.org/licenses/LICENSE-2.0
11#
12# Unless required by applicable law or agreed to in writing,
13# software distributed under the License is distributed on an
14# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15# KIND, either express or implied. See the License for the
16# specific language governing permissions and limitations
17# under the License.
18#
19
20# build Apache Thrift on Travis CI - https://travis-ci.org/
21
22language: cpp
23
24# see what we need: http://thrift.apache.org/docs/install/ubuntu
25before_install:
Henrique Mendonça0e07ec82013-06-08 09:40:21 +020026 - export NUM_CPU="`grep processor /proc/cpuinfo | wc -l`"; echo $NUM_CPU
Roger Meiera0836f62013-05-05 00:19:38 +020027 - sudo apt-get update -qq
Roger Meier74c2cc82013-05-30 13:28:17 +020028 - sudo apt-get upgrade -qq
Roger Meiera0836f62013-05-05 00:19:38 +020029 - 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
30# Java
31 - sudo apt-get install -qq libcommons-lang3-java ant
32# TODO: fix ruby support
33# Ruby
34# - sudo apt-get install -qq ruby1.9.1-full ruby1.9.1-dev ruby-rspec rake rubygems libdaemons-ruby libgemplugin-ruby mongrel
35# - sudo /usr/bin/gem1.9.1 install bundler
36# - sudo /usr/bin/gem1.9.1 install rack-test
37# Python
38 - sudo apt-get install -qq python-all python-all-dev python-all-dbg
39# Perl
40 - sudo apt-get install -qq libbit-vector-perl
41# PHP
42 - sudo apt-get install -qq php5-dev php5-cli phpunit
43# c_glib
44 - sudo apt-get install -qq libglib2.0-dev
45# Erlang
46 - sudo apt-get install -qq erlang-base erlang-eunit erlang-dev
47# Csharp
Henrique Mendonça0e07ec82013-06-08 09:40:21 +020048 - sudo apt-get install -qq mono-gmcs mono-devel libmono-system-web2.0-cil nunit nunit-console
Roger Meiera0836f62013-05-05 00:19:38 +020049# Haskell
50 - sudo apt-get install -qq ghc6 cabal-install libghc6-binary-dev libghc6-network-dev libghc6-http-dev
51# Thrift Compiler for Windows
52 - sudo apt-get install -qq mingw32 mingw32-binutils mingw32-runtime
Henrique08c34ea2013-05-11 19:29:19 +020053# node.js
54 - sudo apt-get install -qq nodejs npm
Henrique Mendonça0e07ec82013-06-08 09:40:21 +020055 - sudo npm install nodeunit -g || true
56# TODO: move npm install to nodejs Makefile
57 - cd lib/nodejs; npm install & cd ../..
Roger Meiera0836f62013-05-05 00:19:38 +020058
59
60install:
61 - sh bootstrap.sh
62
63script:
64# TODO: fix ruby support
65# - export PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/var/lib/gems/1.9.1/bin
66# - sh configure RUBY=/usr/bin/ruby1.9.1 RAKE=/usr/bin/rake1.9.1
67# TODO: fix these languages
Roger Meierdcfc7e62013-05-05 00:59:08 +020068 - sh configure --without-ruby --without-haskell --without-perl --without-php --without-python
Henrique Mendonça0e07ec82013-06-08 09:40:21 +020069 - make -j$NUM_CPU && make dist
70 - make check -j$NUM_CPU && sh test/test.sh
Roger Meiera0836f62013-05-05 00:19:38 +020071# TODO: add these steps
Roger Meiera0836f62013-05-05 00:19:38 +020072# - sh bootstrap.sh ; sh contrib/mingw-cross-compile.sh
73# - sh bootstrap.sh ; dpkg-buildpackage -tc