Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Changes to build against Fast DDS 3.0 #776

Open
wants to merge 7 commits into
base: rolling
Choose a base branch
from

Conversation

MiguelCompany
Copy link
Collaborator

@MiguelCompany MiguelCompany commented Sep 6, 2024

This PR brings in the necessary changes to build against Fast DDS 3.0.x

It has been reviewed by the eProsima Team in eProsima#32

Part of ros2/ros2#1598

Copy link
Collaborator

@fujitatomoya fujitatomoya left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@MiguelCompany DCO is missing, can you check that?

Copy link
Contributor

@clalancette clalancette left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've left two minor questions.

Otherwise, this tentatively looks good to me, but I'd like to see full CI, including Windows Debug and a clang run.

@@ -38,10 +38,8 @@ find_package(rmw_dds_common REQUIRED)
find_package(rmw_fastrtps_shared_cpp REQUIRED)
find_package(tracetools REQUIRED)

find_package(fastrtps_cmake_module REQUIRED)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need to keep fastrtps_cmake_module around at all, or should we look at removing that package entirely?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This might be removed.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@@ -234,263 +250,234 @@ _create_type_name(const MembersType * members)
std::string message_namespace(members->message_namespace_);
std::string message_name(members->message_name_);
if (!message_namespace.empty()) {
// Find and replace C namespace separator with C++, in case this is using C typesupport
message_namespace = rcpputils::find_and_replace(message_namespace, "__", "::");
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you explain a little bit more of why this is needed now?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is needed to ensure same type coming from Python or C++ is the same type at DDS X-Types level. Without this a Python application will register a different DDS-XTypes TypeObject and maybe won't communicate with a C++ application.

This rename is already done in other places like MessageTypeSupport_impl.

Mario-DL and others added 7 commits October 16, 2024 08:10
* Fast DDS 3.0: First commit

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

* Fast DDS 3.0: continue

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

* Refs #21322: rmw_fastrtps_shared_cpp: update headers

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #21322: rmw_fastrtps_shared_cpp: move namespace from fastrtps to fastdds

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #21322: rmw_fastrtps_shared_cpp: Update export macro to FASTDDS

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #21322: rmw_fastrtps_shared_cpp: Revert header guard to the same name as the package name

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #21322: rmw_fastrtps_shared_cpp: Update ReturnCode_t

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #21322: rmw_fastrtps_shared_cpp: remove deprecated test

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #21322: rmw_fastrtps_shared_cpp: Update representation in test

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #21322: rmw_fastrtps_shared_cpp: Update is_plain() call

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #21322: rmw_fastrtps_shared_cpp: Update cmake extra dependencies to Fast 3.0.0 and doxygen predefied macro

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #21322: rmw_fastrtps_shared_cpp: TODO continue. Register type identifies if not registered

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #21322: rmw_fastrtps_dynamic_cpp: update headers

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #21322: rmw_fastrtps_dynamic_cpp: update to topicdatatype refactor

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #21322: rmw_fastrtps_dynamic_cpp: Update ReturnCode_t

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #21322: rmw_fastrtps_dynamic_cpp: move namespace from fastrtps to fastdds

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #21322: rmw_fastrtps_cpp: typo in CMakeLists.txt

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #21322: rmw_fastrtps_cpp: Typesupport receives rosidl_message_typesupport in construction

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #21322: rmw_fastrtps_cpp: update headers

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #21322: rmw_fastrtps_cpp: update to topicdatatype refactor

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #21322: rmw_fastrtps_cpp: Update ReturnCode_t

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #21322: rmw_fastrtps_cpp: move namespace from fastrtps to fastdds

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #21322: rmw_fastrtps_cpp: update rme_dynamic_message methods to fastdds

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #21322: rmw_fastrtps_cpp: use register_type_object_representation() method

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #21322: rmw_fastrtps_cpp: subscirption: cast to DynamicType::_ref_type

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #21322: rmw_fastrtps_cpp: required fastdds 3.0 in cmake extras

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #21322: rmw_fastrtps_shared_cpp: getter for ros msg typesupports

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #21322: rmw_fastrtps_shared_cpp: check return codes in write() operations

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #21322: rmw_fastrtps_shared_cpp: complete GetTypeIdentifiers() and solve minor warnings

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #21322: rmw_fastrtps_dynamic_cpp: required fastdds 3.0 in cmake extras

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #21322: rmw_fastrtps_dynamic_cpp: update typesupport

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #21322: rmw_fastrtps_dynamic_cpp: update headers and namespaces

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #21322. Fixes

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

* Refs #21322: Apply rev suggestions

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #21322: rmw_fastrtps_shared_cpp: linters

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #21322: rmw_fastrtps_dynamic_cpp: linters

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #21322: rmw_fastrtps_cpp: linters

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

---------

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>
Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>
Co-authored-by: Ricardo González Moreno <ricardo@richiware.dev>

Signed-off-by: Mario Domínguez López <116071334+Mario-DL@users.noreply.github.com>
Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>
Signed-off-by: Miguel Company <miguelcompany@eprosima.com>
Signed-off-by: Ricardo González <ricardo@richiware.dev>
Signed-off-by: Ricardo González <ricardo@richiware.dev>
@bshantam97
Copy link

@MiguelCompany Hello, when will the FastDDS3 RMW Changes be merged with ROS2?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants