Skip to content

Commit e691aae

Browse files
author
Javier Gil Aviles
committed
Refs #22788: Apply review changes and corrections for tests
Signed-off-by: Javier Gil Aviles <javiergil@eprosima.com>
1 parent 2019a52 commit e691aae

14 files changed

Lines changed: 110 additions & 113 deletions

File tree

.github/docker/ddsenabler/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ RUN mkdir src && \
6161
cd src/ddspipe && git checkout ${ddspipe_branch} && cd ../.. && \
6262
cd src/ddsenabler && git checkout ${ddsenabler_branch} && cd ../.. && \
6363
cp -r src/fastdds/examples/cpp/configuration src/. && \
64-
colcon build --packages-skip ddsenabler --event-handlers console_direct+ --cmake-args -DLOG_INFO=ON -DSECURITY=ON && \
64+
colcon build --packages-skip ddsenabler ddsenabler_docs --event-handlers console_direct+ --cmake-args -DLOG_INFO=ON -DSECURITY=ON && \
6565
colcon build --packages-select ddsenabler --event-handlers console_direct+ --cmake-args -DLOG_INFO=ON -DCOMPILE_EXAMPLES=ON
6666

6767
COPY run.bash /root/run.bash

.github/workflows/reusable-ubuntu-ci.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -199,3 +199,5 @@ jobs:
199199

200200
- name: Python Linter
201201
uses: eProsima/eProsima-CI/ubuntu/python_linter@v0
202+
with:
203+
file_extensions_grep_args: "-e '^(?!ddsenabler_docs/).+\\.py$'"

.gitignore

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,11 @@ log/
5656
.vscode
5757

5858
### Documentation ###
59-
docs/rst/_static/css/online_eprosima_rtd_theme.css
60-
59+
ddsenabler_docs/docs/rst/_static/css/online_eprosima_rtd_theme.css
60+
ddsenabler_docs/docs/_static/css/eprosima-furo.css
61+
ddsenabler_docs/docs/_static/eprosima-logo-white.png
62+
ddsenabler_docs/docs/_static/dds-enabler-logo.png
63+
ddsenabler_docs/docs/_templates/sidebar/commercial-support.html
6164

6265
### Python ###
6366
# Precompile files

README.md

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -40,26 +40,27 @@
4040
- **Flexible YAML Configuration**
4141
Fine-tune QoS, network filters, topic allow-listing/deny-listing and discovery via a human-readable YAML file.
4242
- **Dynamic Types via XTypes**
43-
Leverage `OMG DDS-XTypes 1.3 <https://www.omg.org/spec/DDS-XTypes/1.3>`_ and Fast DDS serialization utilities for runtime type registration and discovery.
43+
Leverage [OMG DDS-XTypes 1.3](https://www.omg.org/spec/DDS-XTypes/1.3) and Fast DDS serialization utilities for runtime type registration and discovery.
4444
- **Core Engine Powered by DDS-Pipe**
45-
Built on `eProsima DDS Pipe <https://github.com/eProsima/DDS-Pipe>`_, ensuring low-latency, high-throughput payload forwarding and reliable discovery across distributed systems.
45+
Built on [eProsima DDS Pipe](https://github.com/eProsima/DDS-Pipe), ensuring low-latency, high-throughput payload forwarding and reliable discovery across distributed systems.
4646
- **Serialization Utilities**
47-
Convert DDS data to JSON for REST integration and to human-readable IDL; JSON→DDS deserializer support is in development.
47+
Convert DDS data to JSON and vice versa for REST integration and to human-readable IDL.
4848
- **Bidirectional FIWARE Integration**
4949
Routes DDS samples to NGSI-LD Context Brokers and injects context updates back into DDS topics.
5050

5151
![DDS Enabler Architecture](docs/rst/figures/ddsenabler_architecture.png)
5252

5353
## Commercial support
5454

55-
Looking for professional support or custom integration?
56-
Contact us at **info@eprosima.com** or raise an issue on GitHub.
55+
Looking for commercial support? Write us to info@eprosima.com
56+
57+
Find more about us at [eProsima’s webpage](https://eprosima.com/).
5758

5859
## Documentation
5960

60-
Explore the full user and developer guide hosted on Read the Docs:
61+
Explore the full user and developer guide hosted on ReadTheDocs:
6162

62-
- [Introduction](https://dds-enabler.readthedocs.io/en/latest/rst/formalia/titlepage.html)
63+
- [Introduction](https://dds-enabler.readthedocs.io/en/latest/rst/02-formalia/titlepage.html)
6364
- [Project Overview](https://dds-enabler.readthedocs.io/en/latest/rst/getting_started/project_overview.html)
6465
- [User Manual](https://dds-enabler.readthedocs.io/en/latest/rst/user_manual/context_broker_interface.html)
6566
- [API Reference](https://dds-enabler.readthedocs.io/en/latest/rst/ddsenabler/api_reference/api_reference.html)

ddsenabler_docs/CMakeLists.txt

Lines changed: 83 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -45,90 +45,75 @@ project(
4545
####################################################################################################
4646
# Build Doxygen documentation
4747
####################################################################################################
48-
49-
find_package(ddsenabler REQUIRED)
50-
get_target_property(ENABLER_INCLUDE_DIR ddsenabler INTERFACE_INCLUDE_DIRECTORIES)
51-
52-
find_package(ddsenabler_participants REQUIRED)
53-
get_target_property(PARTICIPANTS_INCLUDE_DIR ddsenabler_participants INTERFACE_INCLUDE_DIRECTORIES)
54-
55-
message(STATUS "DDS Enabler include directories: ${ENABLER_INCLUDE_DIR} ; ${PARTICIPANTS_INCLUDE_DIR}")
56-
set(SRC_FILE "${PARTICIPANTS_INCLUDE_DIR}/ddsenabler_participants/CBCallbacks.hpp")
57-
set(DST_DIR "${ENABLER_INCLUDE_DIR}/ddsenabler")
58-
file(COPY ${SRC_FILE} DESTINATION ${DST_DIR})
59-
# Collect all public headers
60-
file(GLOB_RECURSE HPP_FILES
61-
"${ENABLER_INCLUDE_DIR}/ddsenabler/**/*.h*"
62-
)
63-
64-
find_package(Doxygen REQUIRED)
65-
# Create doxygen directories
66-
add_custom_target(doc-dirs
67-
COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR}/doxygen
68-
COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR}/html
69-
COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR}/html/doxygen
70-
COMMENT "Creating documentation directories" VERBATIM)
71-
72-
# Doxygen related variables
73-
set(DOXYGEN_INPUT_DIR
74-
"${ENABLER_INCLUDE_DIR}/ddsenabler"
75-
)
76-
# convert CMake list (;) to space-separated for Doxygen
77-
string(REPLACE ";" " " DOXYGEN_INPUT_DIR "${DOXYGEN_INPUT_DIR}")
78-
79-
set(DOXYGEN_OUTPUT_DIR "${PROJECT_BINARY_DIR}/doxygen")
80-
set(DOXYGEN_INDEX_FILE "${PROJECT_BINARY_DIR}/doxygen/xml/index.xml")
81-
set(DOXYFILE_IN "${CMAKE_CURRENT_SOURCE_DIR}/code/Doxyfile.in")
82-
set(DOXYFILE_OUT ${PROJECT_BINARY_DIR}/Doxyfile)
83-
84-
# Configure doxygen
85-
configure_file(${DOXYFILE_IN} ${DOXYFILE_OUT} @ONLY)
86-
87-
# Doxygen command
88-
add_custom_command(OUTPUT ${DOXYGEN_INDEX_FILE}
89-
COMMAND ${DOXYGEN_EXECUTABLE} ${DOXYFILE_OUT}
90-
DEPENDS ${HPP_FILES}
91-
MAIN_DEPENDENCY ${DOXYFILE_OUT} ${DOXYFILE_IN}
92-
COMMENT "Generating doxygen documentation")
93-
94-
# Generate API reference
95-
add_custom_target(doxygen ALL
96-
DEPENDS ${DOXYGEN_INDEX_FILE}
97-
COMMENT "Generated API documentation with doxygen" VERBATIM)
98-
add_dependencies(doxygen doc-dirs)
99-
100-
# Install doxygen generated XML files
101-
install(DIRECTORY ${PROJECT_BINARY_DIR}/doxygen/xml
102-
DESTINATION doxygen)
103-
104-
105-
####################################################################################################
106-
# Find Sphinx
107-
####################################################################################################
108-
set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/code/cmake" ${CMAKE_MODULE_PATH})
109-
find_package(Sphinx REQUIRED)
110-
111-
####################################################################################################
112-
# Compile code used in documentation
113-
####################################################################################################
114-
# Option to compile documentation tests
115-
option(COMPILE_TESTS "Compile DDS Enabler docs tests" ON)
116-
if(COMPILE_TESTS)
117-
# CTest needs to be included here, otherwise it is not possible to run the tests from the root
118-
# of the build directory
119-
enable_testing()
120-
include(CTest)
121-
add_subdirectory(code)
122-
endif()
123-
124-
####################################################################################################
125-
# Build Sphinx documentation
126-
####################################################################################################
127-
# It is possible to build and run tests without generating the documentation output. This saves time
128-
# while developing, since generating the documentation from the RSTs takes quite some time.
129-
set(SPHINX_SOURCE "${CMAKE_SOURCE_DIR}/docs")
130-
option(BUILD_DOCUMENTATION "Generate documentation" ON)
131-
if (BUILD_DOCUMENTATION)
48+
if (BUILD_DOCS)
49+
find_package(ddsenabler REQUIRED)
50+
get_target_property(ENABLER_INCLUDE_DIR ddsenabler INTERFACE_INCLUDE_DIRECTORIES)
51+
52+
find_package(ddsenabler_participants REQUIRED)
53+
get_target_property(PARTICIPANTS_INCLUDE_DIR ddsenabler_participants INTERFACE_INCLUDE_DIRECTORIES)
54+
55+
message(STATUS "DDS Enabler include directories: ${ENABLER_INCLUDE_DIR} ; ${PARTICIPANTS_INCLUDE_DIR}")
56+
set(SRC_FILE "${PARTICIPANTS_INCLUDE_DIR}/ddsenabler_participants/CBCallbacks.hpp")
57+
set(DST_DIR "${ENABLER_INCLUDE_DIR}/ddsenabler")
58+
file(COPY ${SRC_FILE} DESTINATION ${DST_DIR})
59+
# Collect all public headers
60+
file(GLOB_RECURSE HPP_FILES
61+
"${ENABLER_INCLUDE_DIR}/ddsenabler/**/*.h*"
62+
)
63+
64+
find_package(Doxygen REQUIRED)
65+
# Create doxygen directories
66+
add_custom_target(doc-dirs
67+
COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR}/doxygen
68+
COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR}/html
69+
COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR}/html/doxygen
70+
COMMENT "Creating documentation directories" VERBATIM)
71+
72+
# Doxygen related variables
73+
set(DOXYGEN_INPUT_DIR
74+
"${ENABLER_INCLUDE_DIR}/ddsenabler"
75+
)
76+
# convert CMake list (;) to space-separated for Doxygen
77+
string(REPLACE ";" " " DOXYGEN_INPUT_DIR "${DOXYGEN_INPUT_DIR}")
78+
79+
set(DOXYGEN_OUTPUT_DIR "${PROJECT_BINARY_DIR}/doxygen")
80+
set(DOXYGEN_INDEX_FILE "${PROJECT_BINARY_DIR}/doxygen/xml/index.xml")
81+
set(DOXYFILE_IN "${CMAKE_CURRENT_SOURCE_DIR}/code/Doxyfile.in")
82+
set(DOXYFILE_OUT ${PROJECT_BINARY_DIR}/Doxyfile)
83+
84+
# Configure doxygen
85+
configure_file(${DOXYFILE_IN} ${DOXYFILE_OUT} @ONLY)
86+
87+
# Doxygen command
88+
add_custom_command(OUTPUT ${DOXYGEN_INDEX_FILE}
89+
COMMAND ${DOXYGEN_EXECUTABLE} ${DOXYFILE_OUT}
90+
DEPENDS ${HPP_FILES}
91+
MAIN_DEPENDENCY ${DOXYFILE_OUT} ${DOXYFILE_IN}
92+
COMMENT "Generating doxygen documentation")
93+
94+
# Generate API reference
95+
add_custom_target(doxygen ALL
96+
DEPENDS ${DOXYGEN_INDEX_FILE}
97+
COMMENT "Generated API documentation with doxygen" VERBATIM)
98+
add_dependencies(doxygen doc-dirs)
99+
100+
# Install doxygen generated XML files
101+
install(DIRECTORY ${PROJECT_BINARY_DIR}/doxygen/xml
102+
DESTINATION doxygen)
103+
104+
105+
####################################################################################################
106+
# Find Sphinx
107+
####################################################################################################
108+
set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/code/cmake" ${CMAKE_MODULE_PATH})
109+
find_package(Sphinx REQUIRED)
110+
111+
####################################################################################################
112+
# Build Sphinx documentation
113+
####################################################################################################
114+
# It is possible to build and run tests without generating the documentation output. This saves time
115+
# while developing, since generating the documentation from the RSTs takes quite some time.
116+
set(SPHINX_SOURCE "${CMAKE_SOURCE_DIR}/docs")
132117

133118
# CMake project always build the documentaion using HTML builder. Users can always build with
134119
# other builders using sphinx directly
@@ -159,3 +144,17 @@ if (BUILD_DOCUMENTATION)
159144
"eProsima DDS Enabler documetation in ${DDSENABLER_DOCS_BUILDER} format")
160145
set(CPACK_COMPONENTS_ALL ${CPACK_COMPONENTS_ALL} ${DDSENABLER_DOCS_BUILDER})
161146
endif()
147+
148+
###############################################################################
149+
# Test
150+
###############################################################################
151+
# Compile tests if CMake options requires it
152+
compile_test_documentation(
153+
"${PROJECT_SOURCE_DIR}/test" # Test directory
154+
)
155+
156+
###############################################################################
157+
# Packaging
158+
###############################################################################
159+
# Install package
160+
eprosima_packaging()
File renamed without changes.

ddsenabler_docs/docs/formalia/titlepage.rst renamed to ddsenabler_docs/docs/02-formalia/titlepage.rst

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -44,22 +44,22 @@ Key characteristics include:
4444
- **Real-time publish-subscribe middleware**: Built on the DDS standard, enabling low-latency and reliable communication.
4545
- **Seamless OT/IT integration**: Acts as a translator between DDS-based systems and NGSI-LD context brokers.
4646
- **ROS 2 and FIWARE compatibility**: Enables industrial robots and context-aware applications to operate through the same infrastructure.
47-
- **Scalable and extensible architecture**: Fully compatible with modern I4.0 deployments, providing flexibility for growth and adaptation.
47+
- **Scalable and extensible architecture**: Fully compatible with modern Industry 5.0 deployments, providing flexibility for growth and adaptation.
4848

4949
Under the hood, DDS Enabler also provides:
5050

51-
- **Transparent DDS Management**
51+
- **Transparent DDS Management.**
5252
Auto-create and discover DomainParticipants, Publishers, Subscribers, topics and types without manual code.
53-
- **Flexible YAML Configuration**
53+
- **Flexible YAML Configuration.**
5454
Fine-tune QoS, network filters and discovery through a human-readable YAML file.
55-
- **Dynamic Types via XTypes**
55+
- **Dynamic Types via XTypes.**
5656
Leverage `OMG DDS-XTypes 1.3 <https://www.omg.org/spec/DDS-XTypes/1.3>`_ and Fast DDS serialization utilities for
5757
on-the-fly type registration.
58-
- **Core Engine Powered by DDS-Pipe**
58+
- **Core Engine Powered by DDS-Pipe.**
5959
Built on `eProsima DDS Pipe <https://github.com/eProsima/DDS-Pipe>`_, ensuring high throughput and reliable
6060
participant discovery.
61-
- **Serialization Utilities**
62-
Convert DDS data to JSON and IDL strings, with JSON→DDS deserialization under development.
61+
- **Serialization Utilities.**
62+
Convert DDS data to JSON and vice versa for REST integration and to human-readable IDL.
6363

6464
DDS Enabler is a flagship component of the ARISE project:
6565
`ARISE Middleware <https://arise-middleware.eu/>`_.
File renamed without changes.
File renamed without changes.

ddsenabler_docs/docs/_templates/sidebar/commercial-support.html

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

0 commit comments

Comments
 (0)