Skip to content

Commit 7f97007

Browse files
committed
Run examples in Windows CI (#5397)
* Refs #21886: Bump windows ci image to 2022 Signed-off-by: Mario-DL <[email protected]> * Refs #21886: Add FASTDDS_EXAMPLE_TESTS=ON for windows ci tests Signed-off-by: Mario-DL <[email protected]> * Refs #21886: Add matched argument to hello_world example Signed-off-by: Mario Dominguez <[email protected]> * Refs #21886: Add Windows testing Dockerfile Signed-off-by: Mario-DL <[email protected]> * Refs #21886: Refactor CMakeLists example tests and hello_world compose Signed-off-by: Mario-DL <[email protected]> * Refs #21886: test_hello_world.py fix Signed-off-by: Mario-DL <[email protected]> * Refs #21886: Update docker compose file structure of the rest of examples Signed-off-by: Mario Dominguez <[email protected]> * Refs #21886: versions.md Signed-off-by: Mario Dominguez <[email protected]> --------- Signed-off-by: Mario-DL <[email protected]> Signed-off-by: Mario Dominguez <[email protected]> (cherry picked from commit 9c9078f)
1 parent acdd950 commit 7f97007

24 files changed

+424
-333
lines changed

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

+6-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ defaults:
3030

3131
jobs:
3232
reusable-windows-ci:
33-
runs-on: windows-2019
33+
runs-on: windows-2022
3434
strategy:
3535
fail-fast: false
3636
matrix:
@@ -141,8 +141,13 @@ jobs:
141141
colcon_build_args: ${{ inputs.colcon-args }}
142142
# The following Fast DDS CMake options need to be specified here instead of in the meta files
143143
# because they vary from platform to platform
144+
<<<<<<< HEAD
144145
cmake_args_default: ${{ inputs.cmake-args }} -T ${{ matrix.vs-toolset }} -DTHIRDPARTY_Asio=FORCE -DTHIRDPARTY_TinyXML2=FORCE -DTHIRDPARTY_fastcdr=OFF -DTHIRDPARTY_UPDATE=ON -DEPROSIMA_EXTRA_CMAKE_CXX_FLAGS="/MP /WX"
145146
cmake_build_type: ${{ matrix.cmake-config }}
147+
=======
148+
cmake_args_default: ${{ inputs.cmake-args }} -T ${{ matrix.vs-toolset }} -DTHIRDPARTY_Asio=FORCE -DTHIRDPARTY_TinyXML2=FORCE -DTHIRDPARTY_fastcdr=OFF -DTHIRDPARTY_UPDATE=ON -DFASTDDS_EXAMPLE_TESTS=ON -DEPROSIMA_EXTRA_CMAKE_CXX_FLAGS="/MP /WX"
149+
cmake_build_type: ${{ inputs.cmake-config }}
150+
>>>>>>> 9c9078ff8 (Run examples in Windows CI (#5397))
146151
workspace: ${{ github.workspace }}
147152

148153
- name: Test

examples/cpp/hello_world/CLIParser.hpp

+38
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ class CLIParser
4646
struct publisher_config
4747
{
4848
uint16_t samples = 0;
49+
uint16_t matched = 1;
4950
};
5051

5152
//! Subscriber application configuration structure
@@ -83,6 +84,9 @@ class CLIParser
8384
std::cout << " -s <num>, --samples <num> Number of samples to send or receive" << std::endl;
8485
std::cout << " [0 <= <num> <= 65535]" << std::endl;
8586
std::cout << " (Default: 0 [unlimited])" << std::endl;
87+
std::cout << "Publisher options:" << std::endl;
88+
std::cout << " -m, --matched Number of participants to discover" << std::endl;
89+
std::cout << " before start publishing (Default: 1)" << std::endl;
8690
std::cout << "Subscriber options:" << std::endl;
8791
std::cout << " -w, --waitset Use waitset & read condition" << std::endl;
8892
std::exit(return_code);
@@ -194,6 +198,40 @@ class CLIParser
194198
print_help(EXIT_FAILURE);
195199
}
196200
}
201+
else if (arg == "-m" || arg == "--matched")
202+
{
203+
try
204+
{
205+
int input = std::stoi(argv[++i]);
206+
if (input < std::numeric_limits<std::uint16_t>::min() ||
207+
input > std::numeric_limits<std::uint16_t>::max())
208+
{
209+
throw std::out_of_range("matched argument out of range");
210+
}
211+
else
212+
{
213+
if (config.entity == CLIParser::EntityKind::PUBLISHER)
214+
{
215+
config.pub_config.matched = static_cast<uint16_t>(input);
216+
}
217+
else
218+
{
219+
EPROSIMA_LOG_ERROR(CLI_PARSER, "matched can only be used with the publisher entity");
220+
print_help(EXIT_FAILURE);
221+
}
222+
}
223+
}
224+
catch (const std::invalid_argument& e)
225+
{
226+
EPROSIMA_LOG_ERROR(CLI_PARSER, "invalid sample argument for " + arg + ": " + e.what());
227+
print_help(EXIT_FAILURE);
228+
}
229+
catch (const std::out_of_range& e)
230+
{
231+
EPROSIMA_LOG_ERROR(CLI_PARSER, "sample argument out of range for " + arg + ": " + e.what());
232+
print_help(EXIT_FAILURE);
233+
}
234+
}
197235
else
198236
{
199237
EPROSIMA_LOG_ERROR(CLI_PARSER, "unknown option " + arg);

examples/cpp/hello_world/PublisherApp.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ PublisherApp::PublisherApp(
4747
, type_(new HelloWorldPubSubType())
4848
, matched_(0)
4949
, samples_(config.samples)
50+
, expected_matches_(config.matched)
5051
, stop_(false)
5152
{
5253
// Set up the data type with initial values
@@ -152,7 +153,7 @@ bool PublisherApp::publish()
152153
cv_.wait(matched_lock, [&]()
153154
{
154155
// at least one has been discovered
155-
return ((matched_ > 0) || is_stopped());
156+
return ((matched_ >= expected_matches_) || is_stopped());
156157
});
157158

158159
if (!is_stopped())

examples/cpp/hello_world/PublisherApp.hpp

+2
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,8 @@ class PublisherApp : public Application, public DataWriterListener
8282

8383
uint16_t samples_;
8484

85+
uint16_t expected_matches_;
86+
8587
std::mutex mutex_;
8688

8789
std::condition_variable cv_;

test/examples/CMakeLists.txt

+66-11
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,13 @@ set(SHELL_EXECUTABLE "")
2828
set(TINYXML2_LIB_DIR_COMPOSE_VOLUME "")
2929
set(TINYXML2_LIB_DIR_COMPOSE_LD_LIBRARY_PATH "")
3030

31+
# Configure TinyXML2 library path if installed in user library path
32+
if(NOT (TINYXML2_FROM_SOURCE OR TINYXML2_FROM_THIRDPARTY))
33+
get_filename_component(TINYXML2_LIB_DIR ${TINYXML2_LIBRARY} DIRECTORY)
34+
set(TINYXML2_LIB_DIR_COMPOSE_VOLUME "- ${TINYXML2_LIB_DIR}:${CMAKE_INSTALL_PREFIX}/${DATA_INSTALL_DIR}/fastdds:ro")
35+
set(TINYXML2_LIB_DIR_COMPOSE_LD_LIBRARY_PATH ":${CMAKE_INSTALL_PREFIX}/${DATA_INSTALL_DIR}/fastdds")
36+
endif()
37+
3138
# Linux configurations
3239
if(UNIX AND NOT(APPLE) AND NOT(QNXNTO) AND NOT(ANDROID))
3340
# Find bash
@@ -39,6 +46,21 @@ if(UNIX AND NOT(APPLE) AND NOT(QNXNTO) AND NOT(ANDROID))
3946
set(SHELL_EXECUTABLE ${BASH_EXECUTABLE})
4047
set(DOCKER_IMAGE_NAME "ubuntu:22.04")
4148

49+
set(PROJECT_BINARY_DIR_COMPOSE_VOLUME "${PROJECT_BINARY_DIR}:${PROJECT_BINARY_DIR}")
50+
set(fastcdr_LIB_DIR_COMPOSE_VOLUME "${fastcdr_LIB_DIR}:${fastcdr_LIB_DIR}")
51+
set(CMAKE_INSTALL_PREFIX_COMPOSE_VOLUME "${CMAKE_INSTALL_PREFIX}:${CMAKE_INSTALL_PREFIX}")
52+
53+
set(PATH_ENVIRONMENT_VARIABLE_COMPOSE "LD_LIBRARY_PATH: ${PROJECT_BINARY_DIR}/src/cpp:${fastcdr_LIB_DIR}")
54+
if (TINYXML2_LIB_DIR_COMPOSE_LD_LIBRARY_PATH)
55+
set(PATH_ENVIRONMENT_VARIABLE_COMPOSE "${PATH_ENVIRONMENT_VARIABLE_COMPOSE}${TINYXML2_LIB_DIR_COMPOSE_LD_LIBRARY_PATH}")
56+
endif()
57+
set(EXAMPLE_PREFIX_DIR_COMPOSE "${PROJECT_BINARY_DIR}/examples/cpp")
58+
set(EXAMPLE_SUFFIX_DIR_COMPOSE "")
59+
set(FASTDDS_DEFAULT_PROFILES_FILE_PREFIX_COMPOSE "${PROJECT_BINARY_DIR}/examples/cpp")
60+
set(COMMAND_EXAMPLE_DIR_PREFIX_COMPOSE "$\${EXAMPLE_DIR}")
61+
set(COMMAND_CONCATENATE_COMPOSE "&")
62+
set(COMMAND_BACKGROUND_JOB_COMPOSE "")
63+
4264
# Windows configurations
4365
elseif(WIN32)
4466
# Find pwsh
@@ -47,27 +69,60 @@ elseif(WIN32)
4769
message(FATAL_ERROR "pwsh not found")
4870
endif()
4971

50-
set(PWSH_EXECUTABLE ${BASH_EXECUTABLE})
72+
set(PWSH_VERSION_DOCKER "latest")
73+
set(SHELL_EXECUTABLE "C:/\"Program Files\"/PowerShell/${PWSH_VERSION_DOCKER}/pwsh.exe")
74+
5175
set(FILE_EXTENSION ".exe")
76+
set(DOCKER_IMAGE_NAME "windows-testing")
5277

53-
# We don't know which docker image to use for Windows yet
54-
message(FATAL_ERROR "Windows not supported yet")
78+
cmake_path(GET fastcdr_LIB_DIR PARENT_PATH fastcdr_INSTALL_DIR)
5579

80+
# Ensure drives inside docker are mounted in C: drive
81+
string(REGEX REPLACE ".:" "C:" CMAKE_INSTALL_PREFIX_C ${CMAKE_INSTALL_PREFIX})
82+
string(REGEX REPLACE ".:" "C:" PROJECT_BINARY_DIR_C ${PROJECT_BINARY_DIR})
83+
string(REGEX REPLACE ".:" "C:" fastcdr_INSTALL_DIR_C ${fastcdr_INSTALL_DIR})
84+
85+
set(PROJECT_BINARY_DIR_COMPOSE_VOLUME "${PROJECT_BINARY_DIR}:${PROJECT_BINARY_DIR_C}")
86+
set(fastcdr_LIB_DIR_COMPOSE_VOLUME "${fastcdr_INSTALL_DIR}/bin:${fastcdr_INSTALL_DIR_C}/bin")
87+
set(CMAKE_INSTALL_PREFIX_COMPOSE_VOLUME "${CMAKE_INSTALL_PREFIX}/bin:${CMAKE_INSTALL_PREFIX_C}/bin")
88+
89+
set(PATH_ENVIRONMENT_VARIABLE_COMPOSE "PATH: C:/Program Files/OpenSSL-Win64;${CMAKE_INSTALL_PREFIX_C}/bin;${fastcdr_INSTALL_DIR_C}/bin;C:/Windows/System32;C:/Windows/System32/downlevel;")
90+
set(EXAMPLE_PREFIX_DIR_COMPOSE "${PROJECT_BINARY_DIR_C}/examples/cpp")
91+
if (CMAKE_BUILD_TYPE)
92+
set(EXAMPLE_SUFFIX_DIR_COMPOSE "${CMAKE_BUILD_TYPE}")
93+
else()
94+
set(EXAMPLE_SUFFIX_DIR_COMPOSE "Release")
95+
endif()
96+
set(FASTDDS_DEFAULT_PROFILES_FILE_PREFIX_COMPOSE "${PROJECT_BINARY_DIR_C}/examples/cpp")
97+
set(COMMAND_EXAMPLE_DIR_PREFIX_COMPOSE "& $\$Env:EXAMPLE_DIR")
98+
set(COMMAND_CONCATENATE_COMPOSE "&\" \"")
99+
set(COMMAND_BACKGROUND_JOB_COMPOSE "; Receive-Job 1 -Wait")
100+
101+
set(WIN_DOCKERFILE ${CMAKE_CURRENT_LIST_DIR}/windows/Dockerfile)
102+
# Generate image for testing
103+
add_custom_target(
104+
windows_docker_image_testing_generation
105+
ALL
106+
# Launch the docker build command using the build context.
107+
COMMAND ${DOCKER_EXECUTABLE} build
108+
--tag ${DOCKER_IMAGE_NAME}
109+
--file ${WIN_DOCKERFILE}
110+
${CMAKE_CURRENT_LIST_DIR}
111+
COMMENT "Creating windows image for testing..." VERBATIM
112+
WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR})
56113
# Unsupported platform
57114
else()
58115
message(FATAL_ERROR "Unsupported platform")
59116
endif()
60117

61-
# Configure TinyXML2 library path if installed in user library path
62-
if(NOT (TINYXML2_FROM_SOURCE OR TINYXML2_FROM_THIRDPARTY))
63-
get_filename_component(TINYXML2_LIB_DIR ${TINYXML2_LIBRARY} DIRECTORY)
64-
set(TINYXML2_LIB_DIR_COMPOSE_VOLUME "- ${TINYXML2_LIB_DIR}:${CMAKE_INSTALL_PREFIX}/${DATA_INSTALL_DIR}/fastdds:ro")
65-
set(TINYXML2_LIB_DIR_COMPOSE_LD_LIBRARY_PATH ":${CMAKE_INSTALL_PREFIX}/${DATA_INSTALL_DIR}/fastdds")
118+
if(WIN32)
119+
# Temporarily, test hello world
120+
file(GLOB examples_python_tests RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/*world.py)
121+
else()
122+
# Find all pytest files for testing
123+
file(GLOB examples_python_tests RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/*.py)
66124
endif()
67125

68-
# Find all pytest files for testing
69-
file(GLOB examples_python_tests RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/*.py)
70-
71126
# Add security test only if security is enabled
72127
if (NOT SECURITY)
73128
list(FILTER examples_python_tests EXCLUDE REGEX "security")

test/examples/configuration.compose.yml

+14-15
Original file line numberDiff line numberDiff line change
@@ -11,34 +11,33 @@
1111
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
14-
version: "3"
1514

1615
services:
1716
subscriber:
1817
image: @DOCKER_IMAGE_NAME@
1918
volumes:
20-
- @PROJECT_BINARY_DIR@:@PROJECT_BINARY_DIR@
21-
- @fastcdr_LIB_DIR@:@fastcdr_LIB_DIR@
19+
- @PROJECT_BINARY_DIR_COMPOSE_VOLUME@
20+
- @fastcdr_LIB_DIR_COMPOSE_VOLUME@
21+
- @CMAKE_INSTALL_PREFIX_COMPOSE_VOLUME@
2222
@TINYXML2_LIB_DIR_COMPOSE_VOLUME@
2323
environment:
24-
# TODO(eduponz): LD_LIBRARY_PATH is not the correct variable for Windows
25-
LD_LIBRARY_PATH: @PROJECT_BINARY_DIR@/src/cpp:@fastcdr_LIB_DIR@@TINYXML2_LIB_DIR_COMPOSE_LD_LIBRARY_PATH@
26-
EXAMPLE_DIR: @PROJECT_BINARY_DIR@/examples/cpp/configuration
27-
FASTDDS_DEFAULT_PROFILES_FILE: @PROJECT_BINARY_DIR@/examples/cpp/configuration/configuration_profile.xml
24+
@PATH_ENVIRONMENT_VARIABLE_COMPOSE@
25+
EXAMPLE_DIR: @EXAMPLE_PREFIX_DIR_COMPOSE@/configuration/@EXAMPLE_SUFFIX_DIR_COMPOSE@
26+
FASTDDS_DEFAULT_PROFILES_FILE: @FASTDDS_DEFAULT_PROFILES_FILE_PREFIX_COMPOSE@/configuration/configuration_profile.xml
2827
SUBSCRIBER_ADDITIONAL_ARGUMENTS: ${SUB_ARGS}
29-
command: @SHELL_EXECUTABLE@ -c "$${EXAMPLE_DIR}/configuration@FILE_EXTENSION@ subscriber --samples 10 $${SUBSCRIBER_ADDITIONAL_ARGUMENTS}"
28+
command: @SHELL_EXECUTABLE@ -c "@COMMAND_EXAMPLE_DIR_PREFIX_COMPOSE@/configuration@FILE_EXTENSION@ subscriber --samples 10 $${SUBSCRIBER_ADDITIONAL_ARGUMENTS}"
3029

3130
publisher-subscriber:
3231
image: @DOCKER_IMAGE_NAME@
3332
volumes:
34-
- @PROJECT_BINARY_DIR@:@PROJECT_BINARY_DIR@
35-
- @fastcdr_LIB_DIR@:@fastcdr_LIB_DIR@
33+
- @PROJECT_BINARY_DIR_COMPOSE_VOLUME@
34+
- @fastcdr_LIB_DIR_COMPOSE_VOLUME@
35+
- @CMAKE_INSTALL_PREFIX_COMPOSE_VOLUME@
3636
@TINYXML2_LIB_DIR_COMPOSE_VOLUME@
3737
environment:
38-
# TODO(eduponz): LD_LIBRARY_PATH is not the correct variable for Windows
39-
LD_LIBRARY_PATH: @PROJECT_BINARY_DIR@/src/cpp:@fastcdr_LIB_DIR@@TINYXML2_LIB_DIR_COMPOSE_LD_LIBRARY_PATH@
40-
EXAMPLE_DIR: @PROJECT_BINARY_DIR@/examples/cpp/configuration
41-
FASTDDS_DEFAULT_PROFILES_FILE: @PROJECT_BINARY_DIR@/examples/cpp/configuration/configuration_profile.xml
38+
@PATH_ENVIRONMENT_VARIABLE_COMPOSE@
39+
EXAMPLE_DIR: @EXAMPLE_PREFIX_DIR_COMPOSE@/configuration/@EXAMPLE_SUFFIX_DIR_COMPOSE@
40+
FASTDDS_DEFAULT_PROFILES_FILE: @FASTDDS_DEFAULT_PROFILES_FILE_PREFIX_COMPOSE@/configuration/configuration_profile.xml
4241
PUBLISHER_ADDITIONAL_ARGUMENTS: ${PUB_ARGS}
4342
SUBSCRIBER_ADDITIONAL_ARGUMENTS: ${SUB_ARGS}
44-
command: @SHELL_EXECUTABLE@ -c "$${EXAMPLE_DIR}/configuration@FILE_EXTENSION@ subscriber --samples 10 $${SUBSCRIBER_ADDITIONAL_ARGUMENTS} & $${EXAMPLE_DIR}/configuration@FILE_EXTENSION@ publisher --samples 10 --wait 2 $${PUBLISHER_ADDITIONAL_ARGUMENTS}"
43+
command: @SHELL_EXECUTABLE@ -c "@COMMAND_EXAMPLE_DIR_PREFIX_COMPOSE@/configuration@FILE_EXTENSION@ subscriber --samples 10 $${SUBSCRIBER_ADDITIONAL_ARGUMENTS} @COMMAND_CONCATENATE_COMPOSE@ @COMMAND_EXAMPLE_DIR_PREFIX_COMPOSE@/configuration@FILE_EXTENSION@ publisher --samples 10 --wait 2 $${PUBLISHER_ADDITIONAL_ARGUMENTS}@COMMAND_BACKGROUND_JOB_COMPOSE@"

test/examples/content_filter.compose.yml

+6-7
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,17 @@
1111
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
14-
version: "3"
1514

1615
services:
1716
subscriber:
1817
image: @DOCKER_IMAGE_NAME@
1918
volumes:
20-
- @PROJECT_BINARY_DIR@:@PROJECT_BINARY_DIR@
21-
- @fastcdr_LIB_DIR@:@fastcdr_LIB_DIR@
19+
- @PROJECT_BINARY_DIR_COMPOSE_VOLUME@
20+
- @fastcdr_LIB_DIR_COMPOSE_VOLUME@
21+
- @CMAKE_INSTALL_PREFIX_COMPOSE_VOLUME@
2222
@TINYXML2_LIB_DIR_COMPOSE_VOLUME@
2323
environment:
24-
# TODO(eduponz): LD_LIBRARY_PATH is not the correct variable for Windows
25-
LD_LIBRARY_PATH: @PROJECT_BINARY_DIR@/src/cpp:@fastcdr_LIB_DIR@@TINYXML2_LIB_DIR_COMPOSE_LD_LIBRARY_PATH@
26-
EXAMPLE_DIR: @PROJECT_BINARY_DIR@/examples/cpp/content_filter@FILE_EXTENSION@
24+
@PATH_ENVIRONMENT_VARIABLE_COMPOSE@
25+
EXAMPLE_DIR: @EXAMPLE_PREFIX_DIR_COMPOSE@/content_filter/@EXAMPLE_SUFFIX_DIR_COMPOSE@
2726
SUBSCRIBER_ADDITIONAL_ARGUMENTS: ${SUB_ARGS}
28-
command: @SHELL_EXECUTABLE@ -c "$${EXAMPLE_DIR}/content_filter@FILE_EXTENSION@ subscriber $${SUBSCRIBER_ADDITIONAL_ARGUMENTS} --lower-bound 4 --upper-bound 8 --reliable --transient-local & $${EXAMPLE_DIR}/content_filter@FILE_EXTENSION@ publisher --samples 15 --interval 100 --reliable --transient-local"
27+
command: @SHELL_EXECUTABLE@ -c "@COMMAND_EXAMPLE_DIR_PREFIX_COMPOSE@/content_filter@FILE_EXTENSION@ subscriber $${SUBSCRIBER_ADDITIONAL_ARGUMENTS} --lower-bound 4 --upper-bound 8 --reliable --transient-local @COMMAND_CONCATENATE_COMPOSE@ @COMMAND_EXAMPLE_DIR_PREFIX_COMPOSE@/content_filter@FILE_EXTENSION@ publisher --samples 15 --interval 100 --reliable --transient-local@COMMAND_BACKGROUND_JOB_COMPOSE@"

test/examples/custom_payload_pool.compose.yml

+11-12
Original file line numberDiff line numberDiff line change
@@ -11,31 +11,30 @@
1111
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
14-
version: "3"
1514

1615
services:
1716
subscriber:
1817
image: @DOCKER_IMAGE_NAME@
1918
volumes:
20-
- @PROJECT_BINARY_DIR@:@PROJECT_BINARY_DIR@
21-
- @fastcdr_LIB_DIR@:@fastcdr_LIB_DIR@
19+
- @PROJECT_BINARY_DIR_COMPOSE_VOLUME@
20+
- @fastcdr_LIB_DIR_COMPOSE_VOLUME@
21+
- @CMAKE_INSTALL_PREFIX_COMPOSE_VOLUME@
2222
@TINYXML2_LIB_DIR_COMPOSE_VOLUME@
2323
environment:
24-
# TODO(eduponz): LD_LIBRARY_PATH is not the correct variable for Windows
25-
LD_LIBRARY_PATH: @PROJECT_BINARY_DIR@/src/cpp:@fastcdr_LIB_DIR@@TINYXML2_LIB_DIR_COMPOSE_LD_LIBRARY_PATH@
26-
EXAMPLE_DIR: @PROJECT_BINARY_DIR@/examples/cpp/custom_payload_pool
24+
@PATH_ENVIRONMENT_VARIABLE_COMPOSE@
25+
EXAMPLE_DIR: @EXAMPLE_PREFIX_DIR_COMPOSE@/custom_payload_pool/@EXAMPLE_SUFFIX_DIR_COMPOSE@
2726
command: @SHELL_EXECUTABLE@ -c "$${EXAMPLE_DIR}/custom_payload_pool@FILE_EXTENSION@ subscriber --samples 10"
2827

2928
publisher:
3029
image: @DOCKER_IMAGE_NAME@
3130
volumes:
32-
- @PROJECT_BINARY_DIR@:@PROJECT_BINARY_DIR@
33-
- @fastcdr_LIB_DIR@:@fastcdr_LIB_DIR@
31+
- @PROJECT_BINARY_DIR_COMPOSE_VOLUME@
32+
- @fastcdr_LIB_DIR_COMPOSE_VOLUME@
33+
- @CMAKE_INSTALL_PREFIX_COMPOSE_VOLUME@
3434
@TINYXML2_LIB_DIR_COMPOSE_VOLUME@
3535
environment:
36-
# TODO(eduponz): LD_LIBRARY_PATH is not the correct variable for Windows
37-
LD_LIBRARY_PATH: @PROJECT_BINARY_DIR@/src/cpp:@fastcdr_LIB_DIR@@TINYXML2_LIB_DIR_COMPOSE_LD_LIBRARY_PATH@
38-
EXAMPLE_DIR: @PROJECT_BINARY_DIR@/examples/cpp/custom_payload_pool
39-
command: @SHELL_EXECUTABLE@ -c "$${EXAMPLE_DIR}/custom_payload_pool@FILE_EXTENSION@ publisher --samples 10"
36+
@PATH_ENVIRONMENT_VARIABLE_COMPOSE@
37+
EXAMPLE_DIR: @EXAMPLE_PREFIX_DIR_COMPOSE@/custom_payload_pool/@EXAMPLE_SUFFIX_DIR_COMPOSE@
38+
command: @SHELL_EXECUTABLE@ -c "@COMMAND_EXAMPLE_DIR_PREFIX_COMPOSE@/custom_payload_pool@FILE_EXTENSION@ publisher --samples 10"
4039
depends_on:
4140
- subscriber

0 commit comments

Comments
 (0)