Sets up Travis CI. (#14)

master
Damon Kohler 2016-08-26 16:34:38 +02:00 committed by GitHub
parent 817dc884d5
commit 9a303d0526
8 changed files with 143 additions and 30 deletions

18
.travis.yml Normal file
View File

@ -0,0 +1,18 @@
# Copyright 2016 The Cartographer Authors
#
# Licensed 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.
sudo: required
services: docker
install: true
script: docker build ${TRAVIS_BUILD_DIR} -t cartographer

19
Dockerfile Normal file
View File

@ -0,0 +1,19 @@
# Copyright 2016 The Cartographer Authors
#
# Licensed 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.
FROM ubuntu:trusty
COPY . cartographer
RUN cartographer/scripts/install_debs.sh && rm -rf /var/lib/apt/lists/*
RUN cartographer/scripts/install_ceres.sh && rm -rf ceres-solver
RUN cartographer/scripts/install_cartographer.sh && rm -rf cartographer

View File

@ -36,8 +36,8 @@ project provides Cartographer's ROS integration.
Documentation Documentation
============= =============
You will find complete documentation for using Cartographer `our Read the Docs You will find complete documentation for using Cartographer at `our Read the
site`_. Docs site`_.
.. _our Read the Docs site: https://google-cartographer.readthedocs.io .. _our Read the Docs site: https://google-cartographer.readthedocs.io

View File

@ -45,33 +45,17 @@ Getting Started without ROS
On Ubuntu 14.04 (Trusty): On Ubuntu 14.04 (Trusty):
.. code-block:: bash .. include:: ../../scripts/install_debs.sh
:code: bash
:number-lines:
:start-line: 19
# Install the required libraries that are available as debs .. include:: ../../scripts/install_ceres.sh
sudo apt-get install \ :code: bash
g++ \ :number-lines:
google-mock \ :start-line: 19
libboost-all-dev \
libgflags-dev \
libgoogle-glog-dev \
liblua5.2-dev \
libprotobuf-dev \
libsuitesparse-dev \
libwebp-dev \
ninja-build \
protobuf-compiler \
python-sphinx
# Build and install Ceres .. include:: ../../scripts/install_cartographer.sh
git clone https://ceres-solver.googlesource.com/ceres-solver :code: bash
cd ceres-solver :number-lines:
mkdir build && cd build :start-line: 19
cmake ..
make
sudo make install
# Build Cartographer
cd cartographer
mkdir build && cd build
cmake .. -G Ninja
ninja

27
scripts/install_cartographer.sh Executable file
View File

@ -0,0 +1,27 @@
#!/bin/sh
# Copyright 2016 The Cartographer Authors
#
# Licensed 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.
set -o errexit
set -o verbose
# Build and install Cartographer.
cd cartographer
mkdir build
cd build
cmake .. -G Ninja
ninja
ninja test
sudo ninja install

28
scripts/install_ceres.sh Executable file
View File

@ -0,0 +1,28 @@
#!/bin/sh
# Copyright 2016 The Cartographer Authors
#
# Licensed 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.
set -o errexit
set -o verbose
# Build and install Ceres.
git clone https://ceres-solver.googlesource.com/ceres-solver
cd ceres-solver
mkdir build
cd build
cmake .. -G Ninja
ninja
ninja test
sudo ninja install

37
scripts/install_debs.sh Executable file
View File

@ -0,0 +1,37 @@
#!/bin/sh
# Copyright 2016 The Cartographer Authors
#
# Licensed 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.
set -o errexit
set -o verbose
# Install the required libraries that are available as debs.
sudo apt-get update
sudo apt-get install -y \
cmake \
g++ \
git \
google-mock \
libboost-all-dev \
libeigen3-dev \
libgflags-dev \
libgoogle-glog-dev \
liblua5.2-dev \
libprotobuf-dev \
libsuitesparse-dev \
libwebp-dev \
ninja-build \
protobuf-compiler \
python-sphinx