Skip to content

Commit 527a1e4

Browse files
authored
Merge branch 'devel' into devel
2 parents c00b6e7 + 8a4e335 commit 527a1e4

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+751
-620
lines changed

.git-blame-ignore-revs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# format (Guilhem Saurel, 2022-09-06)
2+
426c21a7f4e5b445d17825235f983e2f8e1a86ec

.pre-commit-config.yaml

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
ci:
2+
autoupdate_branch: 'devel'
3+
repos:
4+
- repo: https://github.com/pre-commit/mirrors-clang-format
5+
rev: v14.0.6
6+
hooks:
7+
- id: clang-format
8+
args: [--style=Google]
9+
- repo: https://github.com/pre-commit/pre-commit-hooks
10+
rev: v4.3.0
11+
hooks:
12+
- id: check-added-large-files
13+
- id: check-ast
14+
- id: check-executables-have-shebangs
15+
- id: check-json
16+
- id: check-merge-conflict
17+
- id: check-symlinks
18+
- id: check-toml
19+
- id: check-yaml
20+
- id: debug-statements
21+
- id: destroyed-symlinks
22+
- id: detect-private-key
23+
- id: end-of-file-fixer
24+
- id: fix-byte-order-marker
25+
- id: mixed-line-ending
26+
- id: trailing-whitespace
27+
- repo: https://github.com/psf/black
28+
rev: 22.8.0
29+
hooks:
30+
- id: black
31+
- repo: https://github.com/PyCQA/flake8
32+
rev: 5.0.4
33+
hooks:
34+
- id: flake8
35+
- repo: https://github.com/cheshirekow/cmake-format-precommit
36+
rev: v0.6.13
37+
hooks:
38+
- id: cmake-format

.travis.yml

Lines changed: 0 additions & 14 deletions
This file was deleted.

CMakeLists.txt

Lines changed: 70 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -3,100 +3,99 @@
33
# Author: Florent Lamiraux, Nirmal Giftsun, Guilhem Saurel
44
#
55

6-
CMAKE_MINIMUM_REQUIRED(VERSION 3.1)
6+
cmake_minimum_required(VERSION 3.1)
77

88
# Project properties
9-
SET(PROJECT_ORG stack-of-tasks)
10-
SET(PROJECT_NAME dynamic_graph_bridge)
11-
SET(PROJECT_DESCRIPTION "Dynamic graph bridge library")
12-
SET(PROJECT_URL "https://github.com/${PROJECT_ORG}/${PROJECT_NAME}")
9+
set(PROJECT_ORG stack-of-tasks)
10+
set(PROJECT_NAME dynamic_graph_bridge)
11+
set(PROJECT_DESCRIPTION "Dynamic graph bridge library")
12+
set(PROJECT_URL "https://github.com/${PROJECT_ORG}/${PROJECT_NAME}")
1313

1414
# Project options
15-
OPTION(BUILD_PYTHON_INTERFACE "Build the python bindings" ON)
15+
option(BUILD_PYTHON_INTERFACE "Build the python bindings" ON)
1616

1717
# Project configuration
18-
SET(PROJECT_USE_CMAKE_EXPORT TRUE)
19-
SET(CUSTOM_HEADER_DIR ${PROJECT_NAME})
18+
set(PROJECT_USE_CMAKE_EXPORT TRUE)
19+
set(CUSTOM_HEADER_DIR ${PROJECT_NAME})
2020
set(CXX_DISABLE_WERROR FALSE)
21-
SET(DOXYGEN_USE_MATHJAX YES)
22-
SET(CATKIN_ENABLE_TESTING OFF)
21+
set(DOXYGEN_USE_MATHJAX YES)
22+
set(CATKIN_ENABLE_TESTING OFF)
2323

2424
# JRL-cmakemodule setup
25-
INCLUDE(cmake/base.cmake)
26-
INCLUDE(cmake/boost.cmake)
27-
INCLUDE(cmake/python.cmake)
28-
INCLUDE(cmake/ros.cmake)
25+
include(cmake/base.cmake)
26+
include(cmake/boost.cmake)
27+
include(cmake/ros.cmake)
2928

3029
# Project definition
31-
COMPUTE_PROJECT_ARGS(PROJECT_ARGS LANGUAGES CXX)
32-
PROJECT(${PROJECT_NAME} ${PROJECT_ARGS})
30+
compute_project_args(PROJECT_ARGS LANGUAGES CXX)
31+
project(${PROJECT_NAME} ${PROJECT_ARGS})
3332

3433
# Project dependencies
35-
SET(CATKIN_REQUIRED_COMPONENTS roscpp std_msgs message_generation std_srvs geometry_msgs sensor_msgs tf2_ros
34+
set(CATKIN_REQUIRED_COMPONENTS
35+
roscpp
36+
std_msgs
37+
message_generation
38+
std_srvs
39+
geometry_msgs
40+
sensor_msgs
41+
tf2_ros
3642
realtime_tools)
37-
ADD_PROJECT_DEPENDENCY(Boost REQUIRED COMPONENTS program_options)
38-
ADD_PROJECT_DEPENDENCY(dynamic_graph_bridge_msgs 0.3.0 REQUIRED)
39-
40-
IF(BUILD_PYTHON_INTERFACE)
41-
FINDPYTHON()
42-
SEARCH_FOR_BOOST_PYTHON()
43-
STRING(REGEX REPLACE "-" "_" PY_NAME ${PROJECT_NAME})
44-
ADD_PROJECT_DEPENDENCY(dynamic-graph-python 4.0.0 REQUIRED)
45-
SET(CATKIN_REQUIRED_COMPONENTS ${CATKIN_REQUIRED_COMPONENTS} rospy)
46-
47-
IF(Boost_VERSION GREATER 107299 OR Boost_VERSION_MACRO GREATER 107299)
48-
# Silence a warning about a deprecated use of boost bind by boost >= 1.73
49-
# without dropping support for boost < 1.73
50-
ADD_DEFINITIONS(-DBOOST_BIND_GLOBAL_PLACEHOLDERS)
51-
ENDIF()
52-
ENDIF(BUILD_PYTHON_INTERFACE)
5343

54-
find_package(catkin REQUIRED COMPONENTS ${CATKIN_REQUIRED_COMPONENTS})
44+
if(BUILD_PYTHON_INTERFACE)
45+
add_project_dependency(dynamic-graph-python 4.0.0 REQUIRED)
46+
string(REGEX REPLACE "-" "_" PY_NAME ${PROJECT_NAME})
47+
set(CATKIN_REQUIRED_COMPONENTS ${CATKIN_REQUIRED_COMPONENTS} rospy)
48+
endif(BUILD_PYTHON_INTERFACE)
49+
50+
add_project_dependency(Boost REQUIRED COMPONENTS program_options)
51+
add_project_dependency(dynamic_graph_bridge_msgs 0.3.0 REQUIRED)
52+
add_project_dependency(sot-core REQUIRED)
5553

56-
ADD_PROJECT_DEPENDENCY(sot-core REQUIRED)
54+
if(Boost_VERSION GREATER 107299 OR Boost_VERSION_MACRO GREATER 107299)
55+
# Silence a warning about a deprecated use of boost bind by boost >= 1.73
56+
# without dropping support for boost < 1.73
57+
add_definitions(-DBOOST_BIND_GLOBAL_PLACEHOLDERS)
58+
endif()
59+
60+
find_package(catkin REQUIRED COMPONENTS ${CATKIN_REQUIRED_COMPONENTS})
5761

5862
# Main Library
5963
set(${PROJECT_NAME}_HEADERS
60-
include/${PROJECT_NAME}/fwd.hh
61-
include/${PROJECT_NAME}/ros_init.hh
62-
include/${PROJECT_NAME}/sot_loader.hh
63-
include/${PROJECT_NAME}/sot_loader_basic.hh
64-
include/${PROJECT_NAME}/ros_interpreter.hh
65-
src/converter.hh
66-
src/sot_to_ros.hh
67-
)
68-
69-
SET(${PROJECT_NAME}_SOURCES
70-
src/ros_init.cpp
71-
src/sot_to_ros.cpp
72-
src/ros_parameter.cpp
73-
)
74-
75-
ADD_LIBRARY(ros_bridge SHARED
76-
${${PROJECT_NAME}_SOURCES} ${${PROJECT_NAME}_HEADERS})
77-
TARGET_INCLUDE_DIRECTORIES(ros_bridge SYSTEM PUBLIC ${catkin_INCLUDE_DIRS})
78-
TARGET_INCLUDE_DIRECTORIES(ros_bridge PUBLIC $<INSTALL_INTERFACE:include>)
79-
TARGET_LINK_LIBRARIES(ros_bridge ${catkin_LIBRARIES}
80-
sot-core::sot-core pinocchio::pinocchio dynamic_graph_bridge_msgs::dynamic_graph_bridge_msgs)
81-
82-
IF(SUFFIX_SO_VERSION)
83-
SET_TARGET_PROPERTIES(ros_bridge PROPERTIES SOVERSION ${PROJECT_VERSION})
84-
ENDIF(SUFFIX_SO_VERSION)
85-
86-
IF(NOT INSTALL_PYTHON_INTERFACE_ONLY)
87-
INSTALL(TARGETS ros_bridge EXPORT ${TARGETS_EXPORT_NAME} DESTINATION lib)
88-
ENDIF(NOT INSTALL_PYTHON_INTERFACE_ONLY)
64+
include/${PROJECT_NAME}/fwd.hh
65+
include/${PROJECT_NAME}/ros_init.hh
66+
include/${PROJECT_NAME}/sot_loader.hh
67+
include/${PROJECT_NAME}/sot_loader_basic.hh
68+
include/${PROJECT_NAME}/ros_interpreter.hh
69+
src/converter.hh
70+
src/sot_to_ros.hh)
71+
72+
set(${PROJECT_NAME}_SOURCES src/ros_init.cpp src/sot_to_ros.cpp
73+
src/ros_parameter.cpp)
74+
75+
add_library(ros_bridge SHARED ${${PROJECT_NAME}_SOURCES}
76+
${${PROJECT_NAME}_HEADERS})
77+
target_include_directories(ros_bridge SYSTEM PUBLIC ${catkin_INCLUDE_DIRS})
78+
target_include_directories(ros_bridge PUBLIC $<INSTALL_INTERFACE:include>)
79+
target_link_libraries(ros_bridge ${catkin_LIBRARIES} sot-core::sot-core
80+
pinocchio::pinocchio dynamic_graph_bridge_msgs::dynamic_graph_bridge_msgs)
81+
82+
if(SUFFIX_SO_VERSION)
83+
set_target_properties(ros_bridge PROPERTIES SOVERSION ${PROJECT_VERSION})
84+
endif(SUFFIX_SO_VERSION)
85+
86+
if(NOT INSTALL_PYTHON_INTERFACE_ONLY)
87+
install(
88+
TARGETS ros_bridge
89+
EXPORT ${TARGETS_EXPORT_NAME}
90+
DESTINATION lib)
91+
endif(NOT INSTALL_PYTHON_INTERFACE_ONLY)
8992

9093
add_subdirectory(src)
9194
add_subdirectory(tests)
9295

93-
#install ros executables
94-
install(PROGRAMS
95-
scripts/robot_pose_publisher
96-
scripts/run_command
97-
scripts/tf_publisher
98-
DESTINATION share/${PROJECT_NAME}
99-
)
96+
# install ros executables
97+
install(PROGRAMS scripts/robot_pose_publisher scripts/run_command
98+
scripts/tf_publisher DESTINATION share/${PROJECT_NAME})
10099

101100
# Install package information
102101
install(FILES manifest.xml package.xml DESTINATION share/${PROJECT_NAME})

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
dynamic-graph bindings
2-
======================
1+
# Dynamic Graph bindings
32

4-
[![Building Status](https://travis-ci.org/stack-of-tasks/dynamic_graph_bridge.svg?branch=master)](https://travis-ci.org/stack-of-tasks/dynamic_graph_bridge)
53
[![Pipeline status](https://gitlab.laas.fr/stack-of-tasks/dynamic_graph_bridge/badges/master/pipeline.svg)](https://gitlab.laas.fr/stack-of-tasks/dynamic_graph_bridge/commits/master)
6-
[![Coverage report](https://gitlab.laas.fr/stack-of-tasks/dynamic_graph_bridge/badges/master/coverage.svg?job=doc-coverage)](http://projects.laas.fr/gepetto/doc/stack-of-tasks/dynamic_graph_bridge/master/coverage/)
4+
[![Coverage report](https://gitlab.laas.fr/stack-of-tasks/dynamic_graph_bridge/badges/master/coverage.svg?job=doc-coverage)](https://gepettoweb.laas.fr/doc/stack-of-tasks/dynamic_graph_bridge/master/coverage/)
5+
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
6+
[![pre-commit.ci status](https://results.pre-commit.ci/badge/github/stack-of-tasks/dynamic_graph_bridge/master.svg)](https://results.pre-commit.ci/latest/github/stack-of-tasks/dynamic_graph_bridge)
77

88
This ROS package binds together the ROS framework with the
99
dynamic-graph real-time control architecture.

cmake

Submodule cmake updated 101 files

doc/Doxyfile.extra.in

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,2 @@
11
INPUT = @PROJECT_SOURCE_DIR@/include \
22
@PROJECT_SOURCE_DIR@/doc
3-

include/dynamic_graph_bridge/fwd.hh

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@
1212
#include <dynamic-graph/fwd.hh>
1313

1414
namespace dynamicgraph {
15-
// classes defined in sot-core
16-
class Interpreter;
17-
typedef std::shared_ptr<Interpreter> InterpreterPtr_t;
18-
}// namespace dynamicgraph
15+
// classes defined in sot-core
16+
class Interpreter;
17+
typedef std::shared_ptr<Interpreter> InterpreterPtr_t;
18+
} // namespace dynamicgraph
1919

20-
#endif // DYNAMIC_GRAPH_PYTHON_FWD_HH
20+
#endif // DYNAMIC_GRAPH_PYTHON_FWD_HH

include/dynamic_graph_bridge/ros_init.hh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
#include <ros/ros.h>
44

55
namespace dynamicgraph {
6-
ros::NodeHandle& rosInit(bool createAsyncSpinner = false, bool createMultiThreadSpinner = true);
6+
ros::NodeHandle& rosInit(bool createAsyncSpinner = false,
7+
bool createMultiThreadSpinner = true);
78

89
/// \brief Return spinner or throw an exception if spinner
910
/// creation has been disabled at startup.

include/dynamic_graph_bridge/ros_interpreter.hh

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,11 @@
55
#include <ros/ros.h>
66
#pragma GCC diagnostic pop
77

8-
#include <dynamic_graph_bridge/fwd.hh>
98
#include <dynamic_graph_bridge_msgs/RunCommand.h>
109
#include <dynamic_graph_bridge_msgs/RunPythonFile.h>
10+
1111
#include <dynamic-graph/python/interpreter.hh>
12+
#include <dynamic_graph_bridge/fwd.hh>
1213

1314
namespace dynamicgraph {
1415
/// \brief This class wraps the implementation of the runCommand
@@ -19,19 +20,22 @@ namespace dynamicgraph {
1920
/// the outside.
2021
class Interpreter {
2122
public:
22-
typedef boost::function<bool(dynamic_graph_bridge_msgs::RunCommand::Request&,
23-
dynamic_graph_bridge_msgs::RunCommand::Response&)>
23+
typedef boost::function<bool(
24+
dynamic_graph_bridge_msgs::RunCommand::Request&,
25+
dynamic_graph_bridge_msgs::RunCommand::Response&)>
2426
runCommandCallback_t;
2527

26-
typedef boost::function<bool(dynamic_graph_bridge_msgs::RunPythonFile::Request&,
27-
dynamic_graph_bridge_msgs::RunPythonFile::Response&)>
28+
typedef boost::function<bool(
29+
dynamic_graph_bridge_msgs::RunPythonFile::Request&,
30+
dynamic_graph_bridge_msgs::RunPythonFile::Response&)>
2831
runPythonFileCallback_t;
2932

3033
explicit Interpreter(ros::NodeHandle& nodeHandle);
3134

3235
/// \brief Method to start python interpreter and deal with messages.
3336
/// \param Command string to execute, result, stdout, stderr strings.
34-
void runCommand(const std::string& command, std::string& result, std::string& out, std::string& err);
37+
void runCommand(const std::string& command, std::string& result,
38+
std::string& out, std::string& err);
3539

3640
/// \brief Method to parse python scripts.
3741
/// \param Input file name to parse.
@@ -46,8 +50,9 @@ class Interpreter {
4650
dynamic_graph_bridge_msgs::RunCommand::Response& res);
4751

4852
/// \brief Run a Python file.
49-
bool runPythonFileCallback(dynamic_graph_bridge_msgs::RunPythonFile::Request& req,
50-
dynamic_graph_bridge_msgs::RunPythonFile::Response& res);
53+
bool runPythonFileCallback(
54+
dynamic_graph_bridge_msgs::RunPythonFile::Request& req,
55+
dynamic_graph_bridge_msgs::RunPythonFile::Response& res);
5156

5257
private:
5358
python::Interpreter interpreter_;

0 commit comments

Comments
 (0)