Sets up Travis CI. (#34)
parent
ff65a1e7f1
commit
cfd09abccf
|
@ -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_ros
|
|
@ -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.
|
||||||
|
|
||||||
|
FROM ros:indigo
|
||||||
|
COPY . cartographer_ros
|
||||||
|
RUN cartographer_ros/scripts/install.sh
|
||||||
|
COPY scripts/ros_entrypoint.sh /
|
12
README.rst
12
README.rst
|
@ -12,16 +12,11 @@
|
||||||
See the License for the specific language governing permissions and
|
See the License for the specific language governing permissions and
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
|
|
||||||
.. Cartographer documentation master file, created by
|
|
||||||
sphinx-quickstart on Fri Jul 8 10:41:33 2016.
|
|
||||||
You can adapt this file completely to your liking, but it should at least
|
|
||||||
contain the root `toctree` directive.
|
|
||||||
|
|
||||||
============================
|
============================
|
||||||
Cartographer ROS Integration
|
Cartographer ROS Integration
|
||||||
============================
|
============================
|
||||||
|
|
||||||
|docs|
|
|build| |docs|
|
||||||
|
|
||||||
Purpose
|
Purpose
|
||||||
=======
|
=======
|
||||||
|
@ -49,6 +44,11 @@ at our `Contribution page`_.
|
||||||
|
|
||||||
.. _Contribution page: https://github.com/googlecartographer/cartographer_ros/blob/master/CONTRIBUTING.md
|
.. _Contribution page: https://github.com/googlecartographer/cartographer_ros/blob/master/CONTRIBUTING.md
|
||||||
|
|
||||||
|
.. |build| image:: https://travis-ci.org/googlecartographer/cartographer_ros.svg?branch=master
|
||||||
|
:alt: Build Status
|
||||||
|
:scale: 100%
|
||||||
|
:target: https://travis-ci.org/googlecartographer/cartographer_ros
|
||||||
|
|
||||||
.. |docs| image:: https://readthedocs.org/projects/google-cartographer-ros/badge/?version=latest
|
.. |docs| image:: https://readthedocs.org/projects/google-cartographer-ros/badge/?version=latest
|
||||||
:alt: Documentation Status
|
:alt: Documentation Status
|
||||||
:scale: 100%
|
:scale: 100%
|
||||||
|
|
|
@ -54,12 +54,6 @@ link_directories(${CARTOGRAPHER_LIBRARY_DIRS})
|
||||||
find_package(ZLIB REQUIRED)
|
find_package(ZLIB REQUIRED)
|
||||||
include_directories(${ZLIB_INCLUDE_DIRS})
|
include_directories(${ZLIB_INCLUDE_DIRS})
|
||||||
|
|
||||||
# TODO(pedrofernandez): CMake test rules are written differently in the core
|
|
||||||
# library. Change the way it's done here and reenable testing.
|
|
||||||
# enable_testing()
|
|
||||||
# find_package(GTest REQUIRED)
|
|
||||||
# include_directories(${GTEST_INCLUDE_DIRS})
|
|
||||||
|
|
||||||
set(CMAKE_AUTOMOC ON)
|
set(CMAKE_AUTOMOC ON)
|
||||||
if(rviz_QT_VERSION VERSION_LESS "5")
|
if(rviz_QT_VERSION VERSION_LESS "5")
|
||||||
message(STATUS "Using Qt4 based on the rviz_QT_VERSION: ${rviz_QT_VERSION}")
|
message(STATUS "Using Qt4 based on the rviz_QT_VERSION: ${rviz_QT_VERSION}")
|
||||||
|
@ -119,7 +113,7 @@ add_dependencies(cartographer_rviz_submaps_visualization
|
||||||
${catkin_EXPORTED_TARGETS}
|
${catkin_EXPORTED_TARGETS}
|
||||||
)
|
)
|
||||||
|
|
||||||
add_executable(time_conversion_test
|
catkin_add_gtest(time_conversion_test
|
||||||
src/time_conversion_test.cc
|
src/time_conversion_test.cc
|
||||||
src/time_conversion.h
|
src/time_conversion.h
|
||||||
src/time_conversion.cc
|
src/time_conversion.cc
|
||||||
|
@ -135,8 +129,6 @@ add_dependencies(time_conversion_test
|
||||||
${catkin_EXPORTED_TARGETS}
|
${catkin_EXPORTED_TARGETS}
|
||||||
)
|
)
|
||||||
|
|
||||||
add_test(time_conversion_test time_conversion_test)
|
|
||||||
|
|
||||||
install(DIRECTORY launch/
|
install(DIRECTORY launch/
|
||||||
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/launch/
|
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/launch/
|
||||||
)
|
)
|
||||||
|
|
|
@ -24,14 +24,19 @@
|
||||||
|
|
||||||
<buildtool_depend>catkin</buildtool_depend>
|
<buildtool_depend>catkin</buildtool_depend>
|
||||||
|
|
||||||
|
<build_depend>g++-static</build_depend>
|
||||||
|
<build_depend>wget</build_depend> <!-- for glog -->
|
||||||
<build_depend>cartographer</build_depend>
|
<build_depend>cartographer</build_depend>
|
||||||
<build_depend>eigen_conversions</build_depend>
|
<build_depend>eigen_conversions</build_depend>
|
||||||
<build_depend>geometry_msgs</build_depend>
|
<build_depend>geometry_msgs</build_depend>
|
||||||
<build_depend>cartographer_ros_msgs</build_depend>
|
<build_depend>cartographer_ros_msgs</build_depend>
|
||||||
|
<build_depend>libgflags-dev</build_depend>
|
||||||
<build_depend>libpcl-all-dev</build_depend>
|
<build_depend>libpcl-all-dev</build_depend>
|
||||||
<build_depend>message_generation</build_depend>
|
<build_depend>message_generation</build_depend>
|
||||||
<build_depend>nav_msgs</build_depend>
|
<build_depend>nav_msgs</build_depend>
|
||||||
<build_depend>pcl_conversions</build_depend>
|
<build_depend>pcl_conversions</build_depend>
|
||||||
|
<build_depend>protobuf-dev</build_depend>
|
||||||
|
<build_depend>python-sphinx</build_depend>
|
||||||
<build_depend>qtbase5-dev</build_depend>
|
<build_depend>qtbase5-dev</build_depend>
|
||||||
<build_depend>rosbag</build_depend>
|
<build_depend>rosbag</build_depend>
|
||||||
<build_depend>roscpp</build_depend>
|
<build_depend>roscpp</build_depend>
|
||||||
|
@ -39,6 +44,7 @@
|
||||||
<build_depend>rviz</build_depend>
|
<build_depend>rviz</build_depend>
|
||||||
<build_depend>sensor_msgs</build_depend>
|
<build_depend>sensor_msgs</build_depend>
|
||||||
<build_depend>std_msgs</build_depend>
|
<build_depend>std_msgs</build_depend>
|
||||||
|
<build_depend>suitesparse</build_depend>
|
||||||
<build_depend>tf2</build_depend>
|
<build_depend>tf2</build_depend>
|
||||||
<build_depend>tf2_eigen</build_depend>
|
<build_depend>tf2_eigen</build_depend>
|
||||||
<build_depend>visualization_msgs</build_depend>
|
<build_depend>visualization_msgs</build_depend>
|
||||||
|
@ -46,6 +52,7 @@
|
||||||
<run_depend>eigen_conversions</run_depend>
|
<run_depend>eigen_conversions</run_depend>
|
||||||
<run_depend>geometry_msgs</run_depend>
|
<run_depend>geometry_msgs</run_depend>
|
||||||
<run_depend>cartographer_ros_msgs</run_depend>
|
<run_depend>cartographer_ros_msgs</run_depend>
|
||||||
|
<run_depend>libgflags-dev</run_depend>
|
||||||
<run_depend>libpcl-all</run_depend>
|
<run_depend>libpcl-all</run_depend>
|
||||||
<run_depend>libqt5-core</run_depend>
|
<run_depend>libqt5-core</run_depend>
|
||||||
<run_depend>libqt5-gui</run_depend>
|
<run_depend>libqt5-gui</run_depend>
|
||||||
|
@ -59,10 +66,13 @@
|
||||||
<run_depend>rviz</run_depend>
|
<run_depend>rviz</run_depend>
|
||||||
<run_depend>sensor_msgs</run_depend>
|
<run_depend>sensor_msgs</run_depend>
|
||||||
<run_depend>std_msgs</run_depend>
|
<run_depend>std_msgs</run_depend>
|
||||||
|
<run_depend>suitesparse</run_depend>
|
||||||
<run_depend>tf2_eigen</run_depend>
|
<run_depend>tf2_eigen</run_depend>
|
||||||
<run_depend>tf2</run_depend>
|
<run_depend>tf2</run_depend>
|
||||||
<run_depend>visualization_msgs</run_depend>
|
<run_depend>visualization_msgs</run_depend>
|
||||||
|
|
||||||
|
<test_depend>rosunit</test_depend>
|
||||||
|
|
||||||
<export>
|
<export>
|
||||||
<rviz plugin="${prefix}/rviz_plugin_description.xml"/>
|
<rviz plugin="${prefix}/rviz_plugin_description.xml"/>
|
||||||
</export>
|
</export>
|
||||||
|
|
|
@ -0,0 +1,58 @@
|
||||||
|
#!/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
|
||||||
|
|
||||||
|
. /opt/ros/${ROS_DISTRO}/setup.sh
|
||||||
|
|
||||||
|
# Create a new workspace in 'catkin_ws'.
|
||||||
|
mkdir catkin_ws
|
||||||
|
cd catkin_ws
|
||||||
|
wstool init
|
||||||
|
|
||||||
|
# Merge the cartographer_ros rosinstall file and fetch code for dependencies.
|
||||||
|
wstool merge ../cartographer_ros/cartographer_ros.rosinstall
|
||||||
|
wstool update
|
||||||
|
|
||||||
|
# Use the local version of cartographer_ros to include local modifications.
|
||||||
|
rm -rf src/cartographer_ros
|
||||||
|
mv ../cartographer_ros src
|
||||||
|
|
||||||
|
# Install deb dependencies.
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install -y libwebp-dev # TODO(whess): Move to rosdep.
|
||||||
|
rosdep update
|
||||||
|
rosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y
|
||||||
|
rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
# Build and run tests.
|
||||||
|
catkin_make_isolated
|
||||||
|
catkin_make_isolated --catkin-make-args tests
|
||||||
|
catkin_make_isolated --catkin-make-args test
|
||||||
|
|
||||||
|
# TODO(whess): Fix installing cartographer_ros. For now we use a workaround:
|
||||||
|
echo Working around install issues...
|
||||||
|
mkdir /opt/cartographer_ros
|
||||||
|
ln -Tsf ${PWD}/devel_isolated/setup.bash /opt/cartographer_ros/setup.bash
|
||||||
|
exit
|
||||||
|
|
||||||
|
# Install under /opt/cartographer_ros.
|
||||||
|
catkin_make_isolated --install-space /opt/cartographer_ros --install
|
||||||
|
|
||||||
|
# Clean up.
|
||||||
|
cd ..
|
||||||
|
rm -rf catkin_ws
|
|
@ -0,0 +1,22 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
source "/opt/ros/${ROS_DISTRO}/setup.bash"
|
||||||
|
source "/opt/cartographer_ros/setup.bash"
|
||||||
|
exec "$@"
|
Loading…
Reference in New Issue