Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions .github/workflows/identify-ros-distro.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,18 +27,18 @@ jobs:
run: |
if ${ROLLING_VAR} == true; then
echo "::set-output name=distro::rolling"
echo "::set-output name=linuxos::ubuntu-24.04"
echo "::set-output name=linuxos::ubuntu:24.04"
elif ${JAZZY_VAR} == true; then
echo "::set-output name=distro::jazzy"
echo "::set-output name=linuxos::ubuntu-24.04"
echo "::set-output name=linuxos::ubuntu:24.04"
elif ${IRON_VAR} == true; then
echo "::set-output name=distro::iron"
echo "::set-output name=linuxos::ubuntu-22.04"
echo "::set-output name=linuxos::ubuntu:22.04"
elif ${HUMBLE_VAR} == true; then
echo "::set-output name=distro::humble"
echo "::set-output name=linuxos::ubuntu-22.04"
echo "::set-output name=linuxos::ubuntu:22.04"
else
echo "Unable to map branch name to ROS distro, using ROLLING as default"
echo "::set-output name=distro::rolling"
echo "::set-output name=linuxos::ubuntu-24.04"
echo "::set-output name=linuxos::ubuntu:24.04"
fi
6 changes: 4 additions & 2 deletions .github/workflows/linux-build-and-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,9 @@ jobs:

build:
needs: identify-ros-distro
runs-on: ${{ needs.identify-ros-distro.outputs.linuxos }}
runs-on: ubuntu-latest
container:
image: osrf/ros:${{ needs.identify-ros-distro.outputs.distro }}-desktop
image: ${{ needs.identify-ros-distro.outputs.linuxos }}
strategy:
fail-fast: false
matrix:
Expand All @@ -39,6 +39,8 @@ jobs:

- name: Setup ROS2
uses: ros-tooling/[email protected]
with:
required-ros-distributions: ${{ needs.identify-ros-distro.outputs.distro }}

- name: Install test-msgs on Linux
run: |
Expand Down
12 changes: 12 additions & 0 deletions binding.gyp
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,20 @@
'./src/handle_manager.cpp',
'./src/rcl_action_bindings.cpp',
'./src/rcl_bindings.cpp',
'./src/rcl_client_bindings.cpp',
'./src/rcl_context_bindings.cpp',
'./src/rcl_graph_bindings.cpp',
'./src/rcl_guard_condition_bindings.cpp',
'./src/rcl_handle.cpp',
'./src/rcl_lifecycle_bindings.cpp',
'./src/rcl_logging_bindings.cpp',
'./src/rcl_names_bindings.cpp',
'./src/rcl_node_bindings.cpp',
'./src/rcl_publisher_bindings.cpp',
'./src/rcl_service_bindings.cpp',
'./src/rcl_subscription_bindings.cpp',
'./src/rcl_time_point_bindings.cpp',
'./src/rcl_timer_bindings.cpp',
'./src/rcl_utilities.cpp',
'./src/shadow_node.cpp',
],
Expand Down
30 changes: 27 additions & 3 deletions src/addon.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,20 @@
#include "macros.h"
#include "rcl_action_bindings.h"
#include "rcl_bindings.h"
#include "rcl_client_bindings.h"
#include "rcl_context_bindings.h"
#include "rcl_graph_bindings.h"
#include "rcl_guard_condition_bindings.h"
#include "rcl_handle.h"
#include "rcl_lifecycle_bindings.h"
#include "rcl_logging_bindings.h"
#include "rcl_names_bindings.h"
#include "rcl_node_bindings.h"
#include "rcl_publisher_bindings.h"
#include "rcl_service_bindings.h"
#include "rcl_subscription_bindings.h"
#include "rcl_time_point_bindings.h"
#include "rcl_timer_bindings.h"
#include "rcl_utilities.h"
#include "shadow_node.h"

Expand Down Expand Up @@ -47,11 +59,23 @@ Napi::Object InitModule(Napi::Env env, Napi::Object exports) {
}
#endif

// Init the C++ bindings.
rclnodejs::StoreEnv(env);
// Init the C++ bindings.
rclnodejs::InitBindings(env, exports);
rclnodejs::InitAction(env, exports);
rclnodejs::InitLifecycle(env, exports);
rclnodejs::InitClientBindings(env, exports);
rclnodejs::InitContextBindings(env, exports);
rclnodejs::InitGraphBindings(env, exports);
rclnodejs::InitGuardConditionBindings(env, exports);
rclnodejs::InitLoggingBindings(env, exports);
rclnodejs::InitNamesBindings(env, exports);
rclnodejs::InitNodeBindings(env, exports);
rclnodejs::InitPublisherBindings(env, exports);
rclnodejs::InitServiceBindings(env, exports);
rclnodejs::InitSubscriptionBindings(env, exports);
rclnodejs::InitTimePointBindings(env, exports);
rclnodejs::InitTimerBindings(env, exports);
rclnodejs::InitActionBindings(env, exports);
rclnodejs::InitLifecycleBindings(env, exports);
rclnodejs::ShadowNode::Init(env, exports);
rclnodejs::RclHandle::Init(env, exports);

Expand Down
3 changes: 1 addition & 2 deletions src/rcl_action_bindings.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@

#include <memory>
#include <string>
#include <vector>

#include "handle_manager.h"
#include "macros.h"
Expand Down Expand Up @@ -775,7 +774,7 @@ Napi::Value ActionGetNamesAndTypes(const Napi::CallbackInfo& info) {
return result_list;
}

Napi::Object InitAction(Napi::Env env, Napi::Object exports) {
Napi::Object InitActionBindings(Napi::Env env, Napi::Object exports) {
exports.Set("actionCreateClient",
Napi::Function::New(env, ActionCreateClient));
exports.Set("actionCreateServer",
Expand Down
40 changes: 1 addition & 39 deletions src/rcl_action_bindings.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,48 +16,10 @@
#define SRC_RCL_ACTION_BINDINGS_H_

#include <napi.h>
#include <rcl_action/rcl_action.h>

#include <memory>
#include <string>
#include <vector>

#include "rcl_bindings.h"

namespace rclnodejs {

Napi::Value ActionCreateClient(const Napi::CallbackInfo& info);
Napi::Value ActionCreateServer(const Napi::CallbackInfo& info);
Napi::Value ActionServerIsAvailable(const Napi::CallbackInfo& info);
Napi::Value ActionSendGoalRequest(const Napi::CallbackInfo& info);
Napi::Value ActionTakeGoalRequest(const Napi::CallbackInfo& info);
Napi::Value ActionSendGoalResponse(const Napi::CallbackInfo& info);
Napi::Value ActionTakeGoalResponse(const Napi::CallbackInfo& info);
Napi::Value ActionSendCancelRequest(const Napi::CallbackInfo& info);
Napi::Value ActionTakeCancelRequest(const Napi::CallbackInfo& info);
Napi::Value ActionSendCancelResponse(const Napi::CallbackInfo& info);
Napi::Value ActionTakeCancelResponse(const Napi::CallbackInfo& info);
Napi::Value ActionSendResultRequest(const Napi::CallbackInfo& info);
Napi::Value ActionTakeResultRequest(const Napi::CallbackInfo& info);
Napi::Value ActionSendResultResponse(const Napi::CallbackInfo& info);
Napi::Value ActionTakeResultResponse(const Napi::CallbackInfo& info);
Napi::Value ActionAcceptNewGoal(const Napi::CallbackInfo& info);
Napi::Value ActionUpdateGoalState(const Napi::CallbackInfo& info);
Napi::Value ActionPublishStatus(const Napi::CallbackInfo& info);
Napi::Value ActionTakeStatus(const Napi::CallbackInfo& info);
Napi::Value ActionGoalHandleIsActive(const Napi::CallbackInfo& info);
Napi::Value ActionNotifyGoalDone(const Napi::CallbackInfo& info);
Napi::Value ActionGoalHandleGetStatus(const Napi::CallbackInfo& info);
Napi::Value ActionPublishFeedback(const Napi::CallbackInfo& info);
Napi::Value ActionTakeFeedback(const Napi::CallbackInfo& info);
Napi::Value ActionProcessCancelRequest(const Napi::CallbackInfo& info);
Napi::Value ActionServerGoalExists(const Napi::CallbackInfo& info);
Napi::Value ActionExpireGoals(const Napi::CallbackInfo& info);
Napi::Value ActionGetClientNamesAndTypesByNode(const Napi::CallbackInfo& info);
Napi::Value ActionGetServerNamesAndTypesByNode(const Napi::CallbackInfo& info);
Napi::Value ActionGetNamesAndTypes(const Napi::CallbackInfo& info);

Napi::Object InitAction(Napi::Env env, Napi::Object exports);
Napi::Object InitActionBindings(Napi::Env env, Napi::Object exports);

} // namespace rclnodejs

Expand Down
Loading
Loading