From 4d1f0c607a822be68d77e9b8d216261d8e4926f9 Mon Sep 17 00:00:00 2001 From: APS VM Date: Thu, 29 May 2025 14:30:40 -0700 Subject: [PATCH 01/48] First example success with cmake --- test/examples/1-BasicDataProduct/CMakeLists.txt | 2 ++ test/examples/1-BasicDataProduct/run.sh.in | 10 +++++----- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/test/examples/1-BasicDataProduct/CMakeLists.txt b/test/examples/1-BasicDataProduct/CMakeLists.txt index bb6ce9f4a..7b23d1bd0 100644 --- a/test/examples/1-BasicDataProduct/CMakeLists.txt +++ b/test/examples/1-BasicDataProduct/CMakeLists.txt @@ -19,3 +19,5 @@ target_link_libraries(BasicDataProductPublisher gravity spdlog::spdlog_header_on add_executable(BasicDataProductSubscriber BasicDataProductSubscriber.cpp) set_target_properties(BasicDataProductSubscriber PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) target_link_libraries(BasicDataProductSubscriber gravity spdlog::spdlog_header_only) + +configure_file(run.sh.in ../../../../test/examples/1-BasicDataProduct/run.sh) diff --git a/test/examples/1-BasicDataProduct/run.sh.in b/test/examples/1-BasicDataProduct/run.sh.in index d5b9f3d18..d38ea2f97 100755 --- a/test/examples/1-BasicDataProduct/run.sh.in +++ b/test/examples/1-BasicDataProduct/run.sh.in @@ -19,8 +19,8 @@ # @configure_input@ # Tool-related substitution variables -PROTOBUF_LIB_DIR=@PROTOBUF_LIBDIR@ -ZMQ_LIB_DIR=@ZEROMQ_LIBDIR@ +PROTOBUF_LIB_DIR=@Protobuf_LIBRARY_RELEASE@ +ZMQ_LIB_DIR=@ZeroMQ_LIBRARY_RELEASE@ export PATH=$PATH:../../../src/components/cpp/bin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR @@ -36,16 +36,16 @@ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyval # trap keyboard interrupt (control-c) trap control_c SIGINT -ServiceDirectory & +../../../build/install/bin/ServiceDirectory & SDPID=$! # sleep for a second to give the service directory a chance to start up sleep 1 -./BasicDataProductPublisher & +../../../build/gravity_external_examples_tests-prefix/src/gravity_external_examples_tests-build/examples/1-BasicDataProduct/BasicDataProductPublisher & PUBPID=$! # sleep for a second to give the publisher a chance to register its data product sleep 1 -./BasicDataProductSubscriber +../../../build/gravity_external_examples_tests-prefix/src/gravity_external_examples_tests-build/examples/1-BasicDataProduct/BasicDataProductSubscriber From aed2e76a1f14caf1cc5a4c9c3b5cf0bf7d3d80f9 Mon Sep 17 00:00:00 2001 From: APS VM Date: Fri, 30 May 2025 08:47:03 -0700 Subject: [PATCH 02/48] Further CMake integration (all C++ examples up through example 8) --- test/CMakeLists.txt | 2 +- test/examples/1-BasicDataProduct/run.sh.in | 8 +++-- .../2-ProtobufDataProduct/CMakeLists.txt | 2 ++ test/examples/2-ProtobufDataProduct/run.sh.in | 12 ++++--- .../3-MultipleDataProduct/CMakeLists.txt | 34 ++++++++++++++++++ .../MultipleDataProductPublisher.cpp | 4 +-- .../MultipleDataProductSubscriber.cpp | 4 +-- test/examples/3-MultipleDataProduct/run.sh.in | 12 ++++--- .../4-BasicService/BasicServiceProvider.cpp | 3 +- .../4-BasicService/BasicServiceRequestor.cpp | 4 +-- test/examples/4-BasicService/CMakeLists.txt | 35 +++++++++++++++++++ test/examples/4-BasicService/run.sh.in | 12 ++++--- .../5-MiscFunctionality/CMakeLists.txt | 24 +++++++++++++ .../5-MiscFunctionality/MiscComponent2.cpp | 1 + test/examples/5-MiscFunctionality/run.sh.in | 12 ++++--- test/examples/8-ConfigFile/CMakeLists.txt | 17 +++++++++ .../8-ConfigFile/ConfigFileExample.cpp | 1 + test/examples/8-ConfigFile/run.sh.in | 13 ++++--- test/examples/CMakeLists.txt | 5 ++- 19 files changed, 168 insertions(+), 37 deletions(-) create mode 100644 test/examples/3-MultipleDataProduct/CMakeLists.txt create mode 100644 test/examples/4-BasicService/CMakeLists.txt create mode 100644 test/examples/5-MiscFunctionality/CMakeLists.txt create mode 100644 test/examples/8-ConfigFile/CMakeLists.txt diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 42c30aaea..81998a0f9 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -35,4 +35,4 @@ endif() if (NOT SKIP_PYTHON) add_subdirectory(api/python) endif() -add_subdirectory(examples) \ No newline at end of file +add_subdirectory(examples) diff --git a/test/examples/1-BasicDataProduct/run.sh.in b/test/examples/1-BasicDataProduct/run.sh.in index d38ea2f97..908aa76e0 100755 --- a/test/examples/1-BasicDataProduct/run.sh.in +++ b/test/examples/1-BasicDataProduct/run.sh.in @@ -21,6 +21,8 @@ # Tool-related substitution variables PROTOBUF_LIB_DIR=@Protobuf_LIBRARY_RELEASE@ ZMQ_LIB_DIR=@ZeroMQ_LIBRARY_RELEASE@ +EXAMPLE_BIN_DIR=@GravityExamples_BINARY_DIR@ +SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ export PATH=$PATH:../../../src/components/cpp/bin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR @@ -36,16 +38,16 @@ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyval # trap keyboard interrupt (control-c) trap control_c SIGINT -../../../build/install/bin/ServiceDirectory & +$SD_BIN_DIR/ServiceDirectory & SDPID=$! # sleep for a second to give the service directory a chance to start up sleep 1 -../../../build/gravity_external_examples_tests-prefix/src/gravity_external_examples_tests-build/examples/1-BasicDataProduct/BasicDataProductPublisher & +$EXAMPLE_BIN_DIR/1-BasicDataProduct/BasicDataProductPublisher & PUBPID=$! # sleep for a second to give the publisher a chance to register its data product sleep 1 -../../../build/gravity_external_examples_tests-prefix/src/gravity_external_examples_tests-build/examples/1-BasicDataProduct/BasicDataProductSubscriber +$EXAMPLE_BIN_DIR/1-BasicDataProduct/BasicDataProductSubscriber diff --git a/test/examples/2-ProtobufDataProduct/CMakeLists.txt b/test/examples/2-ProtobufDataProduct/CMakeLists.txt index 08ef7b341..e61812581 100644 --- a/test/examples/2-ProtobufDataProduct/CMakeLists.txt +++ b/test/examples/2-ProtobufDataProduct/CMakeLists.txt @@ -31,3 +31,5 @@ target_link_libraries(ProtobufDataProductSubscriber PUBLIC gravity PRIVATE spdlo target_include_directories(ProtobufDataProductSubscriber PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) add_dependencies(ProtobufDataProductSubscriber ${PROJECT_NAME}_protos) +configure_file(run.sh.in ../../../../test/examples/2-ProtobufDataProduct/run.sh) + diff --git a/test/examples/2-ProtobufDataProduct/run.sh.in b/test/examples/2-ProtobufDataProduct/run.sh.in index 59206238d..a0575d2e3 100755 --- a/test/examples/2-ProtobufDataProduct/run.sh.in +++ b/test/examples/2-ProtobufDataProduct/run.sh.in @@ -19,8 +19,10 @@ # @configure_input@ # Tool-related substitution variables -PROTOBUF_LIB_DIR=@PROTOBUF_LIBDIR@ -ZMQ_LIB_DIR=@ZEROMQ_LIBDIR@ +PROTOBUF_LIB_DIR=@Protobuf_LIBRARY_RELEASE@ +ZMQ_LIB_DIR=@ZeroMQ_LIBRARY_RELEASE@ +EXAMPLE_BIN_DIR=@GravityExamples_BINARY_DIR@ +SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ export PATH=$PATH:../../../src/components/cpp/bin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR @@ -36,16 +38,16 @@ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyval # trap keyboard interrupt (control-c) trap control_c SIGINT -ServiceDirectory & +$SD_BIN_DIR/ServiceDirectory & SDPID=$! # sleep for a second to give the service directory a chance to start up sleep 1 -./ProtobufDataProductPublisher & +$EXAMPLE_BIN_DIR/2-ProtobufDataProduct/ProtobufDataProductPublisher & PUBPID=$! # sleep for a second to give the publisher a chance to register its data product sleep 1 -./ProtobufDataProductSubscriber +$EXAMPLE_BIN_DIR/2-ProtobufDataProduct/ProtobufDataProductSubscriber diff --git a/test/examples/3-MultipleDataProduct/CMakeLists.txt b/test/examples/3-MultipleDataProduct/CMakeLists.txt new file mode 100644 index 000000000..9c7356023 --- /dev/null +++ b/test/examples/3-MultipleDataProduct/CMakeLists.txt @@ -0,0 +1,34 @@ +cmake_minimum_required(VERSION 3.17) +project(MultipleDataProduct) +# +# see CMakeLists.txt on how to set up CMAKE_PREFIX_PATH and CMAKE_MODULE_PATH +# + +# for gravity_protobuf_generate +include(GravitySupport) + + +find_package(spdlog REQUIRED) +find_package(Gravity QUIET) + +file(GLOB PROTO_FILES "${CMAKE_CURRENT_LIST_DIR}/../protobuf/*.proto") + +gravity_protobuf_generate(APPEND_PATH PROTOC_OUT_DIR ${CMAKE_CURRENT_BINARY_DIR} OUT_VAR PROTO_SRCS + PROTOS ${PROTO_FILES}) + +add_custom_target(${PROJECT_NAME}_protos ALL DEPENDS ${PROTO_SRCS}) + +set(CMAKE_DEBUG_POSTFIX _d) +add_executable(MultipleDataProductPublisher MultipleDataProductPublisher.cpp ${PROTO_SRCS}) +set_target_properties(MultipleDataProductPublisher PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) +target_link_libraries(MultipleDataProductPublisher PUBLIC gravity PRIVATE spdlog::spdlog_header_only) +target_include_directories(MultipleDataProductPublisher PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) +add_dependencies(MultipleDataProductPublisher ${PROJECT_NAME}_protos) + +add_executable(MultipleDataProductSubscriber MultipleDataProductSubscriber.cpp ${PROTO_SRCS}) +set_target_properties(MultipleDataProductSubscriber PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) +target_link_libraries(MultipleDataProductSubscriber PUBLIC gravity PRIVATE spdlog::spdlog_header_only) +target_include_directories(MultipleDataProductSubscriber PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) +add_dependencies(ProtobufDataProductSubscriber ${PROJECT_NAME}_protos) + +configure_file(run.sh.in ../../../../test/examples/3-MultipleDataProduct/run.sh) diff --git a/test/examples/3-MultipleDataProduct/MultipleDataProductPublisher.cpp b/test/examples/3-MultipleDataProduct/MultipleDataProductPublisher.cpp index 48d5174b9..ba313f655 100644 --- a/test/examples/3-MultipleDataProduct/MultipleDataProductPublisher.cpp +++ b/test/examples/3-MultipleDataProduct/MultipleDataProductPublisher.cpp @@ -19,9 +19,9 @@ #include #include #include +#include #include - -#include "../protobuf/BasicCounterDataProduct.pb.h" +#include "BasicCounterDataProduct.pb.h" using namespace gravity; diff --git a/test/examples/3-MultipleDataProduct/MultipleDataProductSubscriber.cpp b/test/examples/3-MultipleDataProduct/MultipleDataProductSubscriber.cpp index ea17481bc..5694dafeb 100644 --- a/test/examples/3-MultipleDataProduct/MultipleDataProductSubscriber.cpp +++ b/test/examples/3-MultipleDataProduct/MultipleDataProductSubscriber.cpp @@ -19,9 +19,9 @@ #include #include #include +#include #include - -#include "../protobuf/BasicCounterDataProduct.pb.h" +#include "BasicCounterDataProduct.pb.h" using namespace gravity; using namespace std; diff --git a/test/examples/3-MultipleDataProduct/run.sh.in b/test/examples/3-MultipleDataProduct/run.sh.in index 4dbecd82a..a4a72ca51 100755 --- a/test/examples/3-MultipleDataProduct/run.sh.in +++ b/test/examples/3-MultipleDataProduct/run.sh.in @@ -19,8 +19,10 @@ # @configure_input@ # Tool-related substitution variables -PROTOBUF_LIB_DIR=@PROTOBUF_LIBDIR@ -ZMQ_LIB_DIR=@ZEROMQ_LIBDIR@ +PROTOBUF_LIB_DIR=@Protobuf_LIBRARY_RELEASE@ +ZMQ_LIB_DIR=@ZeroMQ_LIBRARY_RELEASE@ +EXAMPLE_BIN_DIR=@GravityExamples_BINARY_DIR@ +SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ export PATH=$PATH:../../../src/components/cpp/bin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR @@ -36,16 +38,16 @@ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyval # trap keyboard interrupt (control-c) trap control_c SIGINT -ServiceDirectory & +$SD_BIN_DIR/ServiceDirectory & SDPID=$! # sleep for a second to give the service directory a chance to start up sleep 1 -./MultipleDataProductPublisher & +$EXAMPLE_BIN_DIR/3-MultipleDataProduct/MultipleDataProductPublisher & PUBPID=$! # sleep for a second to give the publisher a chance to register its data product sleep 1 -./MultipleDataProductSubscriber +$EXAMPLE_BIN_DIR/3-MultipleDataProduct/MultipleDataProductSubscriber diff --git a/test/examples/4-BasicService/BasicServiceProvider.cpp b/test/examples/4-BasicService/BasicServiceProvider.cpp index e1a32b45c..d094d4b88 100644 --- a/test/examples/4-BasicService/BasicServiceProvider.cpp +++ b/test/examples/4-BasicService/BasicServiceProvider.cpp @@ -19,9 +19,10 @@ #include #include #include +#include #include -#include "../protobuf/Multiplication.pb.h" +#include "Multiplication.pb.h" using namespace gravity; using namespace std; diff --git a/test/examples/4-BasicService/BasicServiceRequestor.cpp b/test/examples/4-BasicService/BasicServiceRequestor.cpp index b785bf0ab..ca5cc2677 100644 --- a/test/examples/4-BasicService/BasicServiceRequestor.cpp +++ b/test/examples/4-BasicService/BasicServiceRequestor.cpp @@ -19,9 +19,9 @@ #include #include #include +#include #include - -#include "../protobuf/Multiplication.pb.h" +#include "Multiplication.pb.h" using namespace gravity; using namespace std; diff --git a/test/examples/4-BasicService/CMakeLists.txt b/test/examples/4-BasicService/CMakeLists.txt new file mode 100644 index 000000000..a3560e04e --- /dev/null +++ b/test/examples/4-BasicService/CMakeLists.txt @@ -0,0 +1,35 @@ +cmake_minimum_required(VERSION 3.17) +project(BasicSevice) +# +# see CMakeLists.txt on how to set up CMAKE_PREFIX_PATH and CMAKE_MODULE_PATH +# + +# for gravity_protobuf_generate +include(GravitySupport) + + +find_package(spdlog REQUIRED) +find_package(Gravity QUIET) + +file(GLOB PROTO_FILES "${CMAKE_CURRENT_LIST_DIR}/../protobuf/*.proto") + +gravity_protobuf_generate(APPEND_PATH PROTOC_OUT_DIR ${CMAKE_CURRENT_BINARY_DIR} OUT_VAR PROTO_SRCS + PROTOS ${PROTO_FILES}) + +add_custom_target(${PROJECT_NAME}_protos ALL DEPENDS ${PROTO_SRCS}) + +set(CMAKE_DEBUG_POSTFIX _d) +add_executable(BasicServiceProvider BasicServiceProvider.cpp ${PROTO_SRCS}) +set_target_properties(BasicServiceProvider PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) +target_link_libraries(BasicServiceProvider PUBLIC gravity PRIVATE spdlog::spdlog_header_only) +target_include_directories(BasicServiceProvider PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) +add_dependencies(BasicServiceProvider ${PROJECT_NAME}_protos) + +add_executable(BasicServiceRequestor BasicServiceRequestor.cpp ${PROTO_SRCS}) +set_target_properties(BasicServiceRequestor PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) +target_link_libraries(BasicServiceRequestor PUBLIC gravity PRIVATE spdlog::spdlog_header_only) +target_include_directories(BasicServiceRequestor PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) +add_dependencies(BasicServiceRequestor ${PROJECT_NAME}_protos) + +configure_file(run.sh.in ../../../../test/examples/4-BasicService/run.sh) + diff --git a/test/examples/4-BasicService/run.sh.in b/test/examples/4-BasicService/run.sh.in index 2ced2e8af..8dc7da901 100755 --- a/test/examples/4-BasicService/run.sh.in +++ b/test/examples/4-BasicService/run.sh.in @@ -19,8 +19,10 @@ # @configure_input@ # Tool-related substitution variables -PROTOBUF_LIB_DIR=@PROTOBUF_LIBDIR@ -ZMQ_LIB_DIR=@ZEROMQ_LIBDIR@ +PROTOBUF_LIB_DIR=@Protobuf_LIBRARY_RELEASE@ +ZMQ_LIB_DIR=@ZeroMQ_LIBRARY_RELEASE@ +EXAMPLE_BIN_DIR=@GravityExamples_BINARY_DIR@ +SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ export PATH=$PATH:../../../src/components/cpp/bin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR @@ -36,18 +38,18 @@ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyval # trap keyboard interrupt (control-c) trap cleanup SIGINT -ServiceDirectory & +$SD_BIN_DIR/ServiceDirectory & SDPID=$! # sleep for a second to give the service directory a chance to start up sleep 1 -./BasicServiceProvider & +$EXAMPLE_BIN_DIR/4-BasicService/BasicServiceProvider & BSPPID=$! # sleep for a second to give the publisher a chance to register its data product sleep 1 -./BasicServiceRequestor +$EXAMPLE_BIN_DIR/4-BasicService/BasicServiceRequestor cleanup diff --git a/test/examples/5-MiscFunctionality/CMakeLists.txt b/test/examples/5-MiscFunctionality/CMakeLists.txt new file mode 100644 index 000000000..154fbecdf --- /dev/null +++ b/test/examples/5-MiscFunctionality/CMakeLists.txt @@ -0,0 +1,24 @@ +cmake_minimum_required(VERSION 3.17) +project(MiscFunctionality) +# +# see CMakeLists.txt one level up on how to set up CMAKE_PREFIX_PATH and CMAKE_MODULE_PATH +# + + +find_package(Gravity QUIET) + +# since we use spdlog directly +find_package(spdlog REQUIRED) + +set(CMAKE_DEBUG_POSTFIX _d) +add_executable(MiscComponent1 MiscComponent1.cpp) +set_target_properties(MiscComponent1 PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) +target_link_libraries(MiscComponent1 gravity spdlog::spdlog_header_only) + + +add_executable(MiscComponent2 MiscComponent2.cpp) +set_target_properties(MiscComponent2 PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) +target_link_libraries(MiscComponent2 gravity spdlog::spdlog_header_only) + +configure_file(run.sh.in ../../../../test/examples/5-MiscFunctionality/run.sh) + diff --git a/test/examples/5-MiscFunctionality/MiscComponent2.cpp b/test/examples/5-MiscFunctionality/MiscComponent2.cpp index 32431d079..242ffd61b 100644 --- a/test/examples/5-MiscFunctionality/MiscComponent2.cpp +++ b/test/examples/5-MiscFunctionality/MiscComponent2.cpp @@ -19,6 +19,7 @@ #include #include #include +#include #include using namespace gravity; diff --git a/test/examples/5-MiscFunctionality/run.sh.in b/test/examples/5-MiscFunctionality/run.sh.in index d2ab65c75..51f60bb3c 100755 --- a/test/examples/5-MiscFunctionality/run.sh.in +++ b/test/examples/5-MiscFunctionality/run.sh.in @@ -19,8 +19,10 @@ # @configure_input@ # Tool-related substitution variables -PROTOBUF_LIB_DIR=@PROTOBUF_LIBDIR@ -ZMQ_LIB_DIR=@ZEROMQ_LIBDIR@ +PROTOBUF_LIB_DIR=@Protobuf_LIBRARY_RELEASE@ +ZMQ_LIB_DIR=@ZeroMQ_LIBRARY_RELEASE@ +EXAMPLE_BIN_DIR=@GravityExamples_BINARY_DIR@ +SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ export PATH=$PATH:../../../src/components/cpp/bin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR @@ -36,16 +38,16 @@ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyval # trap keyboard interrupt (control-c) trap control_c SIGINT -ServiceDirectory & +$SD_BIN_DIR/ServiceDirectory & SDPID=$! # sleep for a second to give the service directory a chance to start up sleep 1 -./MiscComponent1 & +$EXAMPLE_BIN_DIR/5-MiscFunctionality/MiscComponent1 & PUBPID=$! # sleep for a second to give the publisher a chance to register its data product sleep 1 -./MiscComponent2 +$EXAMPLE_BIN_DIR/5-MiscFunctionality/MiscComponent2 diff --git a/test/examples/8-ConfigFile/CMakeLists.txt b/test/examples/8-ConfigFile/CMakeLists.txt new file mode 100644 index 000000000..c7d2b8fa1 --- /dev/null +++ b/test/examples/8-ConfigFile/CMakeLists.txt @@ -0,0 +1,17 @@ +cmake_minimum_required(VERSION 3.17) +project(ConfigFile) +# +# see CMakeLists.txt one level up on how to set up CMAKE_PREFIX_PATH and CMAKE_MODULE_PATH +# + + +find_package(Gravity QUIET) + +# since we use spdlog directly +find_package(spdlog REQUIRED) + +set(CMAKE_DEBUG_POSTFIX _d) +add_executable(ConfigFileExample ConfigFileExample.cpp) +set_target_properties(ConfigFileExample PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) +target_link_libraries(ConfigFileExample gravity spdlog::spdlog_header_only) +configure_file(run.sh.in ../../../../test/examples/8-ConfigFile/run.sh) diff --git a/test/examples/8-ConfigFile/ConfigFileExample.cpp b/test/examples/8-ConfigFile/ConfigFileExample.cpp index c67bed521..30fd34c25 100644 --- a/test/examples/8-ConfigFile/ConfigFileExample.cpp +++ b/test/examples/8-ConfigFile/ConfigFileExample.cpp @@ -20,6 +20,7 @@ #include #include #include +#include #include int main() diff --git a/test/examples/8-ConfigFile/run.sh.in b/test/examples/8-ConfigFile/run.sh.in index 8949d053f..9213ba98c 100755 --- a/test/examples/8-ConfigFile/run.sh.in +++ b/test/examples/8-ConfigFile/run.sh.in @@ -19,8 +19,11 @@ # @configure_input@ # Tool-related substitution variables -PROTOBUF_LIB_DIR=@PROTOBUF_LIBDIR@ -ZMQ_LIB_DIR=@ZEROMQ_LIBDIR@ +PROTOBUF_LIB_DIR=@Protobuf_LIBRARY_RELEASE@ +ZMQ_LIB_DIR=@ZeroMQ_LIBRARY_RELEASE@ +EXAMPLE_BIN_DIR=@GravityExamples_BINARY_DIR@ +SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ +CS_BIN_DIR=@ConfigServer_BINARY_DIR@ export PATH=$PATH:../../../src/components/cpp/ConfigServer:../../../src/components/cpp/ServiceDirectory export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR @@ -36,18 +39,18 @@ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyval # trap keyboard interrupt (control-c) trap cleanup SIGINT -ServiceDirectory & +$SD_BIN_DIR/ServiceDirectory & SDPID=$! # sleep for a second to give the service directory a chance to start up sleep 1 -ConfigServer & +$CS_BIN_DIR/ConfigServer & CSPID=$! # ConfigServer needs to be up and registered before client code calls init sleep 20 -./ConfigFileExample +$EXAMPLE_BIN_DIR/8-ConfigFile/ConfigFileExample cleanup diff --git a/test/examples/CMakeLists.txt b/test/examples/CMakeLists.txt index 6ae5dacff..79be7c2e4 100644 --- a/test/examples/CMakeLists.txt +++ b/test/examples/CMakeLists.txt @@ -4,7 +4,10 @@ project(GravityExamples) add_subdirectory("1-BasicDataProduct") add_subdirectory("2-ProtobufDataProduct") -#add_subdirectory("8-ConfigFile") +add_subdirectory("3-MultipleDataProduct") +add_subdirectory("4-BasicService") +add_subdirectory("5-MiscFunctionality") +add_subdirectory("8-ConfigFile") if (NOT SKIP_JAVA) add_subdirectory("6-JavaProtobufDataProduct") From cade82fb4ebddb7ab20081c0d193a04f119b2d28 Mon Sep 17 00:00:00 2001 From: APS VM Date: Fri, 30 May 2025 12:03:43 -0700 Subject: [PATCH 03/48] All C++ examples now work with CMake (example 10 is broken for other reasons) --- test/examples/10-Archiving/ArchiveTest.cpp | 3 +- test/examples/10-Archiving/CMakeLists.txt | 34 +++++++++++++++++++ test/examples/10-Archiving/ReplayTest.cpp | 3 +- test/examples/10-Archiving/run.sh.in | 19 +++++++---- test/examples/13-Relay/CMakeLists.txt | 34 +++++++++++++++++++ .../13-Relay/ProtobufDataProductPublisher.cpp | 2 +- .../ProtobufDataProductSubscriber.cpp | 3 +- test/examples/13-Relay/run.sh.in | 16 +++++---- test/examples/9-Domains/CMakeLists.txt | 34 +++++++++++++++++++ .../ProtobufDataProductPublisher.cpp | 3 +- .../ProtobufDataProductSubscriber.cpp | 3 +- test/examples/9-Domains/run.sh.in | 22 ++++++------ test/examples/CMakeLists.txt | 7 ++-- 13 files changed, 152 insertions(+), 31 deletions(-) create mode 100644 test/examples/10-Archiving/CMakeLists.txt create mode 100644 test/examples/13-Relay/CMakeLists.txt create mode 100644 test/examples/9-Domains/CMakeLists.txt diff --git a/test/examples/10-Archiving/ArchiveTest.cpp b/test/examples/10-Archiving/ArchiveTest.cpp index b797570b6..49c68309b 100644 --- a/test/examples/10-Archiving/ArchiveTest.cpp +++ b/test/examples/10-Archiving/ArchiveTest.cpp @@ -19,9 +19,10 @@ #include #include #include +#include #include -#include "../protobuf/BasicCounterDataProduct.pb.h" +#include "BasicCounterDataProduct.pb.h" #include "protobuf/FileArchiverControlRequestPB.pb.h" int main() diff --git a/test/examples/10-Archiving/CMakeLists.txt b/test/examples/10-Archiving/CMakeLists.txt new file mode 100644 index 000000000..9e343f67a --- /dev/null +++ b/test/examples/10-Archiving/CMakeLists.txt @@ -0,0 +1,34 @@ +cmake_minimum_required(VERSION 3.17) +project(Archiving) +# +# see CMakeLists.txt on how to set up CMAKE_PREFIX_PATH and CMAKE_MODULE_PATH +# + +# for gravity_protobuf_generate +include(GravitySupport) + + +find_package(spdlog REQUIRED) +find_package(Gravity QUIET) + +file(GLOB PROTO_FILES "${CMAKE_CURRENT_LIST_DIR}/../protobuf/*.proto") + +gravity_protobuf_generate(APPEND_PATH PROTOC_OUT_DIR ${CMAKE_CURRENT_BINARY_DIR} OUT_VAR PROTO_SRCS + PROTOS ${PROTO_FILES}) + +add_custom_target(${PROJECT_NAME}_protos ALL DEPENDS ${PROTO_SRCS}) + +set(CMAKE_DEBUG_POSTFIX _d) +add_executable(ArchiveTest ArchiveTest.cpp ${PROTO_SRCS}) +set_target_properties(ArchiveTest PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) +target_link_libraries(ArchiveTest PUBLIC gravity PRIVATE spdlog::spdlog_header_only) +target_include_directories(ArchiveTest PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) +add_dependencies(ArchiveTest ${PROJECT_NAME}_protos) + +add_executable(ReplayTest ReplayTest.cpp ${PROTO_SRCS}) +set_target_properties(ReplayTest PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) +target_link_libraries(ReplayTest PUBLIC gravity PRIVATE spdlog::spdlog_header_only) +target_include_directories(ReplayTest PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) +add_dependencies(ReplayTest ${PROJECT_NAME}_protos) + +configure_file(run.sh.in ../../../../test/examples/10-Archiving/run.sh) diff --git a/test/examples/10-Archiving/ReplayTest.cpp b/test/examples/10-Archiving/ReplayTest.cpp index 65a5354e1..013dbbb78 100644 --- a/test/examples/10-Archiving/ReplayTest.cpp +++ b/test/examples/10-Archiving/ReplayTest.cpp @@ -20,9 +20,10 @@ #include #include #include +#include #include -#include "../protobuf/BasicCounterDataProduct.pb.h" +#include "BasicCounterDataProduct.pb.h" using namespace gravity; using namespace std; diff --git a/test/examples/10-Archiving/run.sh.in b/test/examples/10-Archiving/run.sh.in index b7040cd92..b07088df7 100755 --- a/test/examples/10-Archiving/run.sh.in +++ b/test/examples/10-Archiving/run.sh.in @@ -19,8 +19,13 @@ # @configure_input@ # Tool-related substitution variables -PROTOBUF_LIB_DIR=@PROTOBUF_LIBDIR@ -ZMQ_LIB_DIR=@ZEROMQ_LIBDIR@ +PROTOBUF_LIB_DIR=@Protobuf_LIBRARY_RELEASE@ +ZMQ_LIB_DIR=@ZeroMQ_LIBRARY_RELEASE@ +EXAMPLE_BIN_DIR=@GravityExamples_BINARY_DIR@ +SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ +ARCH_BIN_DIR=@Archiver_BINARY_DIR@ +PB_BIN_DIR=@Playback_BINARY_DIR@ + export PATH=$PATH:../../../src/components/cpp/bin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR @@ -49,7 +54,7 @@ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyval # trap keyboard interrupt (control-c) trap cleanup SIGINT -ServiceDirectory & +$SD_BIN_DIR/ServiceDirectory & SDPID=$! ## @@ -58,9 +63,9 @@ SDPID=$! # 5 seconds, ArchiveTest will toggle the suspend flag on the FileArchiver. This means # that only about half of the published counter values will be archived. ## -FileArchiver & +$ARCH_BIN_DIR/Archiver & FAPID=$! -./ArchiveTest & +$EXAMPLE_BIN_DIR/10-Archiving/ArchiveTest & ATPID=$! sleep 20 @@ -77,9 +82,9 @@ sleep 1 # and that the messages that were archived are still published once a second - just like ArchiveTest did originally. ## echo Starting ReplayTest -./ReplayTest & +$EXAMPLE_BIN_DIR/10-Archiving/ReplayTest & RTPID=$! -FileReplay & +$PB_BIN_DIR/Playback & FRPID=$! sleep 20 diff --git a/test/examples/13-Relay/CMakeLists.txt b/test/examples/13-Relay/CMakeLists.txt new file mode 100644 index 000000000..1dac2ca79 --- /dev/null +++ b/test/examples/13-Relay/CMakeLists.txt @@ -0,0 +1,34 @@ +cmake_minimum_required(VERSION 3.17) +project(Domains) +# +# see CMakeLists.txt on how to set up CMAKE_PREFIX_PATH and CMAKE_MODULE_PATH +# + +# for gravity_protobuf_generate +include(GravitySupport) + + +find_package(spdlog REQUIRED) +find_package(Gravity QUIET) + +file(GLOB PROTO_FILES "${CMAKE_CURRENT_LIST_DIR}/../protobuf/*.proto") + +gravity_protobuf_generate(APPEND_PATH PROTOC_OUT_DIR ${CMAKE_CURRENT_BINARY_DIR} OUT_VAR PROTO_SRCS + PROTOS ${PROTO_FILES}) + +add_custom_target(${PROJECT_NAME}_protos ALL DEPENDS ${PROTO_SRCS}) + +set(CMAKE_DEBUG_POSTFIX _d) +add_executable(ProtobufDataProductPublisher ProtobufDataProductPublisher.cpp ${PROTO_SRCS}) +set_target_properties(ProtobufDataProductPublisher PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) +target_link_libraries(ProtobufDataProductPublisher PUBLIC gravity PRIVATE spdlog::spdlog_header_only) +target_include_directories(ProtobufDataProductPublisher PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) +add_dependencies(ProtobufDataProductPublisher ${PROJECT_NAME}_protos) + +add_executable(ProtobufDataProductSubscriber ProtobufDataProductSubscriber.cpp ${PROTO_SRCS}) +set_target_properties(ProtobufDataProductSubscriber PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) +target_link_libraries(ProtobufDataProductSubscriber PUBLIC gravity PRIVATE spdlog::spdlog_header_only) +target_include_directories(ProtobufDataProductSubscriber PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) +add_dependencies(ProtobufDataProductSubscriber ${PROJECT_NAME}_protos) + +configure_file(run.sh.in ../../../../test/examples/13-Relay/run.sh) diff --git a/test/examples/13-Relay/ProtobufDataProductPublisher.cpp b/test/examples/13-Relay/ProtobufDataProductPublisher.cpp index ef6ecc013..b97cd053b 100644 --- a/test/examples/13-Relay/ProtobufDataProductPublisher.cpp +++ b/test/examples/13-Relay/ProtobufDataProductPublisher.cpp @@ -21,7 +21,7 @@ #include #include -#include "../protobuf/BasicCounterDataProduct.pb.h" +#include "BasicCounterDataProduct.pb.h" int main() { diff --git a/test/examples/13-Relay/ProtobufDataProductSubscriber.cpp b/test/examples/13-Relay/ProtobufDataProductSubscriber.cpp index 84db61a43..b4a15bb52 100644 --- a/test/examples/13-Relay/ProtobufDataProductSubscriber.cpp +++ b/test/examples/13-Relay/ProtobufDataProductSubscriber.cpp @@ -20,9 +20,10 @@ #include #include #include +#include #include -#include "../protobuf/BasicCounterDataProduct.pb.h" +#include "BasicCounterDataProduct.pb.h" using namespace gravity; using namespace std; diff --git a/test/examples/13-Relay/run.sh.in b/test/examples/13-Relay/run.sh.in index 5c57f8365..207075fa4 100755 --- a/test/examples/13-Relay/run.sh.in +++ b/test/examples/13-Relay/run.sh.in @@ -19,8 +19,12 @@ # @configure_input@ # Tool-related substitution variables -PROTOBUF_LIB_DIR=@PROTOBUF_LIBDIR@ -ZMQ_LIB_DIR=@ZEROMQ_LIBDIR@ +PROTOBUF_LIB_DIR=@Protobuf_LIBRARY_RELEASE@ +ZMQ_LIB_DIR=@ZeroMQ_LIBRARY_RELEASE@ +EXAMPLE_BIN_DIR=@GravityExamples_BINARY_DIR@ +SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ +REL_BIN_DIR=@Relay_BINARY_DIR@ + export PATH=$PATH:../../../src/components/cpp/bin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR @@ -40,21 +44,21 @@ cleanup() # trap keyboard interrupt (control-c) trap cleanup SIGINT -ServiceDirectory & +$SD_BIN_DIR/ServiceDirectory & SDPID=$! # sleep for a second to give the service directory a chance to start up sleep 1 -./ProtobufDataProductPublisher & +$EXAMPLE_BIN_DIR/13-Relay/ProtobufDataProductPublisher & PUBPID=$! -./ProtobufDataProductSubscriber & +$EXAMPLE_BIN_DIR/13-Relay/ProtobufDataProductSubscriber & SUBPID=$! sleep 3 -Relay & +$REL_BIN_DIR/Relay & RPID=$! sleep 10 diff --git a/test/examples/9-Domains/CMakeLists.txt b/test/examples/9-Domains/CMakeLists.txt new file mode 100644 index 000000000..a08823806 --- /dev/null +++ b/test/examples/9-Domains/CMakeLists.txt @@ -0,0 +1,34 @@ +cmake_minimum_required(VERSION 3.17) +project(Domains) +# +# see CMakeLists.txt on how to set up CMAKE_PREFIX_PATH and CMAKE_MODULE_PATH +# + +# for gravity_protobuf_generate +include(GravitySupport) + + +find_package(spdlog REQUIRED) +find_package(Gravity QUIET) + +file(GLOB PROTO_FILES "${CMAKE_CURRENT_LIST_DIR}/../protobuf/*.proto") + +gravity_protobuf_generate(APPEND_PATH PROTOC_OUT_DIR ${CMAKE_CURRENT_BINARY_DIR} OUT_VAR PROTO_SRCS + PROTOS ${PROTO_FILES}) + +add_custom_target(${PROJECT_NAME}_protos ALL DEPENDS ${PROTO_SRCS}) + +set(CMAKE_DEBUG_POSTFIX _d) +add_executable(ProtobufDataProductPublisher ProtobufDataProductPublisher.cpp ${PROTO_SRCS}) +set_target_properties(ProtobufDataProductPublisher PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) +target_link_libraries(ProtobufDataProductPublisher PUBLIC gravity PRIVATE spdlog::spdlog_header_only) +target_include_directories(ProtobufDataProductPublisher PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) +add_dependencies(ProtobufDataProductPublisher ${PROJECT_NAME}_protos) + +add_executable(ProtobufDataProductSubscriber ProtobufDataProductSubscriber.cpp ${PROTO_SRCS}) +set_target_properties(ProtobufDataProductSubscriber PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) +target_link_libraries(ProtobufDataProductSubscriber PUBLIC gravity PRIVATE spdlog::spdlog_header_only) +target_include_directories(ProtobufDataProductSubscriber PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) +add_dependencies(ProtobufDataProductSubscriber ${PROJECT_NAME}_protos) + +configure_file(run.sh.in ../../../../test/examples/9-Domains/run.sh) diff --git a/test/examples/9-Domains/ProtobufDataProductPublisher.cpp b/test/examples/9-Domains/ProtobufDataProductPublisher.cpp index 821ee238c..62468aab4 100644 --- a/test/examples/9-Domains/ProtobufDataProductPublisher.cpp +++ b/test/examples/9-Domains/ProtobufDataProductPublisher.cpp @@ -19,9 +19,10 @@ #include #include #include +#include #include -#include "../protobuf/BasicCounterDataProduct.pb.h" +#include "BasicCounterDataProduct.pb.h" int main() { diff --git a/test/examples/9-Domains/ProtobufDataProductSubscriber.cpp b/test/examples/9-Domains/ProtobufDataProductSubscriber.cpp index 591a8c79e..602cd2585 100644 --- a/test/examples/9-Domains/ProtobufDataProductSubscriber.cpp +++ b/test/examples/9-Domains/ProtobufDataProductSubscriber.cpp @@ -20,9 +20,10 @@ #include #include #include +#include #include -#include "../protobuf/BasicCounterDataProduct.pb.h" +#include "BasicCounterDataProduct.pb.h" using namespace gravity; using namespace std; diff --git a/test/examples/9-Domains/run.sh.in b/test/examples/9-Domains/run.sh.in index 9546e5ef2..2b5fff02f 100755 --- a/test/examples/9-Domains/run.sh.in +++ b/test/examples/9-Domains/run.sh.in @@ -19,8 +19,10 @@ # @configure_input@ # Tool-related substitution variables -PROTOBUF_LIB_DIR=@PROTOBUF_LIBDIR@ -ZMQ_LIB_DIR=@ZEROMQ_LIBDIR@ +PROTOBUF_LIB_DIR=@Protobuf_LIBRARY_RELEASE@ +ZMQ_LIB_DIR=@ZeroMQ_LIBRARY_RELEASE@ +EXAMPLE_BIN_DIR=@GravityExamples_BINARY_DIR@ +SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ export PATH=$PATH:../../../src/components/cpp/bin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR @@ -37,30 +39,30 @@ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyval # trap keyboard interrupt (control-c) trap cleanup SIGINT -./ProtobufDataProductPublisher & +$EXAMPLE_BIN_DIR/9-Domains/ProtobufDataProductPublisher & PUBPID=$! -./ProtobufDataProductSubscriber & +$EXAMPLE_BIN_DIR/9-Domains/ProtobufDataProductSubscriber & SUBPID=$! -sleep 10 +sleep 20 -ServiceDirectory & +$SD_BIN_DIR/ServiceDirectory & SDPID=$! -sleep 10 +sleep 30 kill $SDPID $PUBPID echo Killed ServiceDirectory and ProtobufDataProductPublisher sleep 10 echo Restarting ServiceDirectory and ProtobufDataProductPublisher -./ProtobufDataProductPublisher & +$EXAMPLE_BIN_DIR/9-Domains/ProtobufDataProductPublisher & PUBPID=$! -ServiceDirectory & +$SD_BIN_DIR/ServiceDirectory & SDPID=$! -sleep 30 +sleep 10 cleanup diff --git a/test/examples/CMakeLists.txt b/test/examples/CMakeLists.txt index 79be7c2e4..d4bc35044 100644 --- a/test/examples/CMakeLists.txt +++ b/test/examples/CMakeLists.txt @@ -1,13 +1,16 @@ cmake_minimum_required(VERSION 3.17) project(GravityExamples) - +#Examples 2,9 and 13 all use source files with the same name, so only one can be built at a time add_subdirectory("1-BasicDataProduct") -add_subdirectory("2-ProtobufDataProduct") +#add_subdirectory("2-ProtobufDataProduct") add_subdirectory("3-MultipleDataProduct") add_subdirectory("4-BasicService") add_subdirectory("5-MiscFunctionality") add_subdirectory("8-ConfigFile") +#add_subdirectory("9-Domains") +add_subdirectory("10-Archiving") +add_subdirectory("13-Relay") if (NOT SKIP_JAVA) add_subdirectory("6-JavaProtobufDataProduct") From c58f53f68b6ee97fc46086f20f6c3dfed40594d5 Mon Sep 17 00:00:00 2001 From: APS VM Date: Mon, 2 Jun 2025 07:43:27 -0700 Subject: [PATCH 04/48] Example 10 "fixed" --- test/examples/10-Archiving/ArchiveTest.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/test/examples/10-Archiving/ArchiveTest.cpp b/test/examples/10-Archiving/ArchiveTest.cpp index 49c68309b..f42dc2e08 100644 --- a/test/examples/10-Archiving/ArchiveTest.cpp +++ b/test/examples/10-Archiving/ArchiveTest.cpp @@ -76,10 +76,12 @@ int main() count++; if (count > 50) count = 1; + //Turns archiving on and off every 5 count (on->off->on....) if (count % 5 == 0) { GravityDataProduct gdp("FileArchiverControlRequest"); FileArchiverControlRequestPB request; + //Suspend flag turns off further input into the archiver request.set_suspend(suspend); suspend = !suspend; gdp.setData(request); From 968671290219def95e68a8b868f5f73193252fd1 Mon Sep 17 00:00:00 2001 From: APS VM Date: Tue, 3 Jun 2025 12:38:21 -0700 Subject: [PATCH 05/48] Python is pythoning with Cmake! --- test/examples/11-PythonPubSub/CMakeLists.txt | 2 ++ test/examples/11-PythonPubSub/pypub.py | 6 +++--- test/examples/11-PythonPubSub/run.sh.in | 15 +++++++------- .../12-PythonBasicService/CMakeLists.txt | 4 +++- .../12-PythonBasicService/requestor.py | 20 +++++++++---------- test/examples/12-PythonBasicService/run.sh.in | 15 +++++++------- 6 files changed, 34 insertions(+), 28 deletions(-) diff --git a/test/examples/11-PythonPubSub/CMakeLists.txt b/test/examples/11-PythonPubSub/CMakeLists.txt index da898a112..618813f00 100644 --- a/test/examples/11-PythonPubSub/CMakeLists.txt +++ b/test/examples/11-PythonPubSub/CMakeLists.txt @@ -23,3 +23,5 @@ set_property(TEST pypubsub PROPERTY ENVIRONMENT_MODIFICATION "PYTHONPATH=path_list_prepend:${ABS_GRAVITY_ROOT}/${CMAKE_INSTALL_LIBDIR}" "PYTHONPATH=path_list_prepend:${CMAKE_CURRENT_BINARY_DIR}" ) + +configure_file(run.sh.in ../../../../test/examples/11-PythonPubSub/run.sh) diff --git a/test/examples/11-PythonPubSub/pypub.py b/test/examples/11-PythonPubSub/pypub.py index 3a1c23f4f..1e4269c1d 100644 --- a/test/examples/11-PythonPubSub/pypub.py +++ b/test/examples/11-PythonPubSub/pypub.py @@ -1,7 +1,7 @@ import time -from gravity import GravityNode, GravityDataProduct, gravity, GravitySubscriber, Log +from gravity import GravityNode, GravityDataProduct, gravity, GravitySubscriber, SpdLog from BasicCounterDataProduct_pb2 import BasicCounterDataProductPB @@ -16,14 +16,14 @@ def subscriptionFilled(self, dataProducts): counterPB = BasicCounterDataProductPB() for gdp in dataProducts: gdp.populateMessage(counterPB) - Log.message("received counter with value = "+str(counterPB.count)) + SpdLog.warn("received counter with value = "+str(counterPB.count)) mySub = MySubscriber() gn = GravityNode() while gn.init("PyPub") != gravity.SUCCESS: - Log.warning("failed to init, retrying...") + SpdLog.warn("failed to init, retrying...") time.sleep(1) gn.registerDataProduct("PythonGDP", gravity.TCP) gn.subscribe("PythonGDP", mySub) diff --git a/test/examples/11-PythonPubSub/run.sh.in b/test/examples/11-PythonPubSub/run.sh.in index a8dd08378..b4cd764bc 100755 --- a/test/examples/11-PythonPubSub/run.sh.in +++ b/test/examples/11-PythonPubSub/run.sh.in @@ -19,19 +19,20 @@ # @configure_input@ # Tool-related substitution variables -PROTOBUF_LIB_DIR=@PROTOBUF_LIBDIR@ -ZMQ_LIB_DIR=@ZEROMQ_LIBDIR@ -WITHOUT_PYTHON=@WITHOUT_PYTHON@ -PYTHON=@PYTHON@ +PROTOBUF_LIB_DIR=@Protobuf_LIBRARY_RELEASE@ +ZMQ_LIB_DIR=@ZeroMQ_LIBRARY_RELEASE@ +WITHOUT_PYTHON=@SKIP_PYTHON@ +PYTHON=python3 +SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ -if test $WITHOUT_PYTHON = no; +if test $WITHOUT_PYTHON = OFF; then export PATH=$PATH:../../../src/components/cpp/bin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ZMQ_LIB_DIR:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR - export PYTHONPATH=$PYTHONPATH:../../../lib:../protobuf + export PYTHONPATH=$PYTHONPATH:~/Gravity/build/install/lib - ServiceDirectory & + $SD_BIN_DIR/ServiceDirectory & SDPID=$! $PYTHON pypub.py & diff --git a/test/examples/12-PythonBasicService/CMakeLists.txt b/test/examples/12-PythonBasicService/CMakeLists.txt index e4eaadd28..5544f5d01 100644 --- a/test/examples/12-PythonBasicService/CMakeLists.txt +++ b/test/examples/12-PythonBasicService/CMakeLists.txt @@ -10,7 +10,7 @@ file(GLOB PROTO_FILES "${CMAKE_CURRENT_LIST_DIR}/../protobuf/*.proto") -gravity_protobuf_generate(APPEND_PATH LANGUAGE python PROTOC_OUT_DIR "${CMAKE_CURRENT_BINARY_DIR}" GENERATE_EXTENSIONS .py OUT_VAR SRCS PROTOS ${PROTO_FILES}) +gravity_protobuf_generate(APPEND_PATH LANGUAGE python PROTOC_OUT_DIR "${CMAKE_CURRENT_SOURCE_DIR}" GENERATE_EXTENSIONS .py OUT_VAR SRCS PROTOS ${PROTO_FILES}) add_custom_target(${PROJECT_NAME} ALL DEPENDS "${SRCS}") set(PY_EXEC python3) @@ -24,3 +24,5 @@ set_property(TEST pybasicservice PROPERTY ENVIRONMENT_MODIFICATION "PYTHONPATH=path_list_prepend:${CMAKE_CURRENT_BINARY_DIR}" "PYTHONPATH=path_list_prepend:${ABS_GRAVITY_ROOT}/${CMAKE_INSTALL_LIBDIR}" ) + +configure_file(run.sh.in ../../../../test/examples/12-PythonBasicService/run.sh) diff --git a/test/examples/12-PythonBasicService/requestor.py b/test/examples/12-PythonBasicService/requestor.py index 19251c268..9e81b2d94 100644 --- a/test/examples/12-PythonBasicService/requestor.py +++ b/test/examples/12-PythonBasicService/requestor.py @@ -1,7 +1,7 @@ import time import gravity -from gravity import GravityNode, GravityDataProduct, gravity, GravityRequestor, GravityServiceProvider, Log +from gravity import GravityNode, GravityDataProduct, gravity, GravityRequestor, GravityServiceProvider, SpdLog from Multiplication_pb2 import MultiplicationOperandsPB, MultiplicationResultPB done = False @@ -15,28 +15,28 @@ def __init__(self): def requestFilled(self, serviceID, requestID, response): multResponse = MultiplicationResultPB() response.populateMessage(multResponse) - Log.message("made it to request filled with request GDP ID = "+response.dataProductID +" and response = " + str(multResponse.result)) + SpdLog.warn("made it to request filled with request GDP ID = "+response.dataProductID +" and response = " + str(multResponse.result)) global done done = True def request(self, serviceID, dataProduct): - Log.message("made it to my request!") - Log.message("for serviceID = "+serviceID) + SpdLog.warn("made it to my request!") + SpdLog.warn("for serviceID = "+serviceID) operands = MultiplicationOperandsPB() - Log.message(str(type(operands))) + SpdLog.warn(str(type(operands))) dataProduct.populateMessage(operands) - Log.message("have operands = "+str([operands.multiplicand_a, operands.multiplicand_b])) + SpdLog.warn("have operands = "+str([operands.multiplicand_a, operands.multiplicand_b])) multResponse = MultiplicationResultPB() multResponse.result = operands.multiplicand_a * operands.multiplicand_b gdp = GravityDataProduct("MultResponse") gdp.data = multResponse - Log.message("returning response with result = "+str(multResponse.result)) + SpdLog.warn("returning response with result = "+str(multResponse.result)) return gdp gn = GravityNode() while gn.init("PyRequest") != gravity.SUCCESS: - Log.warning("failed to init, retrying...") + SpdLog.warn("failed to init, retrying...") time.sleep(1) requestorProvider = MyRequestorProvider() @@ -58,10 +58,10 @@ def request(self, serviceID, dataProduct): operands.multiplicand_b = 6 gdp.data=operands gdpResp = gn.request("Multiplication", gdp) -Log.message("received GDP response") +SpdLog.warn("received GDP response") multResponse = MultiplicationResultPB() gdpResp.populateMessage(multResponse) -Log.message("made it to request filled with request GDP ID = "+gdpResp.dataProductID +" and response = " + str(multResponse.result)) +SpdLog.warn("made it to request filled with request GDP ID = "+gdpResp.dataProductID +" and response = " + str(multResponse.result)) diff --git a/test/examples/12-PythonBasicService/run.sh.in b/test/examples/12-PythonBasicService/run.sh.in index 078150747..c17212797 100755 --- a/test/examples/12-PythonBasicService/run.sh.in +++ b/test/examples/12-PythonBasicService/run.sh.in @@ -19,19 +19,20 @@ # @configure_input@ # Tool-related substitution variables -PROTOBUF_LIB_DIR=@PROTOBUF_LIBDIR@ -ZMQ_LIB_DIR=@ZEROMQ_LIBDIR@ -WITHOUT_PYTHON=@WITHOUT_PYTHON@ -PYTHON=@PYTHON@ +PROTOBUF_LIB_DIR=@Protobuf_LIBRARY_RELEASE@ +ZMQ_LIB_DIR=@ZeroMQ_LIBRARY_RELEASE@ +WITHOUT_PYTHON=@SKIP_PYTHON@ +PYTHON=python3 +SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ -if test $WITHOUT_PYTHON = no; +if test $WITHOUT_PYTHON = OFF; then export PATH=$PATH:../../../src/components/cpp/bin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ZMQ_LIB_DIR:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR - export PYTHONPATH=$PYTHONPATH:../../../lib:../protobuf + export PYTHONPATH=~/Gravity/build/install/lib - ServiceDirectory & + $SD_BIN_DIR/ServiceDirectory & SDPID=$! $PYTHON requestor.py From 8a49d12df747d005706f964a9f81b282b49222c4 Mon Sep 17 00:00:00 2001 From: APS VM Date: Tue, 10 Jun 2025 14:23:35 -0700 Subject: [PATCH 06/48] All examples done (up for review) --- cmake/FindZeroMQ.cmake | 2 + src/api/java/CMakeLists.txt | 12 ++-- test/examples/1-BasicDataProduct/Gravity.ini | 19 ++++++ test/examples/10-Archiving/Gravity.ini | 5 +- test/examples/11-PythonPubSub/Gravity.ini | 4 +- test/examples/11-PythonPubSub/run.sh.in | 5 +- .../12-PythonBasicService/Gravity.ini | 4 +- test/examples/12-PythonBasicService/run.sh.in | 4 +- test/examples/13-Relay/Gravity.ini | 5 +- .../14-AnomalyDetection/CMakeLists.txt | 29 +++++++++ test/examples/14-AnomalyDetection/Gravity.ini | 4 +- .../examples/14-AnomalyDetection/detect.sh.in | 19 +++--- test/examples/14-AnomalyDetection/train.sh.in | 18 +++--- .../2-ProtobufDataProduct/Gravity.ini | 19 ++++++ .../3-MultipleDataProduct/Gravity.ini | 19 ++++++ test/examples/4-BasicService/Gravity.ini | 19 ++++++ test/examples/5-MiscFunctionality/Gravity.ini | 19 ++++++ .../6-JavaProtobufDataProduct/CMakeLists.txt | 6 +- .../6-JavaProtobufDataProduct/Gravity.ini | 19 ++++++ .../6-JavaProtobufDataProduct/run.sh.in | 24 ++++--- .../7-JavaBasicService/CMakeLists.txt | 63 +++++++++++++++++++ test/examples/7-JavaBasicService/Gravity.ini | 18 ++++++ test/examples/7-JavaBasicService/run.sh.in | 25 +++++--- test/examples/8-ConfigFile/Gravity.ini | 4 +- test/examples/9-Domains/Gravity.ini | 4 +- test/examples/CMakeLists.txt | 4 ++ 26 files changed, 314 insertions(+), 59 deletions(-) create mode 100644 test/examples/1-BasicDataProduct/Gravity.ini create mode 100644 test/examples/14-AnomalyDetection/CMakeLists.txt create mode 100644 test/examples/2-ProtobufDataProduct/Gravity.ini create mode 100644 test/examples/3-MultipleDataProduct/Gravity.ini create mode 100644 test/examples/4-BasicService/Gravity.ini create mode 100644 test/examples/5-MiscFunctionality/Gravity.ini create mode 100644 test/examples/6-JavaProtobufDataProduct/Gravity.ini create mode 100644 test/examples/7-JavaBasicService/CMakeLists.txt create mode 100644 test/examples/7-JavaBasicService/Gravity.ini diff --git a/cmake/FindZeroMQ.cmake b/cmake/FindZeroMQ.cmake index 4537aaa67..0bb702766 100644 --- a/cmake/FindZeroMQ.cmake +++ b/cmake/FindZeroMQ.cmake @@ -139,6 +139,8 @@ if(ZeroMQ_LIBRARY) IMPORTED_CONFIGURATIONS RELEASE) set_target_properties(libzmq PROPERTIES IMPORTED_LOCATION_RELEASE "${ZeroMQ_LIBRARY_RELEASE}") + cmake_path(GET ZeroMQ_LIBRARY_RELEASE PARENT_PATH ZeroMQ_PARENT_DIRECTORY) + set(ZeroMQ_PARENT_DIRECTORY "${ZeroMQ_PARENT_DIRECTORY}" CACHE ON FILEPATH) endif() if(EXISTS "${ZeroMQ_LIBRARY_DEBUG}") set_property(TARGET libzmq APPEND PROPERTY diff --git a/src/api/java/CMakeLists.txt b/src/api/java/CMakeLists.txt index e14d8c69e..eea291236 100644 --- a/src/api/java/CMakeLists.txt +++ b/src/api/java/CMakeLists.txt @@ -8,9 +8,10 @@ include(UseJava) gravity_find_protobuf(ON) # TODO check GRAVITY_USING_EXTERNAL_PROTOBUF -set(PUBLIC_JAR "/usr/share/java/protobuf.jar" "${Protobuf_SRC_ROOT_FOLDER}/java/target/protobuf-java-${Protobuf_VERSION}.jar") +set(PUBLIC_JAR "${JAVA_PROTOBUF_JAR}") set(CMAKE_JAVA_INCLUDE_PATH "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/protobuf-java.jar" ${PUBLIC_JAR}) + set(CMAKE_JAVA_COMPILE_FLAGS -sourcepath "${CMAKE_CURRENT_LIST_DIR}/src/java") set(JAVA_SRCS @@ -72,8 +73,7 @@ gravity_add_jar_debug_release(${PROJECT_NAME} SOURCES ${JAVA_SRCS} ${JAVA_PROTO_ "${CMAKE_BINARY_DIR}/java/com/aphysci/gravity/swig/gravityJNI.java" "${CMAKE_BINARY_DIR}/java/com/aphysci/gravity/swig/gravity.java" "${CMAKE_BINARY_DIR}/java/com/aphysci/gravity/swig/gravityConstants.java" - OUTPUT_NAME gravity) - - -gravity_install_jar(${PROJECT_NAME} DESTINATION "${CMAKE_INSTALL_LIBDIR}") -gravity_add_dependency(${PROJECT_NAME}) + OUTPUT_NAME gravity + OUTPUT_DIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}") + # gravity_install_jar(${PROJECT_NAME} DESTINATION "/home/flinker/Gravity/build/install/lib") + gravity_add_dependency(${PROJECT_NAME}) diff --git a/test/examples/1-BasicDataProduct/Gravity.ini b/test/examples/1-BasicDataProduct/Gravity.ini new file mode 100644 index 000000000..1ab230fde --- /dev/null +++ b/test/examples/1-BasicDataProduct/Gravity.ini @@ -0,0 +1,19 @@ +# +# This section is common to all components +# +[general] +# Set the log level for logs written to the log file +GravityFileLogLevel=debug + +# Set the log level for logs written to the console that started the component +#Can make output look funky, so uncomment at your own risk +#GravityConsoleLogLevel=debug + +# Without this, Gravity will spend a few seconds trying to retrieve +# parameters from a remote ConfigServer. +NoConfigServer=true + +# The URL where the ServiceDirectory will be found. This value is the same as the default. +ServiceDirectoryURL="tcp://localhost:5555" + + diff --git a/test/examples/10-Archiving/Gravity.ini b/test/examples/10-Archiving/Gravity.ini index 6d0c02d65..8d610541c 100644 --- a/test/examples/10-Archiving/Gravity.ini +++ b/test/examples/10-Archiving/Gravity.ini @@ -2,8 +2,9 @@ [general] ServiceDirectoryURL="tcp://localhost:5555" NoConfigServer=true -LocalLogLevel=debug -ConsoleLogLevel=debug +GravityLocalLogLevel=debug +GravityFileLogLevel=debug +#GravityConsoleLogLevel=debug [FileArchiver] ArchiveFilename="archive.bin" diff --git a/test/examples/11-PythonPubSub/Gravity.ini b/test/examples/11-PythonPubSub/Gravity.ini index 5bb74a81a..2d44c4661 100644 --- a/test/examples/11-PythonPubSub/Gravity.ini +++ b/test/examples/11-PythonPubSub/Gravity.ini @@ -1,6 +1,6 @@ [general] ServiceDirectoryURL="tcp://127.0.0.1:5555" NoConfigServer=true -LocalLogLevel=DEBUG -ConsoleLogLevel=DEBUG +GravityFileLogLevel=DEBUG +#GravityConsoleLogLevel=DEBUG diff --git a/test/examples/11-PythonPubSub/run.sh.in b/test/examples/11-PythonPubSub/run.sh.in index b4cd764bc..7ad1694a8 100755 --- a/test/examples/11-PythonPubSub/run.sh.in +++ b/test/examples/11-PythonPubSub/run.sh.in @@ -24,13 +24,16 @@ ZMQ_LIB_DIR=@ZeroMQ_LIBRARY_RELEASE@ WITHOUT_PYTHON=@SKIP_PYTHON@ PYTHON=python3 SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ +CM_INST_PRE=@CMAKE_INSTALL_PREFIX@ +CM_LIB_DIR=@CMAKE_INSTALL_LIBDIR@ + if test $WITHOUT_PYTHON = OFF; then export PATH=$PATH:../../../src/components/cpp/bin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ZMQ_LIB_DIR:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR - export PYTHONPATH=$PYTHONPATH:~/Gravity/build/install/lib + export PYTHONPATH=$PYTHONPATH:$CM_INST_PRE/$CM_LIB_DIR $SD_BIN_DIR/ServiceDirectory & SDPID=$! diff --git a/test/examples/12-PythonBasicService/Gravity.ini b/test/examples/12-PythonBasicService/Gravity.ini index cd8901b6c..be145dcbb 100644 --- a/test/examples/12-PythonBasicService/Gravity.ini +++ b/test/examples/12-PythonBasicService/Gravity.ini @@ -1,6 +1,6 @@ [general] ServiceDirectoryURL="tcp://localhost:5555" NoConfigServer=true -LocalLogLevel=DEBUG -ConsoleLogLevel=DEBUG +GravityFileLogLevel=DEBUG +#GravityConsoleLogLevel=DEBUG diff --git a/test/examples/12-PythonBasicService/run.sh.in b/test/examples/12-PythonBasicService/run.sh.in index c17212797..febe019da 100755 --- a/test/examples/12-PythonBasicService/run.sh.in +++ b/test/examples/12-PythonBasicService/run.sh.in @@ -24,13 +24,15 @@ ZMQ_LIB_DIR=@ZeroMQ_LIBRARY_RELEASE@ WITHOUT_PYTHON=@SKIP_PYTHON@ PYTHON=python3 SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ +CM_INST_PRE=@CMAKE_INSTALL_PREFIX@ +CM_LIB_DIR=@CMAKE_INSTALL_LIBDIR@ if test $WITHOUT_PYTHON = OFF; then export PATH=$PATH:../../../src/components/cpp/bin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ZMQ_LIB_DIR:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR - export PYTHONPATH=~/Gravity/build/install/lib + export PYTHONPATH=$CM_INST_PRE/$CM_LIB_DIR $SD_BIN_DIR/ServiceDirectory & SDPID=$! diff --git a/test/examples/13-Relay/Gravity.ini b/test/examples/13-Relay/Gravity.ini index 484b3cf6a..37b31719a 100644 --- a/test/examples/13-Relay/Gravity.ini +++ b/test/examples/13-Relay/Gravity.ini @@ -1,8 +1,9 @@ [general] ServiceDirectoryURL="tcp://localhost:5555" NoConfigServer=true -LocalLogLevel=DEBUG -ConsoleLogLevel=DEBUG +GravityLocalLogLevel=DEBUG +GravityFileLogLevel=DEBUG +#GravityConsoleLogLevel=DEBUG [Relay] DataProductList="BasicCounterDataProduct" diff --git a/test/examples/14-AnomalyDetection/CMakeLists.txt b/test/examples/14-AnomalyDetection/CMakeLists.txt new file mode 100644 index 000000000..0a2de9f02 --- /dev/null +++ b/test/examples/14-AnomalyDetection/CMakeLists.txt @@ -0,0 +1,29 @@ +cmake_minimum_required(VERSION 3.17) + +project(AnomalyDetection) +include(GNUInstallDirs) +include(GravitySupport) + +find_package(Gravity QUIET) + +file(GLOB PROTO_FILES "${CMAKE_CURRENT_LIST_DIR}/../protobuf/*.proto") + + + +gravity_protobuf_generate(APPEND_PATH LANGUAGE python PROTOC_OUT_DIR "${CMAKE_CURRENT_SOURCE_DIR}" GENERATE_EXTENSIONS .py OUT_VAR SRCS PROTOS ${PROTO_FILES}) +add_custom_target(${PROJECT_NAME} ALL DEPENDS "${SRCS}") + +set(PY_EXEC python3) +if (WIN32) + set(PY_EXEC python) +endif() +add_test(NAME pybasicservice COMMAND ${PY_EXEC} requestor.py WORKING_DIRECTORY "${CMAKE_CURRENT_LIST_DIR}") +set_property(TEST pybasicservice PROPERTY ENVIRONMENT_MODIFICATION + "LD_LIBRARY_PATH=path_list_prepend:${ABS_GRAVITY_ROOT}/${CMAKE_INSTALL_LIBDIR}" + "PATH=path_list_prepend:${ABS_GRAVITY_ROOT}/${CMAKE_INSTALL_BINDIR}" + "PYTHONPATH=path_list_prepend:${CMAKE_CURRENT_BINARY_DIR}" + "PYTHONPATH=path_list_prepend:${ABS_GRAVITY_ROOT}/${CMAKE_INSTALL_LIBDIR}" +) + +configure_file(train.sh.in ../../../../test/examples/14-AnomalyDetection/train.sh) +configure_file(detect.sh.in ../../../../test/examples/14-AnomalyDetection/detect.sh) diff --git a/test/examples/14-AnomalyDetection/Gravity.ini b/test/examples/14-AnomalyDetection/Gravity.ini index 5273e8247..49ac9e5b7 100644 --- a/test/examples/14-AnomalyDetection/Gravity.ini +++ b/test/examples/14-AnomalyDetection/Gravity.ini @@ -1,8 +1,8 @@ [general] ServiceDirectoryURL="tcp://localhost:5555" NoConfigServer=true -LocalLogLevel=DEBUG -ConsoleLogLevel=DEBUG +GravityFileLogLevel=DEBUG +#GravityConsoleLogLevel=DEBUG subscription_name = "AutoencoderExample" diff --git a/test/examples/14-AnomalyDetection/detect.sh.in b/test/examples/14-AnomalyDetection/detect.sh.in index 45e63e01b..185a0fef0 100755 --- a/test/examples/14-AnomalyDetection/detect.sh.in +++ b/test/examples/14-AnomalyDetection/detect.sh.in @@ -20,22 +20,25 @@ # Tool-related substitution variables GRAVITY_ROOT=../../.. -PROTOBUF_LIB_DIR=@PROTOBUF_LIBDIR@ -ZMQ_LIB_DIR=@ZEROMQ_LIBDIR@ -WITHOUT_PYTHON=@WITHOUT_PYTHON@ -PYTHON=@PYTHON@ +PROTOBUF_LIB_DIR=@Protobuf_LIBRARY_RELEASE@ +ZMQ_LIB_DIR=@ZeroMQ_LIBRARY_RELEASE@ +WITHOUT_PYTHON=@SKIP_PYTHON@ +PYTHON=python3 TERM=gnome-terminal +SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ +CM_INST_PRE=@CMAKE_INSTALL_PREFIX@ +CM_LIB_DIR=@CMAKE_INSTALL_LIBDIR@ -if test $WITHOUT_PYTHON = no; +if test $WITHOUT_PYTHON = OFF; then export PATH=$PATH:$GRAVITY_ROOT/src/components/cpp/bin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ZMQ_LIB_DIR:$GRAVITY_ROOT/src/api/cpp:$GRAVITY_ROOT/src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR - export PYTHONPATH=$PYTHONPATH:$GRAVITY_ROOT/lib + export PYTHONPATH=$PYTHONPATH:$CM_INST_PRE/$CM_LIB_DIR - @PROTOC@ --proto_path=. --python_out=. DataPoint.proto || exit + protoc --proto_path=. --python_out=. DataPoint.proto || exit - $TERM -- /bin/bash -c "echo -ne '\033]0;Service Directory \007'; ServiceDirectory ; read -p 'Press return to exit'" & + $TERM -- /bin/bash -c "echo -ne '\033]0;Service Directory \007'; $SD_BIN_DIR/ServiceDirectory ; read -p 'Press return to exit'" & $TERM -- /bin/bash -c "echo -ne '\033]0;Publisher \007'; $PYTHON pub.py 500 ; read -p 'Press return to exit'" & $TERM -- /bin/bash -c "echo -ne '\033]0;Anomaly Detector \007'; $PYTHON detect.py ; read -p 'Press return to exit'" & diff --git a/test/examples/14-AnomalyDetection/train.sh.in b/test/examples/14-AnomalyDetection/train.sh.in index 7d416ff6d..7fefc295c 100755 --- a/test/examples/14-AnomalyDetection/train.sh.in +++ b/test/examples/14-AnomalyDetection/train.sh.in @@ -20,22 +20,26 @@ # Tool-related substitution variables GRAVITY_ROOT=../../.. -PROTOBUF_LIB_DIR=@PROTOBUF_LIBDIR@ -ZMQ_LIB_DIR=@ZEROMQ_LIBDIR@ -WITHOUT_PYTHON=@WITHOUT_PYTHON@ -PYTHON=@PYTHON@ +PROTOBUF_LIB_DIR=@Protobuf_LIBRARY_DIRECTORY@ +ZMQ_LIB_DIR=@ZeroMQ_LIBRARY_DIRECTORY@ +WITHOUT_PYTHON=@SKIP_PYTHON@ +PYTHON=python3 TERM=gnome-terminal +SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ +CM_INST_PRE=@CMAKE_INSTALL_PREFIX@ +CM_LIB_DIR=@CMAKE_INSTALL_LIBDIR@ -if test $WITHOUT_PYTHON = no; + +if test $WITHOUT_PYTHON = OFF; then export PATH=$PATH:$GRAVITY_ROOT/src/components/cpp/bin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ZMQ_LIB_DIR:$GRAVITY_ROOT/src/api/cpp:$GRAVITY_ROOT/src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR - export PYTHONPATH=$PYTHONPATH:$GRAVITY_ROOT/lib + export PYTHONPATH=$PYTHONPATH:$CM_INST_PRE/$CM_LIB_DIR protoc --proto_path=. --python_out=. DataPoint.proto || exit - $TERM -- /bin/bash -c "echo -ne '\033]0;Service Directory \007'; ServiceDirectory ; read -p 'Press return to exit'" & + $TERM -- /bin/bash -c "echo -ne '\033]0;Service Directory \007'; $SD_BIN_DIR/ServiceDirectory ; read -p 'Press return to exit'" & $TERM -- /bin/bash -c "echo -ne '\033]0;Publisher \007'; $PYTHON pub.py ; read -p 'Press return to exit'" & $TERM -- /bin/bash -c "echo -ne '\033]0;Model Training \007'; $PYTHON train.py ; read -p 'Press return to exit'" & diff --git a/test/examples/2-ProtobufDataProduct/Gravity.ini b/test/examples/2-ProtobufDataProduct/Gravity.ini new file mode 100644 index 000000000..1ab230fde --- /dev/null +++ b/test/examples/2-ProtobufDataProduct/Gravity.ini @@ -0,0 +1,19 @@ +# +# This section is common to all components +# +[general] +# Set the log level for logs written to the log file +GravityFileLogLevel=debug + +# Set the log level for logs written to the console that started the component +#Can make output look funky, so uncomment at your own risk +#GravityConsoleLogLevel=debug + +# Without this, Gravity will spend a few seconds trying to retrieve +# parameters from a remote ConfigServer. +NoConfigServer=true + +# The URL where the ServiceDirectory will be found. This value is the same as the default. +ServiceDirectoryURL="tcp://localhost:5555" + + diff --git a/test/examples/3-MultipleDataProduct/Gravity.ini b/test/examples/3-MultipleDataProduct/Gravity.ini new file mode 100644 index 000000000..1ab230fde --- /dev/null +++ b/test/examples/3-MultipleDataProduct/Gravity.ini @@ -0,0 +1,19 @@ +# +# This section is common to all components +# +[general] +# Set the log level for logs written to the log file +GravityFileLogLevel=debug + +# Set the log level for logs written to the console that started the component +#Can make output look funky, so uncomment at your own risk +#GravityConsoleLogLevel=debug + +# Without this, Gravity will spend a few seconds trying to retrieve +# parameters from a remote ConfigServer. +NoConfigServer=true + +# The URL where the ServiceDirectory will be found. This value is the same as the default. +ServiceDirectoryURL="tcp://localhost:5555" + + diff --git a/test/examples/4-BasicService/Gravity.ini b/test/examples/4-BasicService/Gravity.ini new file mode 100644 index 000000000..1ab230fde --- /dev/null +++ b/test/examples/4-BasicService/Gravity.ini @@ -0,0 +1,19 @@ +# +# This section is common to all components +# +[general] +# Set the log level for logs written to the log file +GravityFileLogLevel=debug + +# Set the log level for logs written to the console that started the component +#Can make output look funky, so uncomment at your own risk +#GravityConsoleLogLevel=debug + +# Without this, Gravity will spend a few seconds trying to retrieve +# parameters from a remote ConfigServer. +NoConfigServer=true + +# The URL where the ServiceDirectory will be found. This value is the same as the default. +ServiceDirectoryURL="tcp://localhost:5555" + + diff --git a/test/examples/5-MiscFunctionality/Gravity.ini b/test/examples/5-MiscFunctionality/Gravity.ini new file mode 100644 index 000000000..1ab230fde --- /dev/null +++ b/test/examples/5-MiscFunctionality/Gravity.ini @@ -0,0 +1,19 @@ +# +# This section is common to all components +# +[general] +# Set the log level for logs written to the log file +GravityFileLogLevel=debug + +# Set the log level for logs written to the console that started the component +#Can make output look funky, so uncomment at your own risk +#GravityConsoleLogLevel=debug + +# Without this, Gravity will spend a few seconds trying to retrieve +# parameters from a remote ConfigServer. +NoConfigServer=true + +# The URL where the ServiceDirectory will be found. This value is the same as the default. +ServiceDirectoryURL="tcp://localhost:5555" + + diff --git a/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt b/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt index a9104bd7c..7bb8c3d82 100644 --- a/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt +++ b/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt @@ -20,7 +20,7 @@ gravity_protobuf_generate(APPEND_PATH LANGUAGE java PROTOC_OUT_DIR "${CMAKE_CURR add_custom_target(${PROJECT_NAME}_protos ALL DEPENDS ${PROTO_SRCS}) -set(CMAKE_JAVA_INCLUDE_PATH "${ABS_GRAVITY_ROOT}/${CMAKE_INSTALL_LIBDIR}/protobuf-java.jar" ${PUBLIC_JAR}) +set(CMAKE_JAVA_INCLUDE_PATH "/home/flinker/Gravity/src/api/java/build/protobuf-java-${Protobuf_VERSION}.jar" ${PUBLIC_JAR}) string(APPEND CMAKE_JAVA_INCLUDE_PATH_FINAL_RELEASE "${_UseJava_PATH_SEP}${ABS_GRAVITY_ROOT}/${CMAKE_INSTALL_LIBDIR}/gravity.jar${_UseJava_PATH_SEP}${CMAKE_BINARY_DIR}/src/api/java/gravity.jar") string(APPEND CMAKE_JAVA_INCLUDE_PATH_FINAL_DEBUG "${_UseJava_PATH_SEP}${ABS_GRAVITY_ROOT}/${CMAKE_INSTALL_LIBDIR}/gravity${CMAKE_DEBUG_POSTFIX}.jar${_UseJava_PATH_SEP}${CMAKE_BINARY_DIR}/src/api/java/gravity${CMAKE_DEBUG_POSTFIX}.jar") message(STATUS "CMAKE_JAVA_INCLUDE_PATH_FINAL_DEBUG: ${CMAKE_JAVA_INCLUDE_PATH_FINAL_DEBUG}") @@ -53,9 +53,11 @@ endif() add_dependencies(${PROJECT_NAME} ${_DEPS}) set(CMAKE_DEBUG_POSTFIX ${ORIG_CMAKE_DEBUG_POSTFIX}) -#gravity_install_jar(${PROJECT_NAME} DESTINATION "${CMAKE_INSTALL_PREFIX}/bin") +gravity_install_jar(${PROJECT_NAME} DESTINATION "${CMAKE_INSTALL_PREFIX}/bin") if (WIN32) install(FILES "${CMAKE_BINARY_DIR}/RunJavaProtobufDataProductDebug.bat" DESTINATION bin CONFIGURATIONS Debug) install(FILES "${CMAKE_BINARY_DIR}/RunJavaProtobufDataProductRelease.bat" DESTINATION bin CONFIGURATIONS Release RelWithDebInfo MinSizeRel) endif() + +configure_file(run.sh.in ../../../../test/examples/6-JavaProtobufDataProduct/run.sh) diff --git a/test/examples/6-JavaProtobufDataProduct/Gravity.ini b/test/examples/6-JavaProtobufDataProduct/Gravity.ini new file mode 100644 index 000000000..1ab230fde --- /dev/null +++ b/test/examples/6-JavaProtobufDataProduct/Gravity.ini @@ -0,0 +1,19 @@ +# +# This section is common to all components +# +[general] +# Set the log level for logs written to the log file +GravityFileLogLevel=debug + +# Set the log level for logs written to the console that started the component +#Can make output look funky, so uncomment at your own risk +#GravityConsoleLogLevel=debug + +# Without this, Gravity will spend a few seconds trying to retrieve +# parameters from a remote ConfigServer. +NoConfigServer=true + +# The URL where the ServiceDirectory will be found. This value is the same as the default. +ServiceDirectoryURL="tcp://localhost:5555" + + diff --git a/test/examples/6-JavaProtobufDataProduct/run.sh.in b/test/examples/6-JavaProtobufDataProduct/run.sh.in index 4f68b0d82..8fdf67bff 100755 --- a/test/examples/6-JavaProtobufDataProduct/run.sh.in +++ b/test/examples/6-JavaProtobufDataProduct/run.sh.in @@ -19,26 +19,30 @@ # @configure_input@ # Tool-related substitution variables -PROTOBUF_LIB_DIR=@PROTOBUF_LIBDIR@ -ZMQ_LIB_DIR=@ZEROMQ_LIBDIR@ -JAVAPROTOBUF_DIR=@JAVAPROTOBUF_DIR@ -WITHOUT_JAVA=@WITHOUT_JAVA@ - -if test $WITHOUT_JAVA = no; +PROTOBUF_LIB_DIR=@Protobuf_LIBRARY_RELEASE@ +ZMQ_LIB_DIR=@ZeroMQ_LIBRARY_RELEASE@ +ZMQ_PAR_DIR=@ZeroMQ_PARENT_DIRECTORY@ +JAVAPROTOBUF_DIR=@JAVA_PROTOBUF_JAR@ +WITHOUT_JAVA=@SKIP_JAVA@ +SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ +CM_INST_PRE=@CMAKE_INSTALL_PREFIX@ +CM_INST_LIB=@CMAKE_INSTALL_LIBDIR@ +SIX_BIN_DIR=@JavaProtobufDataProduct_BINARY_DIR@ + +if test $WITHOUT_JAVA = OFF; then export PATH=$PATH:../../../src/api/java:../../../src/components/cpp/bin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ZMQ_LIB_DIR:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR - ServiceDirectory & + $SD_BIN_DIR/ServiceDirectory & SDPID=$! - java -cp build:$JAVAPROTOBUF_DIR:../../../src/api/java/gravity.jar -Djava.library.path=../../../src/api/java:$ZMQ_LIB_DIR JavaProtobufDataProductPublisher & - JDPPID=$! + java -cp build:$JAVAPROTOBUF_DIR:$CM_INST_PRE/$CM_INST_LIB/gravity.jar:$SIX_BIN_DIR/JavaProtobufDataProduct.jar:$JAVAPROTOBUF_DIR -Djava.library.path=$CM_INST_PRE/$CM_INST_LIB:$ZMQ_PAR_DIR JavaProtobufDataProductPublisher & # sleep for a second to give the publisher a chance to register its data product sleep 1 - java -cp build:$JAVAPROTOBUF_DIR:../../../src/api/java/gravity.jar -Djava.library.path=../../../src/api/java:$ZMQ_LIB_DIR JavaProtobufDataProductSubscriber + java -cp build:$JAVAPROTOBUF_DIR:$CM_INST_PRE/$CM_INST_LIB/gravity.jar:$SIX_BIN_DIR/JavaProtobufDataProduct.jar:$JAVAPROTOBUF_DIR -Djava.library.path=$CM_INST_PRE/$CM_INST_LIB:$ZMQ_PAR_DIR JavaProtobufDataProductSubscriber kill $SDPID kill $JDPPID diff --git a/test/examples/7-JavaBasicService/CMakeLists.txt b/test/examples/7-JavaBasicService/CMakeLists.txt new file mode 100644 index 000000000..ecb466470 --- /dev/null +++ b/test/examples/7-JavaBasicService/CMakeLists.txt @@ -0,0 +1,63 @@ +cmake_minimum_required(VERSION 3.17) + +project(JavaBasicService) +include(GNUInstallDirs) +include(GravitySupport) + +find_package(Gravity QUIET) + +set(LOCAL_PROTOBUF_JAR) +if (Protobuf_SRC_ROOT_FOLDER) + set(LOCAL_PROTOBUF_JAR "${Protobuf_SRC_ROOT_FOLDER}/java/target/protobuf-java-${Protobuf_VERSION}.jar") +endif() +set(PUBLIC_JAR "/usr/share/java/protobuf.jar" "${LOCAL_PROTOBUF_JAR}") +find_package(GravityJava REQUIRED) +include(UseJava) + +file(GLOB PROTO_FILES "${CMAKE_CURRENT_LIST_DIR}/../protobuf/*.proto") + +gravity_protobuf_generate(APPEND_PATH LANGUAGE java PROTOC_OUT_DIR "${CMAKE_CURRENT_BINARY_DIR}" GENERATE_EXTENSIONS .java OUT_VAR PROTO_SRCS PROTOS ${PROTO_FILES}) + +add_custom_target(${PROJECT_NAME}_protos ALL DEPENDS ${PROTO_SRCS}) + +set(CMAKE_JAVA_INCLUDE_PATH "/home/flinker/Gravity/src/api/java/build/protobuf-java-${Protobuf_VERSION}.jar" ${PUBLIC_JAR}) +string(APPEND CMAKE_JAVA_INCLUDE_PATH_FINAL_RELEASE "${_UseJava_PATH_SEP}${ABS_GRAVITY_ROOT}/${CMAKE_INSTALL_LIBDIR}/gravity.jar${_UseJava_PATH_SEP}${CMAKE_BINARY_DIR}/src/api/java/gravity.jar") +string(APPEND CMAKE_JAVA_INCLUDE_PATH_FINAL_DEBUG "${_UseJava_PATH_SEP}${ABS_GRAVITY_ROOT}/${CMAKE_INSTALL_LIBDIR}/gravity${CMAKE_DEBUG_POSTFIX}.jar${_UseJava_PATH_SEP}${CMAKE_BINARY_DIR}/src/api/java/gravity${CMAKE_DEBUG_POSTFIX}.jar") +message(STATUS "CMAKE_JAVA_INCLUDE_PATH_FINAL_DEBUG: ${CMAKE_JAVA_INCLUDE_PATH_FINAL_DEBUG}") + +if (WIN32) + get_target_property(ZeroMQ_LIBRARY_RELEASE libzmq LOCATION_RELEASE) + get_filename_component(LIBZMQ_LIBRARY_DIR "${ZeroMQ_LIBRARY_RELEASE}" DIRECTORY) + set(LOCAL_ZEROMQ_RUNTIME_DIR "${LIBZMQ_LIBRARY_DIR}/../bin") + + get_target_property(Protobuf_LIBRARY_RELEASE protobuf::libprotobuf LOCATION_RELEASE) + get_filename_component(LOCAL_PROTOBUF_RUNTIME_DIR "${Protobuf_LIBRARY_RELEASE}" DIRECTORY) + + #configure_file("${CMAKE_CURRENT_LIST_DIR}/RunJavaProtobufDataProductDebug.bat.in" "${CMAKE_BINARY_DIR}/RunJavaProtobufDataProductDebug.bat" @ONLY) + #configure_file("${CMAKE_CURRENT_LIST_DIR}/RunJavaProtobufDataProductRelease.bat.in" "${CMAKE_BINARY_DIR}/RunJavaProtobufDataProductRelease.bat" @ONLY) + +endif() + +set(JAVA_SRCS + src/BasicServiceProvider.java + src/BasicServiceRequestor.java + ${PROTO_SRCS}) + +set(ORIG_CMAKE_DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) +set(CMAKE_DEBUG_POSTFIX) +gravity_add_jar_debug_release(${PROJECT_NAME} ${JAVA_SRCS}) +list(APPEND _DEPS ${PROJECT_NAME}_protos) +if (TARGET gravity-java) + list(APPEND _DEPS gravity-java) +endif() +add_dependencies(${PROJECT_NAME} ${_DEPS}) +set(CMAKE_DEBUG_POSTFIX ${ORIG_CMAKE_DEBUG_POSTFIX}) + +gravity_install_jar(${PROJECT_NAME} DESTINATION "${CMAKE_INSTALL_PREFIX}/bin") + +#if (WIN32) +#install(FILES "${CMAKE_BINARY_DIR}/RunJavaProtobufDataProductDebug.bat" DESTINATION bin CONFIGURATIONS Debug) +#install(FILES "${CMAKE_BINARY_DIR}/RunJavaProtobufDataProductRelease.bat" DESTINATION bin CONFIGURATIONS Release RelWithDebInfo MinSizeRel) +#endif() + +configure_file(run.sh.in ../../../../test/examples/7-JavaBasicService/run.sh) diff --git a/test/examples/7-JavaBasicService/Gravity.ini b/test/examples/7-JavaBasicService/Gravity.ini new file mode 100644 index 000000000..cee09360b --- /dev/null +++ b/test/examples/7-JavaBasicService/Gravity.ini @@ -0,0 +1,18 @@ +# +# This section is common to all components +# +[general] +# Set the log level for logs written to the log file +GravityFileLogLevel=debug + +# Set the log level for logs written to the console that started the component +#GravityConsoleLogLevel=debug + +# Without this, Gravity will spend a few seconds trying to retrieve +# parameters from a remote ConfigServer. +NoConfigServer=true + +# The URL where the ServiceDirectory will be found. This value is the same as the default. +ServiceDirectoryURL="tcp://localhost:5555" + + diff --git a/test/examples/7-JavaBasicService/run.sh.in b/test/examples/7-JavaBasicService/run.sh.in index 1b248471f..c682bc604 100755 --- a/test/examples/7-JavaBasicService/run.sh.in +++ b/test/examples/7-JavaBasicService/run.sh.in @@ -19,27 +19,32 @@ # @configure_input@ # Tool-related substitution variables -PROTOBUF_LIB_DIR=@PROTOBUF_LIBDIR@ -ZMQ_LIB_DIR=@ZEROMQ_LIBDIR@ -PROTOBUF_LIB_DIR=@PROTOBUF_LIBDIR@ -JAVAPROTOBUF_DIR=@JAVAPROTOBUF_DIR@ -WITHOUT_JAVA=@WITHOUT_JAVA@ - -if test $WITHOUT_JAVA = no; +PROTOBUF_LIB_DIR=@Protobuf_LIBRARY_RELEASE@ +ZMQ_LIB_DIR=@ZeroMQ_LIBRARY_RELEASE@ +ZMQ_PAR_DIR=@ZeroMQ_PARENT_DIRECTORY@ +JAVAPROTOBUF_DIR=@JAVA_PROTOBUF_JAR@ +WITHOUT_JAVA=@SKIP_JAVA@ +SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ +CM_INST_PRE=@CMAKE_INSTALL_PREFIX@ +CM_INST_LIB=@CMAKE_INSTALL_LIBDIR@ +SEV_BIN_DIR=@JavaBasicService_BINARY_DIR@ + + +if test $WITHOUT_JAVA = OFF; then export PATH=$PATH:../../../src/api/java:../../../src/components/cpp/bin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR - ServiceDirectory & + $SD_BIN_DIR/ServiceDirectory & SDPID=$! - java -cp build:$JAVAPROTOBUF_DIR:../../../src/api/java/gravity.jar -Djava.library.path=../../../src/api/java:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR BasicServiceProvider & + java -cp build:$JAVAPROTOBUF_DIR:$CM_INST_PRE/$CM_INST_LIB/gravity.jar:$SEV_BIN_DIR/JavaBasicService.jar:$JAVA_PROTOBUF_JAR -Djava.library.path=$CM_INST_PRE/$CM_INST_LIB:$ZMQ_PAR_DIR BasicServiceProvider & JDPPID=$! # sleep for a second to give the publisher a chance to register its data product sleep 1 - java -cp build:$JAVAPROTOBUF_DIR:../../../src/api/java/gravity.jar -Djava.library.path=../../../src/api/java:$ZMQ_LIB_DIR BasicServiceRequestor + java -cp build:$JAVAPROTOBUF_DIR:$CM_INST_PRE/$CM_INST_LIB/gravity.jar:$SEV_BIN_DIR/JavaBasicService.jar:$JAVA_PROTOBUF_JAR -Djava.library.path=$CM_INST_PRE/$CM_INST_LIB:$ZMQ_PAR_DIR BasicServiceRequestor kill $SDPID kill $JDPPID diff --git a/test/examples/8-ConfigFile/Gravity.ini b/test/examples/8-ConfigFile/Gravity.ini index 2ba5b4d9d..cbcbbd1b9 100644 --- a/test/examples/8-ConfigFile/Gravity.ini +++ b/test/examples/8-ConfigFile/Gravity.ini @@ -3,10 +3,10 @@ # [general] # Set the log level for logs written to the log file -LocalLogLevel=debug +GravityFileLogLevel=debug # Set the log level for logs written to the console that started the component -ConsoleLogLevel=debug +GravityConsoleLogLevel=debug # Without this, Gravity will spend a few seconds trying to retrieve # parameters from a remote ConfigServer. diff --git a/test/examples/9-Domains/Gravity.ini b/test/examples/9-Domains/Gravity.ini index 83759f14d..3d9577488 100755 --- a/test/examples/9-Domains/Gravity.ini +++ b/test/examples/9-Domains/Gravity.ini @@ -2,8 +2,8 @@ [general] Domain="Example9" NoConfigServer=true -LocalLogLevel=debug -ConsoleLogLevel=trace +GravityFileLogLevel=debug +#GravityConsoleLogLevel=debug [ServiceDirectory] ServiceDirectoryURL="tcp://localhost:5555" diff --git a/test/examples/CMakeLists.txt b/test/examples/CMakeLists.txt index d4bc35044..7a3e4af43 100644 --- a/test/examples/CMakeLists.txt +++ b/test/examples/CMakeLists.txt @@ -14,9 +14,13 @@ add_subdirectory("13-Relay") if (NOT SKIP_JAVA) add_subdirectory("6-JavaProtobufDataProduct") + add_subdirectory("7-JavaBasicService") + + endif() if (NOT SKIP_PYTHON) add_subdirectory("11-PythonPubSub") add_subdirectory("12-PythonBasicService") + add_subdirectory("14-AnomalyDetection") endif() From 5408c0d2e2c5a07c8aa7f35abfb493729b9920a6 Mon Sep 17 00:00:00 2001 From: APS VM Date: Wed, 11 Jun 2025 13:29:04 -0700 Subject: [PATCH 07/48] Initial comment fixes --- cmake/FindZeroMQ.cmake | 4 ++-- src/api/java/CMakeLists.txt | 3 +-- test/examples/1-BasicDataProduct/CMakeLists.txt | 2 +- test/examples/11-PythonPubSub/CMakeLists.txt | 2 +- test/examples/12-PythonBasicService/CMakeLists.txt | 2 +- test/examples/13-Relay/CMakeLists.txt | 2 +- test/examples/13-Relay/run.sh.in | 5 +++-- test/examples/14-AnomalyDetection/CMakeLists.txt | 4 ++-- test/examples/2-ProtobufDataProduct/CMakeLists.txt | 2 +- test/examples/3-MultipleDataProduct/CMakeLists.txt | 4 ++-- test/examples/4-BasicService/CMakeLists.txt | 4 ++-- test/examples/5-MiscFunctionality/CMakeLists.txt | 2 +- .../6-JavaProtobufDataProduct/CMakeLists.txt | 2 +- test/examples/6-JavaProtobufDataProduct/run.sh.in | 2 +- test/examples/7-JavaBasicService/CMakeLists.txt | 14 +++++++------- test/examples/7-JavaBasicService/run.sh.in | 2 +- test/examples/8-ConfigFile/CMakeLists.txt | 2 +- test/examples/9-Domains/CMakeLists.txt | 2 +- 18 files changed, 30 insertions(+), 30 deletions(-) diff --git a/cmake/FindZeroMQ.cmake b/cmake/FindZeroMQ.cmake index 0bb702766..c0bc33bfa 100644 --- a/cmake/FindZeroMQ.cmake +++ b/cmake/FindZeroMQ.cmake @@ -139,8 +139,8 @@ if(ZeroMQ_LIBRARY) IMPORTED_CONFIGURATIONS RELEASE) set_target_properties(libzmq PROPERTIES IMPORTED_LOCATION_RELEASE "${ZeroMQ_LIBRARY_RELEASE}") - cmake_path(GET ZeroMQ_LIBRARY_RELEASE PARENT_PATH ZeroMQ_PARENT_DIRECTORY) - set(ZeroMQ_PARENT_DIRECTORY "${ZeroMQ_PARENT_DIRECTORY}" CACHE ON FILEPATH) + cmake_path(GET ZeroMQ_LIBRARY_RELEASE PARENT_PATH ZeroMQ_LIBRARY_DIRECTORY) + set(ZeroMQ_LIBRARY_DIRECTORY "${ZeroMQ_LIBRARY_DIRECTORY}" CACHE ON FILEPATH) endif() if(EXISTS "${ZeroMQ_LIBRARY_DEBUG}") set_property(TARGET libzmq APPEND PROPERTY diff --git a/src/api/java/CMakeLists.txt b/src/api/java/CMakeLists.txt index eea291236..cdbb0c6c5 100644 --- a/src/api/java/CMakeLists.txt +++ b/src/api/java/CMakeLists.txt @@ -8,7 +8,7 @@ include(UseJava) gravity_find_protobuf(ON) # TODO check GRAVITY_USING_EXTERNAL_PROTOBUF -set(PUBLIC_JAR "${JAVA_PROTOBUF_JAR}") +set(PUBLIC_JAR "${JAVA_PROTOBUF_JAR}" "${Protobuf_SRC_ROOT_FOLDER}/java/target/protobuf-java-${Protobuf_VERSION}.jar") set(CMAKE_JAVA_INCLUDE_PATH "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/protobuf-java.jar" ${PUBLIC_JAR}) @@ -75,5 +75,4 @@ gravity_add_jar_debug_release(${PROJECT_NAME} SOURCES ${JAVA_SRCS} ${JAVA_PROTO_ "${CMAKE_BINARY_DIR}/java/com/aphysci/gravity/swig/gravityConstants.java" OUTPUT_NAME gravity OUTPUT_DIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}") - # gravity_install_jar(${PROJECT_NAME} DESTINATION "/home/flinker/Gravity/build/install/lib") gravity_add_dependency(${PROJECT_NAME}) diff --git a/test/examples/1-BasicDataProduct/CMakeLists.txt b/test/examples/1-BasicDataProduct/CMakeLists.txt index 7b23d1bd0..b639d2be9 100644 --- a/test/examples/1-BasicDataProduct/CMakeLists.txt +++ b/test/examples/1-BasicDataProduct/CMakeLists.txt @@ -20,4 +20,4 @@ add_executable(BasicDataProductSubscriber BasicDataProductSubscriber.cpp) set_target_properties(BasicDataProductSubscriber PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) target_link_libraries(BasicDataProductSubscriber gravity spdlog::spdlog_header_only) -configure_file(run.sh.in ../../../../test/examples/1-BasicDataProduct/run.sh) +configure_file(run.sh.in ${BasicDataProduct_SOURCE_DIR}/run.sh) diff --git a/test/examples/11-PythonPubSub/CMakeLists.txt b/test/examples/11-PythonPubSub/CMakeLists.txt index 618813f00..b592528f2 100644 --- a/test/examples/11-PythonPubSub/CMakeLists.txt +++ b/test/examples/11-PythonPubSub/CMakeLists.txt @@ -24,4 +24,4 @@ set_property(TEST pypubsub PROPERTY ENVIRONMENT_MODIFICATION "PYTHONPATH=path_list_prepend:${CMAKE_CURRENT_BINARY_DIR}" ) -configure_file(run.sh.in ../../../../test/examples/11-PythonPubSub/run.sh) +configure_file(run.sh.in ${PythonPubSub_SOURCE_DIR}/run.sh) diff --git a/test/examples/12-PythonBasicService/CMakeLists.txt b/test/examples/12-PythonBasicService/CMakeLists.txt index 5544f5d01..a52af90fd 100644 --- a/test/examples/12-PythonBasicService/CMakeLists.txt +++ b/test/examples/12-PythonBasicService/CMakeLists.txt @@ -25,4 +25,4 @@ set_property(TEST pybasicservice PROPERTY ENVIRONMENT_MODIFICATION "PYTHONPATH=path_list_prepend:${ABS_GRAVITY_ROOT}/${CMAKE_INSTALL_LIBDIR}" ) -configure_file(run.sh.in ../../../../test/examples/12-PythonBasicService/run.sh) +configure_file(run.sh.in ${PythonBasicService_SOURCE_DIR}/run.sh) diff --git a/test/examples/13-Relay/CMakeLists.txt b/test/examples/13-Relay/CMakeLists.txt index 1dac2ca79..486405829 100644 --- a/test/examples/13-Relay/CMakeLists.txt +++ b/test/examples/13-Relay/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.17) -project(Domains) +project(RelayExample) # # see CMakeLists.txt on how to set up CMAKE_PREFIX_PATH and CMAKE_MODULE_PATH # diff --git a/test/examples/13-Relay/run.sh.in b/test/examples/13-Relay/run.sh.in index 207075fa4..c00038897 100755 --- a/test/examples/13-Relay/run.sh.in +++ b/test/examples/13-Relay/run.sh.in @@ -24,6 +24,7 @@ ZMQ_LIB_DIR=@ZeroMQ_LIBRARY_RELEASE@ EXAMPLE_BIN_DIR=@GravityExamples_BINARY_DIR@ SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ REL_BIN_DIR=@Relay_BINARY_DIR@ +RELEX_BIN_DIR=@RelayExample_BINARY_DIR@ export PATH=$PATH:../../../src/components/cpp/bin @@ -50,10 +51,10 @@ SDPID=$! # sleep for a second to give the service directory a chance to start up sleep 1 -$EXAMPLE_BIN_DIR/13-Relay/ProtobufDataProductPublisher & +$RELEX_BIN_DIR/ProtobufDataProductPublisher & PUBPID=$! -$EXAMPLE_BIN_DIR/13-Relay/ProtobufDataProductSubscriber & +$RELEX_BIN_DIR/ProtobufDataProductSubscriber & SUBPID=$! sleep 3 diff --git a/test/examples/14-AnomalyDetection/CMakeLists.txt b/test/examples/14-AnomalyDetection/CMakeLists.txt index 0a2de9f02..ee13432ba 100644 --- a/test/examples/14-AnomalyDetection/CMakeLists.txt +++ b/test/examples/14-AnomalyDetection/CMakeLists.txt @@ -25,5 +25,5 @@ set_property(TEST pybasicservice PROPERTY ENVIRONMENT_MODIFICATION "PYTHONPATH=path_list_prepend:${ABS_GRAVITY_ROOT}/${CMAKE_INSTALL_LIBDIR}" ) -configure_file(train.sh.in ../../../../test/examples/14-AnomalyDetection/train.sh) -configure_file(detect.sh.in ../../../../test/examples/14-AnomalyDetection/detect.sh) +configure_file(train.sh.in ${AnomalyDetection_SOURCE_DIR}/train.sh) +configure_file(detect.sh.in ${AnomalyDetection_SOURCE_DIR}/detect.sh) diff --git a/test/examples/2-ProtobufDataProduct/CMakeLists.txt b/test/examples/2-ProtobufDataProduct/CMakeLists.txt index e61812581..798f5895a 100644 --- a/test/examples/2-ProtobufDataProduct/CMakeLists.txt +++ b/test/examples/2-ProtobufDataProduct/CMakeLists.txt @@ -31,5 +31,5 @@ target_link_libraries(ProtobufDataProductSubscriber PUBLIC gravity PRIVATE spdlo target_include_directories(ProtobufDataProductSubscriber PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) add_dependencies(ProtobufDataProductSubscriber ${PROJECT_NAME}_protos) -configure_file(run.sh.in ../../../../test/examples/2-ProtobufDataProduct/run.sh) +configure_file(run.sh.in ${ProtobufDataProduct_SOURCE_DIR}/run.sh) diff --git a/test/examples/3-MultipleDataProduct/CMakeLists.txt b/test/examples/3-MultipleDataProduct/CMakeLists.txt index 9c7356023..32dbd884c 100644 --- a/test/examples/3-MultipleDataProduct/CMakeLists.txt +++ b/test/examples/3-MultipleDataProduct/CMakeLists.txt @@ -29,6 +29,6 @@ add_executable(MultipleDataProductSubscriber MultipleDataProductSubscriber.cpp $ set_target_properties(MultipleDataProductSubscriber PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) target_link_libraries(MultipleDataProductSubscriber PUBLIC gravity PRIVATE spdlog::spdlog_header_only) target_include_directories(MultipleDataProductSubscriber PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) -add_dependencies(ProtobufDataProductSubscriber ${PROJECT_NAME}_protos) +add_dependencies(MultipleDataProductSubscriber ${PROJECT_NAME}_protos) -configure_file(run.sh.in ../../../../test/examples/3-MultipleDataProduct/run.sh) +configure_file(run.sh.in ${MultipleDataProduct_SOURCE_DIR}/run.sh) diff --git a/test/examples/4-BasicService/CMakeLists.txt b/test/examples/4-BasicService/CMakeLists.txt index a3560e04e..eae31cf4f 100644 --- a/test/examples/4-BasicService/CMakeLists.txt +++ b/test/examples/4-BasicService/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.17) -project(BasicSevice) +project(BasicService) # # see CMakeLists.txt on how to set up CMAKE_PREFIX_PATH and CMAKE_MODULE_PATH # @@ -31,5 +31,5 @@ target_link_libraries(BasicServiceRequestor PUBLIC gravity PRIVATE spdlog::spdlo target_include_directories(BasicServiceRequestor PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) add_dependencies(BasicServiceRequestor ${PROJECT_NAME}_protos) -configure_file(run.sh.in ../../../../test/examples/4-BasicService/run.sh) +configure_file(run.sh.in ${BasicService_SOURCE_DIR}/run.sh) diff --git a/test/examples/5-MiscFunctionality/CMakeLists.txt b/test/examples/5-MiscFunctionality/CMakeLists.txt index 154fbecdf..3ff7804c9 100644 --- a/test/examples/5-MiscFunctionality/CMakeLists.txt +++ b/test/examples/5-MiscFunctionality/CMakeLists.txt @@ -20,5 +20,5 @@ add_executable(MiscComponent2 MiscComponent2.cpp) set_target_properties(MiscComponent2 PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) target_link_libraries(MiscComponent2 gravity spdlog::spdlog_header_only) -configure_file(run.sh.in ../../../../test/examples/5-MiscFunctionality/run.sh) +configure_file(run.sh.in ${MiscFunctionality_SOURCE_DIR}/run.sh) diff --git a/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt b/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt index 7bb8c3d82..d1e1606c2 100644 --- a/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt +++ b/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt @@ -60,4 +60,4 @@ if (WIN32) install(FILES "${CMAKE_BINARY_DIR}/RunJavaProtobufDataProductRelease.bat" DESTINATION bin CONFIGURATIONS Release RelWithDebInfo MinSizeRel) endif() -configure_file(run.sh.in ../../../../test/examples/6-JavaProtobufDataProduct/run.sh) +configure_file(run.sh.in ${JavaProtobufDataProduct_SOURCE_DIR}/run.sh) diff --git a/test/examples/6-JavaProtobufDataProduct/run.sh.in b/test/examples/6-JavaProtobufDataProduct/run.sh.in index 8fdf67bff..38d8bc07d 100755 --- a/test/examples/6-JavaProtobufDataProduct/run.sh.in +++ b/test/examples/6-JavaProtobufDataProduct/run.sh.in @@ -21,7 +21,7 @@ # Tool-related substitution variables PROTOBUF_LIB_DIR=@Protobuf_LIBRARY_RELEASE@ ZMQ_LIB_DIR=@ZeroMQ_LIBRARY_RELEASE@ -ZMQ_PAR_DIR=@ZeroMQ_PARENT_DIRECTORY@ +ZMQ_PAR_DIR=@ZeroMQ_LIBRARY_DIRECTORY@ JAVAPROTOBUF_DIR=@JAVA_PROTOBUF_JAR@ WITHOUT_JAVA=@SKIP_JAVA@ SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ diff --git a/test/examples/7-JavaBasicService/CMakeLists.txt b/test/examples/7-JavaBasicService/CMakeLists.txt index ecb466470..291e40316 100644 --- a/test/examples/7-JavaBasicService/CMakeLists.txt +++ b/test/examples/7-JavaBasicService/CMakeLists.txt @@ -33,8 +33,8 @@ if (WIN32) get_target_property(Protobuf_LIBRARY_RELEASE protobuf::libprotobuf LOCATION_RELEASE) get_filename_component(LOCAL_PROTOBUF_RUNTIME_DIR "${Protobuf_LIBRARY_RELEASE}" DIRECTORY) - #configure_file("${CMAKE_CURRENT_LIST_DIR}/RunJavaProtobufDataProductDebug.bat.in" "${CMAKE_BINARY_DIR}/RunJavaProtobufDataProductDebug.bat" @ONLY) - #configure_file("${CMAKE_CURRENT_LIST_DIR}/RunJavaProtobufDataProductRelease.bat.in" "${CMAKE_BINARY_DIR}/RunJavaProtobufDataProductRelease.bat" @ONLY) + configure_file("${CMAKE_CURRENT_LIST_DIR}/RunJavaProtobufDataProductDebug.bat.in" "${CMAKE_BINARY_DIR}/RunJavaProtobufDataProductDebug.bat" @ONLY) + configure_file("${CMAKE_CURRENT_LIST_DIR}/RunJavaProtobufDataProductRelease.bat.in" "${CMAKE_BINARY_DIR}/RunJavaProtobufDataProductRelease.bat" @ONLY) endif() @@ -55,9 +55,9 @@ set(CMAKE_DEBUG_POSTFIX ${ORIG_CMAKE_DEBUG_POSTFIX}) gravity_install_jar(${PROJECT_NAME} DESTINATION "${CMAKE_INSTALL_PREFIX}/bin") -#if (WIN32) -#install(FILES "${CMAKE_BINARY_DIR}/RunJavaProtobufDataProductDebug.bat" DESTINATION bin CONFIGURATIONS Debug) -#install(FILES "${CMAKE_BINARY_DIR}/RunJavaProtobufDataProductRelease.bat" DESTINATION bin CONFIGURATIONS Release RelWithDebInfo MinSizeRel) -#endif() +if (WIN32) +install(FILES "${CMAKE_BINARY_DIR}/RunJavaProtobufDataProductDebug.bat" DESTINATION bin CONFIGURATIONS Debug) +install(FILES "${CMAKE_BINARY_DIR}/RunJavaProtobufDataProductRelease.bat" DESTINATION bin CONFIGURATIONS Release RelWithDebInfo MinSizeRel) +endif() -configure_file(run.sh.in ../../../../test/examples/7-JavaBasicService/run.sh) +configure_file(run.sh.in ${JavaBasicService_SOURCE_DIR}/run.sh) diff --git a/test/examples/7-JavaBasicService/run.sh.in b/test/examples/7-JavaBasicService/run.sh.in index c682bc604..446034aba 100755 --- a/test/examples/7-JavaBasicService/run.sh.in +++ b/test/examples/7-JavaBasicService/run.sh.in @@ -21,7 +21,7 @@ # Tool-related substitution variables PROTOBUF_LIB_DIR=@Protobuf_LIBRARY_RELEASE@ ZMQ_LIB_DIR=@ZeroMQ_LIBRARY_RELEASE@ -ZMQ_PAR_DIR=@ZeroMQ_PARENT_DIRECTORY@ +ZMQ_PAR_DIR=@ZeroMQ_LIBRARY_DIRECTORY@ JAVAPROTOBUF_DIR=@JAVA_PROTOBUF_JAR@ WITHOUT_JAVA=@SKIP_JAVA@ SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ diff --git a/test/examples/8-ConfigFile/CMakeLists.txt b/test/examples/8-ConfigFile/CMakeLists.txt index c7d2b8fa1..4a9a6cac2 100644 --- a/test/examples/8-ConfigFile/CMakeLists.txt +++ b/test/examples/8-ConfigFile/CMakeLists.txt @@ -14,4 +14,4 @@ set(CMAKE_DEBUG_POSTFIX _d) add_executable(ConfigFileExample ConfigFileExample.cpp) set_target_properties(ConfigFileExample PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) target_link_libraries(ConfigFileExample gravity spdlog::spdlog_header_only) -configure_file(run.sh.in ../../../../test/examples/8-ConfigFile/run.sh) +configure_file(run.sh.in ${ConfigFile_SOURCE_DIR}/run.sh) diff --git a/test/examples/9-Domains/CMakeLists.txt b/test/examples/9-Domains/CMakeLists.txt index a08823806..9541854a7 100644 --- a/test/examples/9-Domains/CMakeLists.txt +++ b/test/examples/9-Domains/CMakeLists.txt @@ -31,4 +31,4 @@ target_link_libraries(ProtobufDataProductSubscriber PUBLIC gravity PRIVATE spdlo target_include_directories(ProtobufDataProductSubscriber PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) add_dependencies(ProtobufDataProductSubscriber ${PROJECT_NAME}_protos) -configure_file(run.sh.in ../../../../test/examples/9-Domains/run.sh) +configure_file(run.sh.in ${Domains_SOURCE_DIR}/run.sh) From f5bae66fb37971040d436059d7236e1bd4985ba4 Mon Sep 17 00:00:00 2001 From: APS VM Date: Fri, 13 Jun 2025 11:28:41 -0700 Subject: [PATCH 08/48] Made all configure files with CMake cache variables --- test/examples/10-Archiving/CMakeLists.txt | 2 +- test/examples/13-Relay/CMakeLists.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/test/examples/10-Archiving/CMakeLists.txt b/test/examples/10-Archiving/CMakeLists.txt index 9e343f67a..cd43dd818 100644 --- a/test/examples/10-Archiving/CMakeLists.txt +++ b/test/examples/10-Archiving/CMakeLists.txt @@ -31,4 +31,4 @@ target_link_libraries(ReplayTest PUBLIC gravity PRIVATE spdlog::spdlog_header_on target_include_directories(ReplayTest PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) add_dependencies(ReplayTest ${PROJECT_NAME}_protos) -configure_file(run.sh.in ../../../../test/examples/10-Archiving/run.sh) +configure_file(run.sh.in ${Archiving_SOURCE_DIR}/run.sh) diff --git a/test/examples/13-Relay/CMakeLists.txt b/test/examples/13-Relay/CMakeLists.txt index 486405829..95978cba0 100644 --- a/test/examples/13-Relay/CMakeLists.txt +++ b/test/examples/13-Relay/CMakeLists.txt @@ -31,4 +31,4 @@ target_link_libraries(ProtobufDataProductSubscriber PUBLIC gravity PRIVATE spdlo target_include_directories(ProtobufDataProductSubscriber PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) add_dependencies(ProtobufDataProductSubscriber ${PROJECT_NAME}_protos) -configure_file(run.sh.in ../../../../test/examples/13-Relay/run.sh) +configure_file(run.sh.in ${RelayExample_SOURCE_DIR}/run.sh) From fb28eaba3fa7bd393f332c39d70e41b361470aba Mon Sep 17 00:00:00 2001 From: APS VM Date: Tue, 17 Jun 2025 06:18:16 -0700 Subject: [PATCH 09/48] Further changes made for Pull Request. --- src/api/java/CMakeLists.txt | 2 ++ test/examples/11-PythonPubSub/pypub.py | 14 +++++++---- .../12-PythonBasicService/requestor.py | 24 +++++++++++-------- test/examples/14-AnomalyDetection/detect.py | 10 ++++---- test/examples/14-AnomalyDetection/pub.py | 6 ++++- test/examples/14-AnomalyDetection/train.py | 10 ++++---- .../6-JavaProtobufDataProduct/CMakeLists.txt | 2 +- .../6-JavaProtobufDataProduct/run.sh.in | 10 ++++---- test/examples/7-JavaBasicService/run.sh.in | 6 ++--- 9 files changed, 52 insertions(+), 32 deletions(-) diff --git a/src/api/java/CMakeLists.txt b/src/api/java/CMakeLists.txt index cdbb0c6c5..fb300269a 100644 --- a/src/api/java/CMakeLists.txt +++ b/src/api/java/CMakeLists.txt @@ -9,6 +9,8 @@ gravity_find_protobuf(ON) # TODO check GRAVITY_USING_EXTERNAL_PROTOBUF set(PUBLIC_JAR "${JAVA_PROTOBUF_JAR}" "${Protobuf_SRC_ROOT_FOLDER}/java/target/protobuf-java-${Protobuf_VERSION}.jar") +list(JOIN PUBLIC_JAR ":" PUBLIC_JAR_CACHE) +set(PUBLIC_JAR_CACHE ${PUBLIC_JAR_CACHE} CACHE ON STRING) set(CMAKE_JAVA_INCLUDE_PATH "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/protobuf-java.jar" ${PUBLIC_JAR}) diff --git a/test/examples/11-PythonPubSub/pypub.py b/test/examples/11-PythonPubSub/pypub.py index 1e4269c1d..c44711355 100644 --- a/test/examples/11-PythonPubSub/pypub.py +++ b/test/examples/11-PythonPubSub/pypub.py @@ -1,10 +1,13 @@ import time +import logging -from gravity import GravityNode, GravityDataProduct, gravity, GravitySubscriber, SpdLog +from gravity import GravityNode, GravityDataProduct, gravity, GravitySubscriber, SpdLogHandler from BasicCounterDataProduct_pb2 import BasicCounterDataProductPB + + class MySubscriber(GravitySubscriber): # We're only using GravitySubscriber here, but this is generally the way we # initialize Gravity Python components to ensure that __init__ is called @@ -16,15 +19,18 @@ def subscriptionFilled(self, dataProducts): counterPB = BasicCounterDataProductPB() for gdp in dataProducts: gdp.populateMessage(counterPB) - SpdLog.warn("received counter with value = "+str(counterPB.count)) + gravlogger.warning("received counter with value = "+str(counterPB.count)) +gravlogger = logging.getLogger() +gravlogger.setLevel(logging.WARNING) # let all logs pass through to Gravity logger +gravlogger.addHandler(SpdLogHandler(True)) mySub = MySubscriber() - gn = GravityNode() while gn.init("PyPub") != gravity.SUCCESS: - SpdLog.warn("failed to init, retrying...") + gravlogger.warning("failed to init, retrying...") time.sleep(1) + gn.registerDataProduct("PythonGDP", gravity.TCP) gn.subscribe("PythonGDP", mySub) diff --git a/test/examples/12-PythonBasicService/requestor.py b/test/examples/12-PythonBasicService/requestor.py index 9e81b2d94..afcd98d8d 100644 --- a/test/examples/12-PythonBasicService/requestor.py +++ b/test/examples/12-PythonBasicService/requestor.py @@ -1,7 +1,8 @@ import time +import logging import gravity -from gravity import GravityNode, GravityDataProduct, gravity, GravityRequestor, GravityServiceProvider, SpdLog +from gravity import GravityNode, GravityDataProduct, gravity, GravityRequestor, GravityServiceProvider, SpdLogHandler from Multiplication_pb2 import MultiplicationOperandsPB, MultiplicationResultPB done = False @@ -15,28 +16,31 @@ def __init__(self): def requestFilled(self, serviceID, requestID, response): multResponse = MultiplicationResultPB() response.populateMessage(multResponse) - SpdLog.warn("made it to request filled with request GDP ID = "+response.dataProductID +" and response = " + str(multResponse.result)) + gravlogger.warning("made it to request filled with request GDP ID = "+response.dataProductID +" and response = " + str(multResponse.result)) global done done = True def request(self, serviceID, dataProduct): - SpdLog.warn("made it to my request!") - SpdLog.warn("for serviceID = "+serviceID) + gravlogger.warning("made it to my request!") + gravlogger.warning("for serviceID = "+serviceID) operands = MultiplicationOperandsPB() - SpdLog.warn(str(type(operands))) + gravlogger.warning(str(type(operands))) dataProduct.populateMessage(operands) - SpdLog.warn("have operands = "+str([operands.multiplicand_a, operands.multiplicand_b])) + gravlogger.warning("have operands = "+str([operands.multiplicand_a, operands.multiplicand_b])) multResponse = MultiplicationResultPB() multResponse.result = operands.multiplicand_a * operands.multiplicand_b gdp = GravityDataProduct("MultResponse") gdp.data = multResponse - SpdLog.warn("returning response with result = "+str(multResponse.result)) + gravlogger.warning("returning response with result = "+str(multResponse.result)) return gdp +gravlogger = logging.getLogger() +gravlogger.setLevel(logging.WARNING) # let all logs pass through to Gravity logger +gravlogger.addHandler(SpdLogHandler(True)) gn = GravityNode() while gn.init("PyRequest") != gravity.SUCCESS: - SpdLog.warn("failed to init, retrying...") + gravlogger.warning("failed to init, retrying...") time.sleep(1) requestorProvider = MyRequestorProvider() @@ -58,10 +62,10 @@ def request(self, serviceID, dataProduct): operands.multiplicand_b = 6 gdp.data=operands gdpResp = gn.request("Multiplication", gdp) -SpdLog.warn("received GDP response") +gravlogger.warning("received GDP response") multResponse = MultiplicationResultPB() gdpResp.populateMessage(multResponse) -SpdLog.warn("made it to request filled with request GDP ID = "+gdpResp.dataProductID +" and response = " + str(multResponse.result)) +gravlogger.warning("made it to request filled with request GDP ID = "+gdpResp.dataProductID +" and response = " + str(multResponse.result)) diff --git a/test/examples/14-AnomalyDetection/detect.py b/test/examples/14-AnomalyDetection/detect.py index 9fe9f2c56..abaa0d495 100755 --- a/test/examples/14-AnomalyDetection/detect.py +++ b/test/examples/14-AnomalyDetection/detect.py @@ -20,7 +20,7 @@ warnings.simplefilter(action='ignore', category=FutureWarning) # quiet TensorFlow warnings import time, sys -from gravity import GravityNode, GravityDataProduct, gravity, GravitySubscriber, Log +from gravity import GravityNode, GravityDataProduct, gravity, GravitySubscriber, SpdLogHandler from DataPoint_pb2 import DataPointPB from datetime import datetime from gravity_autoencoder import GravityModel @@ -53,10 +53,12 @@ def subscriptionFilled(self, dataProducts): data.put(self.sample_data) self.sample_data = {} - +gravlogger = logging.getLogger() +gravlogger.setLevel(logging.WARNING) # let all logs pass through to Gravity logger +gravlogger.addHandler(SpdLogHandler(True)) gn = GravityNode() while gn.init("AnomalyDetector") != gravity.SUCCESS: - Log.warning("failed to init, retrying...") + gravlogger.warning("failed to init, retrying...") time.sleep(1) model_filename = gn.getStringParam("model_file", "model.json") @@ -69,7 +71,7 @@ def subscriptionFilled(self, dataProducts): while True: d = data.get() mse = model.ComputeMSE(d) - Log.message("MSE = %f"%(mse)) + gravlogger.warning("MSE = %f"%(mse)) # notreached gn.unsubscribe(channel, mySub) diff --git a/test/examples/14-AnomalyDetection/pub.py b/test/examples/14-AnomalyDetection/pub.py index 6fce9a6e0..19b103834 100755 --- a/test/examples/14-AnomalyDetection/pub.py +++ b/test/examples/14-AnomalyDetection/pub.py @@ -22,6 +22,10 @@ from datetime import datetime import numpy as np + +gravlogger = logging.getLogger() +gravlogger.setLevel(logging.WARNING) # let all logs pass through to Gravity logger +gravlogger.addHandler(SpdLogHandler(True)) name = 'Pub' anomaly_point = None if len(sys.argv) > 1: @@ -63,7 +67,7 @@ time.sleep(0.1) sample_num += 1 if anomaly_point and sample_num == anomaly_point: - Log.message("Anomaly point reached") + gravlogger.warning("Anomaly point reached") inc2 *= 2 diff --git a/test/examples/14-AnomalyDetection/train.py b/test/examples/14-AnomalyDetection/train.py index 7975b6507..9f1d413cc 100755 --- a/test/examples/14-AnomalyDetection/train.py +++ b/test/examples/14-AnomalyDetection/train.py @@ -20,7 +20,7 @@ warnings.simplefilter(action='ignore', category=FutureWarning) # quiet TensorFlow warnings import time, sys -from gravity import GravityNode, GravityDataProduct, gravity, GravitySubscriber, Log +from gravity import GravityNode, GravityDataProduct, gravity, GravitySubscriber, SpdLogHandler from DataPoint_pb2 import DataPointPB from datetime import datetime from gravity_autoencoder import TrainModel @@ -71,12 +71,14 @@ def subscriptionFilled(self, dataProducts): TrainModel(training_data, model_file, epochs=epochs) self.train_state = TrainingState.TRAINED - +gravlogger = logging.getLogger() +gravlogger.setLevel(logging.WARNING) # let all logs pass through to Gravity logger +gravlogger.addHandler(SpdLogHandler(True)) mySub = MySubscriber() gn = GravityNode() while gn.init("AnomalyDetector") != gravity.SUCCESS: - Log.warning("failed to init, retrying...") + gravlogger.warning("failed to init, retrying...") time.sleep(1) epochs = gn.getIntParam("training_epochs", epochs) @@ -86,7 +88,7 @@ def subscriptionFilled(self, dataProducts): gn.subscribe(channel, mySub) while mySub.train_state != TrainingState.TRAINED: time.sleep(1) -Log.message("Training Complete " + str(mySub.train_state)) +gravlogger.warning("Training Complete " + str(mySub.train_state)) gn.unsubscribe(channel, mySub) sys.exit(0) diff --git a/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt b/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt index d1e1606c2..7778cd630 100644 --- a/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt +++ b/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt @@ -10,7 +10,7 @@ set(LOCAL_PROTOBUF_JAR) if (Protobuf_SRC_ROOT_FOLDER) set(LOCAL_PROTOBUF_JAR "${Protobuf_SRC_ROOT_FOLDER}/java/target/protobuf-java-${Protobuf_VERSION}.jar") endif() -set(PUBLIC_JAR "/usr/share/java/protobuf.jar" "${LOCAL_PROTOBUF_JAR}") +set(PUBLIC_JAR "${JAVA_PROTOBUF_JAR}" "${LOCAL_PROTOBUF_JAR}" CACHE OFF FILEPATH) find_package(GravityJava REQUIRED) include(UseJava) diff --git a/test/examples/6-JavaProtobufDataProduct/run.sh.in b/test/examples/6-JavaProtobufDataProduct/run.sh.in index 38d8bc07d..2f2cdf06f 100755 --- a/test/examples/6-JavaProtobufDataProduct/run.sh.in +++ b/test/examples/6-JavaProtobufDataProduct/run.sh.in @@ -22,7 +22,7 @@ PROTOBUF_LIB_DIR=@Protobuf_LIBRARY_RELEASE@ ZMQ_LIB_DIR=@ZeroMQ_LIBRARY_RELEASE@ ZMQ_PAR_DIR=@ZeroMQ_LIBRARY_DIRECTORY@ -JAVAPROTOBUF_DIR=@JAVA_PROTOBUF_JAR@ +JAVAPROTOBUF_DIR=@PUBLIC_JAR_CACHE@ WITHOUT_JAVA=@SKIP_JAVA@ SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ CM_INST_PRE=@CMAKE_INSTALL_PREFIX@ @@ -32,17 +32,17 @@ SIX_BIN_DIR=@JavaProtobufDataProduct_BINARY_DIR@ if test $WITHOUT_JAVA = OFF; then - export PATH=$PATH:../../../src/api/java:../../../src/components/cpp/bin + export PATH=$PATH:$SD_BIN_DIR export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ZMQ_LIB_DIR:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR - $SD_BIN_DIR/ServiceDirectory & + ServiceDirectory & SDPID=$! - java -cp build:$JAVAPROTOBUF_DIR:$CM_INST_PRE/$CM_INST_LIB/gravity.jar:$SIX_BIN_DIR/JavaProtobufDataProduct.jar:$JAVAPROTOBUF_DIR -Djava.library.path=$CM_INST_PRE/$CM_INST_LIB:$ZMQ_PAR_DIR JavaProtobufDataProductPublisher & + java -cp $JAVAPROTOBUF_DIR:$CM_INST_PRE/$CM_INST_LIB/gravity.jar:$SIX_BIN_DIR/JavaProtobufDataProduct.jar: -Djava.library.path=$CM_INST_PRE/$CM_INST_LIB:$ZMQ_PAR_DIR JavaProtobufDataProductPublisher & # sleep for a second to give the publisher a chance to register its data product sleep 1 - java -cp build:$JAVAPROTOBUF_DIR:$CM_INST_PRE/$CM_INST_LIB/gravity.jar:$SIX_BIN_DIR/JavaProtobufDataProduct.jar:$JAVAPROTOBUF_DIR -Djava.library.path=$CM_INST_PRE/$CM_INST_LIB:$ZMQ_PAR_DIR JavaProtobufDataProductSubscriber + java -cp $JAVAPROTOBUF_DIR:$CM_INST_PRE/$CM_INST_LIB/gravity.jar:$SIX_BIN_DIR/JavaProtobufDataProduct.jar -Djava.library.path=$CM_INST_PRE/$CM_INST_LIB:$ZMQ_PAR_DIR JavaProtobufDataProductSubscriber kill $SDPID kill $JDPPID diff --git a/test/examples/7-JavaBasicService/run.sh.in b/test/examples/7-JavaBasicService/run.sh.in index 446034aba..0ddff4a0e 100755 --- a/test/examples/7-JavaBasicService/run.sh.in +++ b/test/examples/7-JavaBasicService/run.sh.in @@ -22,7 +22,7 @@ PROTOBUF_LIB_DIR=@Protobuf_LIBRARY_RELEASE@ ZMQ_LIB_DIR=@ZeroMQ_LIBRARY_RELEASE@ ZMQ_PAR_DIR=@ZeroMQ_LIBRARY_DIRECTORY@ -JAVAPROTOBUF_DIR=@JAVA_PROTOBUF_JAR@ +JAVAPROTOBUF_DIR=@PUBLIC_JAR_CACHE@ WITHOUT_JAVA=@SKIP_JAVA@ SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ CM_INST_PRE=@CMAKE_INSTALL_PREFIX@ @@ -33,10 +33,10 @@ SEV_BIN_DIR=@JavaBasicService_BINARY_DIR@ if test $WITHOUT_JAVA = OFF; then - export PATH=$PATH:../../../src/api/java:../../../src/components/cpp/bin + export PATH=$PATH:$SD_BIN_DIR export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR - $SD_BIN_DIR/ServiceDirectory & + ServiceDirectory & SDPID=$! java -cp build:$JAVAPROTOBUF_DIR:$CM_INST_PRE/$CM_INST_LIB/gravity.jar:$SEV_BIN_DIR/JavaBasicService.jar:$JAVA_PROTOBUF_JAR -Djava.library.path=$CM_INST_PRE/$CM_INST_LIB:$ZMQ_PAR_DIR BasicServiceProvider & JDPPID=$! From 98f2db87ce54a6aa3e3b99d0109b89cb949ab6ec Mon Sep 17 00:00:00 2001 From: APS VM Date: Tue, 17 Jun 2025 06:23:33 -0700 Subject: [PATCH 10/48] Java examples with spdlog --- .../src/JavaProtobufDataProductSubscriber.java | 8 ++++---- .../7-JavaBasicService/src/BasicServiceProvider.java | 8 ++++---- .../src/BasicServiceRequestor.java | 12 ++++++------ 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/test/examples/6-JavaProtobufDataProduct/src/JavaProtobufDataProductSubscriber.java b/test/examples/6-JavaProtobufDataProduct/src/JavaProtobufDataProductSubscriber.java index 059120bd2..8b7c2ce72 100755 --- a/test/examples/6-JavaProtobufDataProduct/src/JavaProtobufDataProductSubscriber.java +++ b/test/examples/6-JavaProtobufDataProduct/src/JavaProtobufDataProductSubscriber.java @@ -20,8 +20,8 @@ import com.aphysci.gravity.GravityDataProduct; import com.aphysci.gravity.GravitySubscriber; import com.aphysci.gravity.swig.GravityNode; -import com.aphysci.gravity.swig.Log; -import com.aphysci.gravity.swig.Log.LogLevel; +import com.aphysci.gravity.swig.SpdLog; +import com.aphysci.gravity.swig.SpdLog.LogLevel; class SimpleGravityCounterSubscriber implements GravitySubscriber @@ -33,10 +33,10 @@ public void subscriptionFilled(List dataProducts) //Get the protobuf object from the message BasicCounterDataProduct.BasicCounterDataProductPB.Builder counterDataPB = BasicCounterDataProduct.BasicCounterDataProductPB.newBuilder(); if(!dataProduct.populateMessage(counterDataPB)) - Log.warning("Error Parsing Message"); + SpdLog.warn("Error Parsing Message"); //Process the message - Log.warning(String.format("Current Count: %d", counterDataPB.getCount())); + SpdLog.warn(String.format("Current Count: %d", counterDataPB.getCount())); } } } diff --git a/test/examples/7-JavaBasicService/src/BasicServiceProvider.java b/test/examples/7-JavaBasicService/src/BasicServiceProvider.java index 72067bcf9..592263adc 100755 --- a/test/examples/7-JavaBasicService/src/BasicServiceProvider.java +++ b/test/examples/7-JavaBasicService/src/BasicServiceProvider.java @@ -19,8 +19,8 @@ import com.aphysci.gravity.GravityDataProduct; import com.aphysci.gravity.GravityServiceProvider; import com.aphysci.gravity.swig.GravityNode; -import com.aphysci.gravity.swig.Log; -import com.aphysci.gravity.swig.Log.LogLevel; +import com.aphysci.gravity.swig.SpdLog; +import com.aphysci.gravity.swig.SpdLog.LogLevel; import com.aphysci.gravity.swig.GravityTransportType; class MultiplicationServiceProvider implements GravityServiceProvider @@ -34,7 +34,7 @@ public GravityDataProduct request(String serviceID, GravityDataProduct dataProdu { //Just to be safe. In theory this can never happen unless this class is registered with more than one serviceID types. if(!dataProduct.getDataProductID().equals("Multiplication")) { - Log.critical(String.format("Request is not for %s, not Multiplication!", dataProduct.getDataProductID())); + SpdLog.critical(String.format("Request is not for %s, not Multiplication!", dataProduct.getDataProductID())); return new GravityDataProduct("BadRequest"); } @@ -42,7 +42,7 @@ public GravityDataProduct request(String serviceID, GravityDataProduct dataProdu Multiplication.MultiplicationOperandsPB.Builder params = Multiplication.MultiplicationOperandsPB.newBuilder(); dataProduct.populateMessage(params); - Log.warning(String.format("%d x %d", params.getMultiplicandA(), params.getMultiplicandB())); + SpdLog.warn(String.format("%d x %d", params.getMultiplicandA(), params.getMultiplicandB())); //Do the calculation int result = params.getMultiplicandA() * params.getMultiplicandB(); diff --git a/test/examples/7-JavaBasicService/src/BasicServiceRequestor.java b/test/examples/7-JavaBasicService/src/BasicServiceRequestor.java index a20fdff80..f2e5d78b9 100755 --- a/test/examples/7-JavaBasicService/src/BasicServiceRequestor.java +++ b/test/examples/7-JavaBasicService/src/BasicServiceRequestor.java @@ -20,7 +20,7 @@ import com.aphysci.gravity.GravityRequestor; import com.aphysci.gravity.swig.GravityNode; import com.aphysci.gravity.swig.GravityReturnCode; -import com.aphysci.gravity.swig.Log; +import com.aphysci.gravity.swig.SpdLog; //After multiplication is requested, this class may be called with the result. @@ -33,7 +33,7 @@ public void requestFilled(String serviceID, String requestID, GravityDataProduct response.populateMessage(result); //Write the answer - Log.warning(String.format("%s: %d", requestID, result.getResult())); + SpdLog.warn(String.format("%s: %d", requestID, result.getResult())); gotAsyncMessage = true; } @@ -56,7 +56,7 @@ public static void main(String[] args) throws InterruptedException { //Initialize gravity, giving this node a componentID. GravityReturnCode ret = gn.init("MultiplicationRequestor"); while (ret != GravityReturnCode.SUCCESS) { - Log.warning("Unable to initialize component, retrying..."); + SpdLog.warn("Unable to initialize component, retrying..."); ret = gn.init("MultiplicationRequestor"); } @@ -79,7 +79,7 @@ public static void main(String[] args) throws InterruptedException { // Service may not be registered yet if (ret != GravityReturnCode.SUCCESS) { - Log.warning("Failed request to Multiplication, retrying..."); + SpdLog.warn("Failed request to Multiplication, retrying..."); Thread.sleep(1000); } } while (ret != GravityReturnCode.SUCCESS); @@ -98,14 +98,14 @@ public static void main(String[] args) throws InterruptedException { 1000); //Timeout in milliseconds if(multSync == null) { - Log.critical("Request Returned NULL!"); + SpdLog.critical("Request Returned NULL!"); } else { Multiplication.MultiplicationResultPB.Builder result = Multiplication.MultiplicationResultPB.newBuilder(); multSync.populateMessage(result); - Log.warning(String.format("5 x 7 = %d", result.getResult())); + SpdLog.warn(String.format("5 x 7 = %d", result.getResult())); } ///////////////////////////////////////// From ddde401e85d13e5b101c3384f2a8eb7454bd37fc Mon Sep 17 00:00:00 2001 From: APS VM Date: Fri, 20 Jun 2025 06:54:48 -0700 Subject: [PATCH 11/48] run.sh.in files pushed --- test/examples/1-BasicDataProduct/run.sh.in | 10 +++++----- test/examples/10-Archiving/run.sh.in | 14 +++++++------- test/examples/11-PythonPubSub/run.sh.in | 4 ++-- test/examples/12-PythonBasicService/run.sh.in | 2 +- test/examples/13-Relay/run.sh.in | 11 +++++------ test/examples/14-AnomalyDetection/detect.sh.in | 2 +- test/examples/14-AnomalyDetection/train.sh.in | 2 +- test/examples/2-ProtobufDataProduct/run.sh.in | 10 +++++----- test/examples/3-MultipleDataProduct/run.sh.in | 10 +++++----- test/examples/4-BasicService/run.sh.in | 6 +++--- test/examples/5-MiscFunctionality/run.sh.in | 10 +++++----- test/examples/8-ConfigFile/Gravity.ini | 2 +- test/examples/8-ConfigFile/run.sh.in | 10 +++++----- test/examples/9-Domains/run.sh.in | 14 +++++++------- 14 files changed, 53 insertions(+), 54 deletions(-) diff --git a/test/examples/1-BasicDataProduct/run.sh.in b/test/examples/1-BasicDataProduct/run.sh.in index 908aa76e0..f5a06cd6b 100755 --- a/test/examples/1-BasicDataProduct/run.sh.in +++ b/test/examples/1-BasicDataProduct/run.sh.in @@ -21,10 +21,10 @@ # Tool-related substitution variables PROTOBUF_LIB_DIR=@Protobuf_LIBRARY_RELEASE@ ZMQ_LIB_DIR=@ZeroMQ_LIBRARY_RELEASE@ -EXAMPLE_BIN_DIR=@GravityExamples_BINARY_DIR@ +ONE_BIN_DIR=@BasicDataProduct_BINARY_DIR@ SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ -export PATH=$PATH:../../../src/components/cpp/bin +export PATH=$PATH:$ONE_BIN_DIR:$SD_BIN_DIR export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR control_c() @@ -38,16 +38,16 @@ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyval # trap keyboard interrupt (control-c) trap control_c SIGINT -$SD_BIN_DIR/ServiceDirectory & +ServiceDirectory & SDPID=$! # sleep for a second to give the service directory a chance to start up sleep 1 -$EXAMPLE_BIN_DIR/1-BasicDataProduct/BasicDataProductPublisher & +BasicDataProductPublisher & PUBPID=$! # sleep for a second to give the publisher a chance to register its data product sleep 1 -$EXAMPLE_BIN_DIR/1-BasicDataProduct/BasicDataProductSubscriber +BasicDataProductSubscriber diff --git a/test/examples/10-Archiving/run.sh.in b/test/examples/10-Archiving/run.sh.in index b07088df7..93355f258 100755 --- a/test/examples/10-Archiving/run.sh.in +++ b/test/examples/10-Archiving/run.sh.in @@ -21,13 +21,13 @@ # Tool-related substitution variables PROTOBUF_LIB_DIR=@Protobuf_LIBRARY_RELEASE@ ZMQ_LIB_DIR=@ZeroMQ_LIBRARY_RELEASE@ -EXAMPLE_BIN_DIR=@GravityExamples_BINARY_DIR@ +TEN_BIN_DIR=@Archiving_BINARY_DIR@ SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ ARCH_BIN_DIR=@Archiver_BINARY_DIR@ PB_BIN_DIR=@Playback_BINARY_DIR@ -export PATH=$PATH:../../../src/components/cpp/bin +export PATH=$PATH:$TEN_BIN_DIR:$SD_BIN_DIR:$ARCH_BIN_DIR:$PB_BIN_DIR export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR cleanup() @@ -54,7 +54,7 @@ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyval # trap keyboard interrupt (control-c) trap cleanup SIGINT -$SD_BIN_DIR/ServiceDirectory & +ServiceDirectory & SDPID=$! ## @@ -63,9 +63,9 @@ SDPID=$! # 5 seconds, ArchiveTest will toggle the suspend flag on the FileArchiver. This means # that only about half of the published counter values will be archived. ## -$ARCH_BIN_DIR/Archiver & +Archiver & FAPID=$! -$EXAMPLE_BIN_DIR/10-Archiving/ArchiveTest & +ArchiveTest & ATPID=$! sleep 20 @@ -82,9 +82,9 @@ sleep 1 # and that the messages that were archived are still published once a second - just like ArchiveTest did originally. ## echo Starting ReplayTest -$EXAMPLE_BIN_DIR/10-Archiving/ReplayTest & +ReplayTest & RTPID=$! -$PB_BIN_DIR/Playback & +Playback & FRPID=$! sleep 20 diff --git a/test/examples/11-PythonPubSub/run.sh.in b/test/examples/11-PythonPubSub/run.sh.in index 7ad1694a8..01b4752f8 100755 --- a/test/examples/11-PythonPubSub/run.sh.in +++ b/test/examples/11-PythonPubSub/run.sh.in @@ -31,11 +31,11 @@ CM_LIB_DIR=@CMAKE_INSTALL_LIBDIR@ if test $WITHOUT_PYTHON = OFF; then - export PATH=$PATH:../../../src/components/cpp/bin + export PATH=$PATH:$SD_BIN_DIR export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ZMQ_LIB_DIR:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR export PYTHONPATH=$PYTHONPATH:$CM_INST_PRE/$CM_LIB_DIR - $SD_BIN_DIR/ServiceDirectory & + ServiceDirectory & SDPID=$! $PYTHON pypub.py & diff --git a/test/examples/12-PythonBasicService/run.sh.in b/test/examples/12-PythonBasicService/run.sh.in index febe019da..71eb24fad 100755 --- a/test/examples/12-PythonBasicService/run.sh.in +++ b/test/examples/12-PythonBasicService/run.sh.in @@ -30,7 +30,7 @@ CM_LIB_DIR=@CMAKE_INSTALL_LIBDIR@ if test $WITHOUT_PYTHON = OFF; then - export PATH=$PATH:../../../src/components/cpp/bin + export PATH=$PATH:$SD_BIN_DIR export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ZMQ_LIB_DIR:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR export PYTHONPATH=$CM_INST_PRE/$CM_LIB_DIR diff --git a/test/examples/13-Relay/run.sh.in b/test/examples/13-Relay/run.sh.in index c00038897..893446a88 100755 --- a/test/examples/13-Relay/run.sh.in +++ b/test/examples/13-Relay/run.sh.in @@ -21,13 +21,12 @@ # Tool-related substitution variables PROTOBUF_LIB_DIR=@Protobuf_LIBRARY_RELEASE@ ZMQ_LIB_DIR=@ZeroMQ_LIBRARY_RELEASE@ -EXAMPLE_BIN_DIR=@GravityExamples_BINARY_DIR@ SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ REL_BIN_DIR=@Relay_BINARY_DIR@ RELEX_BIN_DIR=@RelayExample_BINARY_DIR@ -export PATH=$PATH:../../../src/components/cpp/bin +export PATH=$PATH:$SD_BIN_DIR:$REL_BIN_DIR:$RELEX_BIN_DIR export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR cleanup() @@ -45,21 +44,21 @@ cleanup() # trap keyboard interrupt (control-c) trap cleanup SIGINT -$SD_BIN_DIR/ServiceDirectory & +ServiceDirectory & SDPID=$! # sleep for a second to give the service directory a chance to start up sleep 1 -$RELEX_BIN_DIR/ProtobufDataProductPublisher & +ProtobufDataProductPublisher & PUBPID=$! -$RELEX_BIN_DIR/ProtobufDataProductSubscriber & +ProtobufDataProductSubscriber & SUBPID=$! sleep 3 -$REL_BIN_DIR/Relay & +Relay & RPID=$! sleep 10 diff --git a/test/examples/14-AnomalyDetection/detect.sh.in b/test/examples/14-AnomalyDetection/detect.sh.in index 185a0fef0..73a935d4a 100755 --- a/test/examples/14-AnomalyDetection/detect.sh.in +++ b/test/examples/14-AnomalyDetection/detect.sh.in @@ -32,7 +32,7 @@ CM_LIB_DIR=@CMAKE_INSTALL_LIBDIR@ if test $WITHOUT_PYTHON = OFF; then - export PATH=$PATH:$GRAVITY_ROOT/src/components/cpp/bin + export PATH=$PATH:$SD_BIN_DIR export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ZMQ_LIB_DIR:$GRAVITY_ROOT/src/api/cpp:$GRAVITY_ROOT/src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR export PYTHONPATH=$PYTHONPATH:$CM_INST_PRE/$CM_LIB_DIR diff --git a/test/examples/14-AnomalyDetection/train.sh.in b/test/examples/14-AnomalyDetection/train.sh.in index 7fefc295c..b955a0e82 100755 --- a/test/examples/14-AnomalyDetection/train.sh.in +++ b/test/examples/14-AnomalyDetection/train.sh.in @@ -33,7 +33,7 @@ CM_LIB_DIR=@CMAKE_INSTALL_LIBDIR@ if test $WITHOUT_PYTHON = OFF; then - export PATH=$PATH:$GRAVITY_ROOT/src/components/cpp/bin + export PATH=$PATH:$SD_BIN_DIR export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ZMQ_LIB_DIR:$GRAVITY_ROOT/src/api/cpp:$GRAVITY_ROOT/src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR export PYTHONPATH=$PYTHONPATH:$CM_INST_PRE/$CM_LIB_DIR diff --git a/test/examples/2-ProtobufDataProduct/run.sh.in b/test/examples/2-ProtobufDataProduct/run.sh.in index a0575d2e3..284e65253 100755 --- a/test/examples/2-ProtobufDataProduct/run.sh.in +++ b/test/examples/2-ProtobufDataProduct/run.sh.in @@ -21,10 +21,10 @@ # Tool-related substitution variables PROTOBUF_LIB_DIR=@Protobuf_LIBRARY_RELEASE@ ZMQ_LIB_DIR=@ZeroMQ_LIBRARY_RELEASE@ -EXAMPLE_BIN_DIR=@GravityExamples_BINARY_DIR@ +TWO_BIN_DIR=@ProtobufDataProduct_BINARY_DIR@ SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ -export PATH=$PATH:../../../src/components/cpp/bin +export PATH=$PATH:$TWO_BIN_DIR:$SD_BIN_DIR export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR control_c() @@ -38,16 +38,16 @@ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyval # trap keyboard interrupt (control-c) trap control_c SIGINT -$SD_BIN_DIR/ServiceDirectory & +ServiceDirectory & SDPID=$! # sleep for a second to give the service directory a chance to start up sleep 1 -$EXAMPLE_BIN_DIR/2-ProtobufDataProduct/ProtobufDataProductPublisher & +ProtobufDataProductPublisher & PUBPID=$! # sleep for a second to give the publisher a chance to register its data product sleep 1 -$EXAMPLE_BIN_DIR/2-ProtobufDataProduct/ProtobufDataProductSubscriber +ProtobufDataProductSubscriber diff --git a/test/examples/3-MultipleDataProduct/run.sh.in b/test/examples/3-MultipleDataProduct/run.sh.in index a4a72ca51..9ddf7bb4c 100755 --- a/test/examples/3-MultipleDataProduct/run.sh.in +++ b/test/examples/3-MultipleDataProduct/run.sh.in @@ -21,10 +21,10 @@ # Tool-related substitution variables PROTOBUF_LIB_DIR=@Protobuf_LIBRARY_RELEASE@ ZMQ_LIB_DIR=@ZeroMQ_LIBRARY_RELEASE@ -EXAMPLE_BIN_DIR=@GravityExamples_BINARY_DIR@ +THREE_BIN_DIR=@MultipleDataProduct_BINARY_DIR@ SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ -export PATH=$PATH:../../../src/components/cpp/bin +export PATH=$PATH:$THREE_BIN_DIR:$SD_BIN_DIR export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR control_c() @@ -38,16 +38,16 @@ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyval # trap keyboard interrupt (control-c) trap control_c SIGINT -$SD_BIN_DIR/ServiceDirectory & +ServiceDirectory & SDPID=$! # sleep for a second to give the service directory a chance to start up sleep 1 -$EXAMPLE_BIN_DIR/3-MultipleDataProduct/MultipleDataProductPublisher & +MultipleDataProductPublisher & PUBPID=$! # sleep for a second to give the publisher a chance to register its data product sleep 1 -$EXAMPLE_BIN_DIR/3-MultipleDataProduct/MultipleDataProductSubscriber +MultipleDataProductSubscriber diff --git a/test/examples/4-BasicService/run.sh.in b/test/examples/4-BasicService/run.sh.in index 8dc7da901..b72cbb914 100755 --- a/test/examples/4-BasicService/run.sh.in +++ b/test/examples/4-BasicService/run.sh.in @@ -21,7 +21,7 @@ # Tool-related substitution variables PROTOBUF_LIB_DIR=@Protobuf_LIBRARY_RELEASE@ ZMQ_LIB_DIR=@ZeroMQ_LIBRARY_RELEASE@ -EXAMPLE_BIN_DIR=@GravityExamples_BINARY_DIR@ +FOUR_BIN_DIR=@BasicService_BINARY_DIR@ SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ export PATH=$PATH:../../../src/components/cpp/bin @@ -44,12 +44,12 @@ SDPID=$! # sleep for a second to give the service directory a chance to start up sleep 1 -$EXAMPLE_BIN_DIR/4-BasicService/BasicServiceProvider & +$FOUR_BIN_DIR/BasicServiceProvider & BSPPID=$! # sleep for a second to give the publisher a chance to register its data product sleep 1 -$EXAMPLE_BIN_DIR/4-BasicService/BasicServiceRequestor +$FOUR_BIN_DIR/BasicServiceRequestor cleanup diff --git a/test/examples/5-MiscFunctionality/run.sh.in b/test/examples/5-MiscFunctionality/run.sh.in index 51f60bb3c..46ac6dd48 100755 --- a/test/examples/5-MiscFunctionality/run.sh.in +++ b/test/examples/5-MiscFunctionality/run.sh.in @@ -21,10 +21,10 @@ # Tool-related substitution variables PROTOBUF_LIB_DIR=@Protobuf_LIBRARY_RELEASE@ ZMQ_LIB_DIR=@ZeroMQ_LIBRARY_RELEASE@ -EXAMPLE_BIN_DIR=@GravityExamples_BINARY_DIR@ +FIVE_BIN_DIR=@MiscFunctionality_BINARY_DIR@ SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ -export PATH=$PATH:../../../src/components/cpp/bin +export PATH=$PATH:$FIVE_BIN_DIR:$SD_BIN_DIR export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR control_c() @@ -38,16 +38,16 @@ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyval # trap keyboard interrupt (control-c) trap control_c SIGINT -$SD_BIN_DIR/ServiceDirectory & +ServiceDirectory & SDPID=$! # sleep for a second to give the service directory a chance to start up sleep 1 -$EXAMPLE_BIN_DIR/5-MiscFunctionality/MiscComponent1 & +MiscComponent1 & PUBPID=$! # sleep for a second to give the publisher a chance to register its data product sleep 1 -$EXAMPLE_BIN_DIR/5-MiscFunctionality/MiscComponent2 +MiscComponent2 diff --git a/test/examples/8-ConfigFile/Gravity.ini b/test/examples/8-ConfigFile/Gravity.ini index cbcbbd1b9..32cdb34dd 100644 --- a/test/examples/8-ConfigFile/Gravity.ini +++ b/test/examples/8-ConfigFile/Gravity.ini @@ -6,7 +6,7 @@ GravityFileLogLevel=debug # Set the log level for logs written to the console that started the component -GravityConsoleLogLevel=debug +#GravityConsoleLogLevel=debug # Without this, Gravity will spend a few seconds trying to retrieve # parameters from a remote ConfigServer. diff --git a/test/examples/8-ConfigFile/run.sh.in b/test/examples/8-ConfigFile/run.sh.in index 9213ba98c..f6ad9dae1 100755 --- a/test/examples/8-ConfigFile/run.sh.in +++ b/test/examples/8-ConfigFile/run.sh.in @@ -21,11 +21,11 @@ # Tool-related substitution variables PROTOBUF_LIB_DIR=@Protobuf_LIBRARY_RELEASE@ ZMQ_LIB_DIR=@ZeroMQ_LIBRARY_RELEASE@ -EXAMPLE_BIN_DIR=@GravityExamples_BINARY_DIR@ +EIGHT_BIN_DIR=@ConfigFile_BINARY_DIR@ SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ CS_BIN_DIR=@ConfigServer_BINARY_DIR@ -export PATH=$PATH:../../../src/components/cpp/ConfigServer:../../../src/components/cpp/ServiceDirectory +export PATH=$PATH:$CS_BIN_DIR:$SD_BIN_DIR:$EIGHT_BIN_DIR export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR cleanup() @@ -39,18 +39,18 @@ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyval # trap keyboard interrupt (control-c) trap cleanup SIGINT -$SD_BIN_DIR/ServiceDirectory & +ServiceDirectory & SDPID=$! # sleep for a second to give the service directory a chance to start up sleep 1 -$CS_BIN_DIR/ConfigServer & +ConfigServer & CSPID=$! # ConfigServer needs to be up and registered before client code calls init sleep 20 -$EXAMPLE_BIN_DIR/8-ConfigFile/ConfigFileExample +ConfigFileExample cleanup diff --git a/test/examples/9-Domains/run.sh.in b/test/examples/9-Domains/run.sh.in index 2b5fff02f..80356e0c4 100755 --- a/test/examples/9-Domains/run.sh.in +++ b/test/examples/9-Domains/run.sh.in @@ -21,10 +21,10 @@ # Tool-related substitution variables PROTOBUF_LIB_DIR=@Protobuf_LIBRARY_RELEASE@ ZMQ_LIB_DIR=@ZeroMQ_LIBRARY_RELEASE@ -EXAMPLE_BIN_DIR=@GravityExamples_BINARY_DIR@ +NINE_BIN_DIR=@Domains_BINARY_DIR@ SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ -export PATH=$PATH:../../../src/components/cpp/bin +export PATH=$PATH:$NINE_BIN_DIR:$SD_BIN_DIR export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR cleanup() @@ -39,15 +39,15 @@ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyval # trap keyboard interrupt (control-c) trap cleanup SIGINT -$EXAMPLE_BIN_DIR/9-Domains/ProtobufDataProductPublisher & +ProtobufDataProductPublisher & PUBPID=$! -$EXAMPLE_BIN_DIR/9-Domains/ProtobufDataProductSubscriber & +ProtobufDataProductSubscriber & SUBPID=$! sleep 20 -$SD_BIN_DIR/ServiceDirectory & +ServiceDirectory & SDPID=$! sleep 30 @@ -57,9 +57,9 @@ echo Killed ServiceDirectory and ProtobufDataProductPublisher sleep 10 echo Restarting ServiceDirectory and ProtobufDataProductPublisher -$EXAMPLE_BIN_DIR/9-Domains/ProtobufDataProductPublisher & +ProtobufDataProductPublisher & PUBPID=$! -$SD_BIN_DIR/ServiceDirectory & +ServiceDirectory & SDPID=$! sleep 10 From c0dcbf0c7d5e9a0a80f51590a2c5719bdec3196f Mon Sep 17 00:00:00 2001 From: APS VM Date: Mon, 23 Jun 2025 07:08:24 -0700 Subject: [PATCH 12/48] example 4 run.sh updated --- test/examples/4-BasicService/run.sh.in | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/test/examples/4-BasicService/run.sh.in b/test/examples/4-BasicService/run.sh.in index b72cbb914..41d190024 100755 --- a/test/examples/4-BasicService/run.sh.in +++ b/test/examples/4-BasicService/run.sh.in @@ -24,7 +24,7 @@ ZMQ_LIB_DIR=@ZeroMQ_LIBRARY_RELEASE@ FOUR_BIN_DIR=@BasicService_BINARY_DIR@ SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ -export PATH=$PATH:../../../src/components/cpp/bin +export PATH=$PATH:$SD_BIN_DIR:$FOUR_BIN_DIR export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR cleanup() @@ -38,18 +38,18 @@ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyval # trap keyboard interrupt (control-c) trap cleanup SIGINT -$SD_BIN_DIR/ServiceDirectory & +ServiceDirectory & SDPID=$! # sleep for a second to give the service directory a chance to start up sleep 1 -$FOUR_BIN_DIR/BasicServiceProvider & +BasicServiceProvider & BSPPID=$! # sleep for a second to give the publisher a chance to register its data product sleep 1 -$FOUR_BIN_DIR/BasicServiceRequestor +BasicServiceRequestor cleanup From 5d852b5351233288b2c7b4cc689dbb9a9b0c3542 Mon Sep 17 00:00:00 2001 From: APS VM Date: Mon, 23 Jun 2025 13:31:00 -0700 Subject: [PATCH 13/48] Better integration with external builds --- test/examples/1-BasicDataProduct/run.sh.in | 5 +++-- test/examples/11-PythonPubSub/run.sh.in | 2 +- test/examples/12-PythonBasicService/run.sh.in | 2 +- test/examples/13-Relay/run.sh.in | 3 ++- test/examples/14-AnomalyDetection/detect.sh.in | 4 ++-- test/examples/14-AnomalyDetection/train.sh.in | 4 ++-- test/examples/2-ProtobufDataProduct/run.sh.in | 3 ++- test/examples/3-MultipleDataProduct/run.sh.in | 3 ++- test/examples/4-BasicService/run.sh.in | 3 ++- test/examples/5-MiscFunctionality/run.sh.in | 3 ++- test/examples/6-JavaProtobufDataProduct/run.sh.in | 2 +- test/examples/7-JavaBasicService/run.sh.in | 2 +- test/examples/8-ConfigFile/run.sh.in | 3 ++- 13 files changed, 23 insertions(+), 16 deletions(-) diff --git a/test/examples/1-BasicDataProduct/run.sh.in b/test/examples/1-BasicDataProduct/run.sh.in index f5a06cd6b..54db2d214 100755 --- a/test/examples/1-BasicDataProduct/run.sh.in +++ b/test/examples/1-BasicDataProduct/run.sh.in @@ -22,9 +22,10 @@ PROTOBUF_LIB_DIR=@Protobuf_LIBRARY_RELEASE@ ZMQ_LIB_DIR=@ZeroMQ_LIBRARY_RELEASE@ ONE_BIN_DIR=@BasicDataProduct_BINARY_DIR@ -SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ +SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ #Can use for not external builds +COMP_BIN_DIR=@CMAKE_INSTALL_PREFIX@/bin -export PATH=$PATH:$ONE_BIN_DIR:$SD_BIN_DIR +export PATH=$PATH:$ONE_BIN_DIR:$SD_BIN_DIR:$COMP_BIN_DIR export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR control_c() diff --git a/test/examples/11-PythonPubSub/run.sh.in b/test/examples/11-PythonPubSub/run.sh.in index 01b4752f8..f35754366 100755 --- a/test/examples/11-PythonPubSub/run.sh.in +++ b/test/examples/11-PythonPubSub/run.sh.in @@ -31,7 +31,7 @@ CM_LIB_DIR=@CMAKE_INSTALL_LIBDIR@ if test $WITHOUT_PYTHON = OFF; then - export PATH=$PATH:$SD_BIN_DIR + export PATH=$PATH:$SD_BIN_DIR:$CM_INST_PRE/bin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ZMQ_LIB_DIR:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR export PYTHONPATH=$PYTHONPATH:$CM_INST_PRE/$CM_LIB_DIR diff --git a/test/examples/12-PythonBasicService/run.sh.in b/test/examples/12-PythonBasicService/run.sh.in index 71eb24fad..d062c1366 100755 --- a/test/examples/12-PythonBasicService/run.sh.in +++ b/test/examples/12-PythonBasicService/run.sh.in @@ -30,7 +30,7 @@ CM_LIB_DIR=@CMAKE_INSTALL_LIBDIR@ if test $WITHOUT_PYTHON = OFF; then - export PATH=$PATH:$SD_BIN_DIR + export PATH=$PATH:$SD_BIN_DIR:$CM_INST_PRE/bin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ZMQ_LIB_DIR:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR export PYTHONPATH=$CM_INST_PRE/$CM_LIB_DIR diff --git a/test/examples/13-Relay/run.sh.in b/test/examples/13-Relay/run.sh.in index 893446a88..f5646fe60 100755 --- a/test/examples/13-Relay/run.sh.in +++ b/test/examples/13-Relay/run.sh.in @@ -24,9 +24,10 @@ ZMQ_LIB_DIR=@ZeroMQ_LIBRARY_RELEASE@ SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ REL_BIN_DIR=@Relay_BINARY_DIR@ RELEX_BIN_DIR=@RelayExample_BINARY_DIR@ +COMP_BIN_DIR=@CMAKE_INSTALL_PREFIX@/bin -export PATH=$PATH:$SD_BIN_DIR:$REL_BIN_DIR:$RELEX_BIN_DIR +export PATH=$PATH:$SD_BIN_DIR:$REL_BIN_DIR:$RELEX_BIN_DIR:$COMP_BIN_DIR export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR cleanup() diff --git a/test/examples/14-AnomalyDetection/detect.sh.in b/test/examples/14-AnomalyDetection/detect.sh.in index 73a935d4a..2aaad1954 100755 --- a/test/examples/14-AnomalyDetection/detect.sh.in +++ b/test/examples/14-AnomalyDetection/detect.sh.in @@ -32,13 +32,13 @@ CM_LIB_DIR=@CMAKE_INSTALL_LIBDIR@ if test $WITHOUT_PYTHON = OFF; then - export PATH=$PATH:$SD_BIN_DIR + export PATH=$PATH:$SD_BIN_DIR:$CM_INST_PRE/bin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ZMQ_LIB_DIR:$GRAVITY_ROOT/src/api/cpp:$GRAVITY_ROOT/src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR export PYTHONPATH=$PYTHONPATH:$CM_INST_PRE/$CM_LIB_DIR protoc --proto_path=. --python_out=. DataPoint.proto || exit - $TERM -- /bin/bash -c "echo -ne '\033]0;Service Directory \007'; $SD_BIN_DIR/ServiceDirectory ; read -p 'Press return to exit'" & + $TERM -- /bin/bash -c "echo -ne '\033]0;Service Directory \007'; ServiceDirectory ; read -p 'Press return to exit'" & $TERM -- /bin/bash -c "echo -ne '\033]0;Publisher \007'; $PYTHON pub.py 500 ; read -p 'Press return to exit'" & $TERM -- /bin/bash -c "echo -ne '\033]0;Anomaly Detector \007'; $PYTHON detect.py ; read -p 'Press return to exit'" & diff --git a/test/examples/14-AnomalyDetection/train.sh.in b/test/examples/14-AnomalyDetection/train.sh.in index b955a0e82..fc65576a9 100755 --- a/test/examples/14-AnomalyDetection/train.sh.in +++ b/test/examples/14-AnomalyDetection/train.sh.in @@ -33,13 +33,13 @@ CM_LIB_DIR=@CMAKE_INSTALL_LIBDIR@ if test $WITHOUT_PYTHON = OFF; then - export PATH=$PATH:$SD_BIN_DIR + export PATH=$PATH:$SD_BIN_DIR:$CM_INST_PRE/bin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ZMQ_LIB_DIR:$GRAVITY_ROOT/src/api/cpp:$GRAVITY_ROOT/src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR export PYTHONPATH=$PYTHONPATH:$CM_INST_PRE/$CM_LIB_DIR protoc --proto_path=. --python_out=. DataPoint.proto || exit - $TERM -- /bin/bash -c "echo -ne '\033]0;Service Directory \007'; $SD_BIN_DIR/ServiceDirectory ; read -p 'Press return to exit'" & + $TERM -- /bin/bash -c "echo -ne '\033]0;Service Directory \007'; ServiceDirectory ; read -p 'Press return to exit'" & $TERM -- /bin/bash -c "echo -ne '\033]0;Publisher \007'; $PYTHON pub.py ; read -p 'Press return to exit'" & $TERM -- /bin/bash -c "echo -ne '\033]0;Model Training \007'; $PYTHON train.py ; read -p 'Press return to exit'" & diff --git a/test/examples/2-ProtobufDataProduct/run.sh.in b/test/examples/2-ProtobufDataProduct/run.sh.in index 284e65253..27d629abb 100755 --- a/test/examples/2-ProtobufDataProduct/run.sh.in +++ b/test/examples/2-ProtobufDataProduct/run.sh.in @@ -23,8 +23,9 @@ PROTOBUF_LIB_DIR=@Protobuf_LIBRARY_RELEASE@ ZMQ_LIB_DIR=@ZeroMQ_LIBRARY_RELEASE@ TWO_BIN_DIR=@ProtobufDataProduct_BINARY_DIR@ SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ +COMP_BIN_DIR=@CMAKE_INSTALL_PREFIX@/bin -export PATH=$PATH:$TWO_BIN_DIR:$SD_BIN_DIR +export PATH=$PATH:$TWO_BIN_DIR:$SD_BIN_DIR:$COMP_BIN_DIR export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR control_c() diff --git a/test/examples/3-MultipleDataProduct/run.sh.in b/test/examples/3-MultipleDataProduct/run.sh.in index 9ddf7bb4c..dc94f002c 100755 --- a/test/examples/3-MultipleDataProduct/run.sh.in +++ b/test/examples/3-MultipleDataProduct/run.sh.in @@ -23,8 +23,9 @@ PROTOBUF_LIB_DIR=@Protobuf_LIBRARY_RELEASE@ ZMQ_LIB_DIR=@ZeroMQ_LIBRARY_RELEASE@ THREE_BIN_DIR=@MultipleDataProduct_BINARY_DIR@ SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ +COMP_BIN_DIR=@CMAKE_INSTALL_PREFIX@/bin -export PATH=$PATH:$THREE_BIN_DIR:$SD_BIN_DIR +export PATH=$PATH:$THREE_BIN_DIR:$SD_BIN_DIR:$COMP_BIN_DIR export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR control_c() diff --git a/test/examples/4-BasicService/run.sh.in b/test/examples/4-BasicService/run.sh.in index 41d190024..8af27025d 100755 --- a/test/examples/4-BasicService/run.sh.in +++ b/test/examples/4-BasicService/run.sh.in @@ -23,8 +23,9 @@ PROTOBUF_LIB_DIR=@Protobuf_LIBRARY_RELEASE@ ZMQ_LIB_DIR=@ZeroMQ_LIBRARY_RELEASE@ FOUR_BIN_DIR=@BasicService_BINARY_DIR@ SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ +COMP_BIN_DIR=@CMAKE_INSTALL_PREFIX@/bin -export PATH=$PATH:$SD_BIN_DIR:$FOUR_BIN_DIR +export PATH=$PATH:$SD_BIN_DIR:$FOUR_BIN_DIR:$COMP_BIN_DIR export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR cleanup() diff --git a/test/examples/5-MiscFunctionality/run.sh.in b/test/examples/5-MiscFunctionality/run.sh.in index 46ac6dd48..483765a7e 100755 --- a/test/examples/5-MiscFunctionality/run.sh.in +++ b/test/examples/5-MiscFunctionality/run.sh.in @@ -23,8 +23,9 @@ PROTOBUF_LIB_DIR=@Protobuf_LIBRARY_RELEASE@ ZMQ_LIB_DIR=@ZeroMQ_LIBRARY_RELEASE@ FIVE_BIN_DIR=@MiscFunctionality_BINARY_DIR@ SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ +COMP_BIN_DIR=@CMAKE_INSTALL_PREFIX@/bin -export PATH=$PATH:$FIVE_BIN_DIR:$SD_BIN_DIR +export PATH=$PATH:$FIVE_BIN_DIR:$SD_BIN_DIR:$COMP_BIN_DIR export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR control_c() diff --git a/test/examples/6-JavaProtobufDataProduct/run.sh.in b/test/examples/6-JavaProtobufDataProduct/run.sh.in index 2f2cdf06f..c251a3134 100755 --- a/test/examples/6-JavaProtobufDataProduct/run.sh.in +++ b/test/examples/6-JavaProtobufDataProduct/run.sh.in @@ -32,7 +32,7 @@ SIX_BIN_DIR=@JavaProtobufDataProduct_BINARY_DIR@ if test $WITHOUT_JAVA = OFF; then - export PATH=$PATH:$SD_BIN_DIR + export PATH=$PATH:$SD_BIN_DIR:$CM_INST_PRE/bin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ZMQ_LIB_DIR:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR ServiceDirectory & diff --git a/test/examples/7-JavaBasicService/run.sh.in b/test/examples/7-JavaBasicService/run.sh.in index 0ddff4a0e..4b4a93b15 100755 --- a/test/examples/7-JavaBasicService/run.sh.in +++ b/test/examples/7-JavaBasicService/run.sh.in @@ -33,7 +33,7 @@ SEV_BIN_DIR=@JavaBasicService_BINARY_DIR@ if test $WITHOUT_JAVA = OFF; then - export PATH=$PATH:$SD_BIN_DIR + export PATH=$PATH:$SD_BIN_DIR:$CM_INST_PRE/bin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR ServiceDirectory & diff --git a/test/examples/8-ConfigFile/run.sh.in b/test/examples/8-ConfigFile/run.sh.in index f6ad9dae1..4a8080221 100755 --- a/test/examples/8-ConfigFile/run.sh.in +++ b/test/examples/8-ConfigFile/run.sh.in @@ -24,8 +24,9 @@ ZMQ_LIB_DIR=@ZeroMQ_LIBRARY_RELEASE@ EIGHT_BIN_DIR=@ConfigFile_BINARY_DIR@ SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ CS_BIN_DIR=@ConfigServer_BINARY_DIR@ +COMP_BIN_DIR=@CMAKE_INSTALL_PREFIX@/bin -export PATH=$PATH:$CS_BIN_DIR:$SD_BIN_DIR:$EIGHT_BIN_DIR +export PATH=$PATH:$CS_BIN_DIR:$SD_BIN_DIR:$EIGHT_BIN_DIR:$COMP_BIN_DIR export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR cleanup() From 6017012caba7f3b6dfa1d064990cabedfee47022 Mon Sep 17 00:00:00 2001 From: APS VM Date: Mon, 23 Jun 2025 13:35:01 -0700 Subject: [PATCH 14/48] Better integration with external builds --- test/examples/10-Archiving/run.sh.in | 3 ++- test/examples/9-Domains/run.sh.in | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/test/examples/10-Archiving/run.sh.in b/test/examples/10-Archiving/run.sh.in index 93355f258..e57b6ef0c 100755 --- a/test/examples/10-Archiving/run.sh.in +++ b/test/examples/10-Archiving/run.sh.in @@ -25,9 +25,10 @@ TEN_BIN_DIR=@Archiving_BINARY_DIR@ SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ ARCH_BIN_DIR=@Archiver_BINARY_DIR@ PB_BIN_DIR=@Playback_BINARY_DIR@ +COMP_BIN_DIR=@CMAKE_INSTALL_PREFIX@/bin -export PATH=$PATH:$TEN_BIN_DIR:$SD_BIN_DIR:$ARCH_BIN_DIR:$PB_BIN_DIR +export PATH=$PATH:$TEN_BIN_DIR:$SD_BIN_DIR:$ARCH_BIN_DIR:$PB_BIN_DIR:$COMP_BIN_DIR export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR cleanup() diff --git a/test/examples/9-Domains/run.sh.in b/test/examples/9-Domains/run.sh.in index 80356e0c4..abcca1ead 100755 --- a/test/examples/9-Domains/run.sh.in +++ b/test/examples/9-Domains/run.sh.in @@ -23,8 +23,9 @@ PROTOBUF_LIB_DIR=@Protobuf_LIBRARY_RELEASE@ ZMQ_LIB_DIR=@ZeroMQ_LIBRARY_RELEASE@ NINE_BIN_DIR=@Domains_BINARY_DIR@ SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ +COMP_BIN_DIR=@CMAKE_INSTALL_PREFIX@/bin -export PATH=$PATH:$NINE_BIN_DIR:$SD_BIN_DIR +export PATH=$PATH:$NINE_BIN_DIR:$SD_BIN_DIR:$COMP_BIN_DIR export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR cleanup() From 6a3bc9f338619b9f0bbde7f5182a0bae7d250387 Mon Sep 17 00:00:00 2001 From: APS VM Date: Mon, 23 Jun 2025 14:09:37 -0700 Subject: [PATCH 15/48] First five examples with bat files --- .../1-BasicDataProduct/CMakeLists.txt | 48 +++++++------ .../RunBasicDataProductDebug.bat.in | 16 +++++ .../RunBasicDataProductRelease.bat.in | 16 +++++ .../2-ProtobufDataProduct/CMakeLists.txt | 72 ++++++++++--------- .../RunProtobufDataProductDebug.bat.in | 16 +++++ .../RunProtobufDataProductRelease.bat.in | 17 +++++ .../3-MultipleDataProduct/CMakeLists.txt | 71 +++++++++--------- .../RunMultipleDataProductDebug.bat.in | 16 +++++ .../RunMultipleDataProductRelease.bat.in | 17 +++++ test/examples/4-BasicService/CMakeLists.txt | 72 ++++++++++--------- .../RunBasicServiceDebug.bat.in | 16 +++++ .../RunBasicServiceRelease.bat.in | 17 +++++ .../5-MiscFunctionality/CMakeLists.txt | 50 ++++++------- .../RunMiscFunctionalityDebug.bat.in | 16 +++++ .../RunMiscFunctionalityRelease.bat.in | 16 +++++ 15 files changed, 325 insertions(+), 151 deletions(-) create mode 100644 test/examples/1-BasicDataProduct/RunBasicDataProductDebug.bat.in create mode 100644 test/examples/1-BasicDataProduct/RunBasicDataProductRelease.bat.in create mode 100644 test/examples/2-ProtobufDataProduct/RunProtobufDataProductDebug.bat.in create mode 100644 test/examples/2-ProtobufDataProduct/RunProtobufDataProductRelease.bat.in create mode 100644 test/examples/3-MultipleDataProduct/RunMultipleDataProductDebug.bat.in create mode 100644 test/examples/3-MultipleDataProduct/RunMultipleDataProductRelease.bat.in create mode 100644 test/examples/4-BasicService/RunBasicServiceDebug.bat.in create mode 100644 test/examples/4-BasicService/RunBasicServiceRelease.bat.in create mode 100644 test/examples/5-MiscFunctionality/RunMiscFunctionalityDebug.bat.in create mode 100644 test/examples/5-MiscFunctionality/RunMiscFunctionalityRelease.bat.in diff --git a/test/examples/1-BasicDataProduct/CMakeLists.txt b/test/examples/1-BasicDataProduct/CMakeLists.txt index b639d2be9..326f81977 100644 --- a/test/examples/1-BasicDataProduct/CMakeLists.txt +++ b/test/examples/1-BasicDataProduct/CMakeLists.txt @@ -1,23 +1,25 @@ -cmake_minimum_required(VERSION 3.17) -project(BasicDataProduct) -# -# see CMakeLists.txt one level up on how to set up CMAKE_PREFIX_PATH and CMAKE_MODULE_PATH -# - - -find_package(Gravity QUIET) - -# since we use spdlog directly -find_package(spdlog REQUIRED) - -set(CMAKE_DEBUG_POSTFIX _d) -add_executable(BasicDataProductPublisher BasicDataProductPublisher.cpp) -set_target_properties(BasicDataProductPublisher PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) -target_link_libraries(BasicDataProductPublisher gravity spdlog::spdlog_header_only) - - -add_executable(BasicDataProductSubscriber BasicDataProductSubscriber.cpp) -set_target_properties(BasicDataProductSubscriber PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) -target_link_libraries(BasicDataProductSubscriber gravity spdlog::spdlog_header_only) - -configure_file(run.sh.in ${BasicDataProduct_SOURCE_DIR}/run.sh) +cmake_minimum_required(VERSION 3.17) +project(BasicDataProduct) +# +# see CMakeLists.txt one level up on how to set up CMAKE_PREFIX_PATH and CMAKE_MODULE_PATH +# + + +find_package(Gravity QUIET) + +# since we use spdlog directly +find_package(spdlog REQUIRED) + +set(CMAKE_DEBUG_POSTFIX _d) +add_executable(BasicDataProductPublisher BasicDataProductPublisher.cpp) +set_target_properties(BasicDataProductPublisher PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) +target_link_libraries(BasicDataProductPublisher gravity spdlog::spdlog_header_only) + + +add_executable(BasicDataProductSubscriber BasicDataProductSubscriber.cpp) +set_target_properties(BasicDataProductSubscriber PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) +target_link_libraries(BasicDataProductSubscriber gravity spdlog::spdlog_header_only) + +configure_file(run.sh.in ${BasicDataProduct_SOURCE_DIR}/run.sh) +configure_file(RunBasicDataProductDebug.bat.in ${BasicDataProduct_SOURCE_DIR}/RunBasicDataProductDebug.bat) +configure_file(RunBasicDataProductRelease.bat.in ${BasicDataProduct_SOURCE_DIR}/RunBasicDataProductRelease.bat) diff --git a/test/examples/1-BasicDataProduct/RunBasicDataProductDebug.bat.in b/test/examples/1-BasicDataProduct/RunBasicDataProductDebug.bat.in new file mode 100644 index 000000000..3a9e0c10d --- /dev/null +++ b/test/examples/1-BasicDataProduct/RunBasicDataProductDebug.bat.in @@ -0,0 +1,16 @@ +setlocal + +cd @CMAKE_INSTALL_PREFIX@/bin +set Path=%Path%;@ABS_GRAVITY_ROOT@/bin +set Path=%Path%;@ABS_GRAVITY_ROOT@/deps/libzmq/bin +set Path=%Path%;@ABS_GRAVITY_ROOT@/deps/protobuf/bin +set Path=%Path%;@ABS_GRAVITY_ROOT@/bin +set Path=%Path%;@LOCAL_ZEROMQ_RUNTIME_DIR@ +set path=%Path%;@LOCAL_PROTOBUF_RUNTIME_DIR@ +set path=%Path%;@BasicDataProduct_BINARY_DIR@/Debug + +start ServiceDirectory@CMAKE_DEBUG_POSTFIX@.exe +sleep 3 +start BasicDataProductPublisher@CMAKE_DEBUG_POSTFIX@.exe +sleep 3 +start BasicDataProductSubscriber@CMAKE_DEBUG_POSTFIX@.exe \ No newline at end of file diff --git a/test/examples/1-BasicDataProduct/RunBasicDataProductRelease.bat.in b/test/examples/1-BasicDataProduct/RunBasicDataProductRelease.bat.in new file mode 100644 index 000000000..ce06aba8d --- /dev/null +++ b/test/examples/1-BasicDataProduct/RunBasicDataProductRelease.bat.in @@ -0,0 +1,16 @@ +setlocal + +cd @CMAKE_INSTALL_PREFIX@/bin +set Path=%Path%;@ABS_GRAVITY_ROOT@/bin +set Path=%Path%;@ABS_GRAVITY_ROOT@/deps/libzmq/bin +set Path=%Path%;@ABS_GRAVITY_ROOT@/deps/protobuf/bin +set Path=%Path%;@ABS_GRAVITY_ROOT@/bin +set Path=%Path%;@LOCAL_ZEROMQ_RUNTIME_DIR@ +set path=%Path%;@LOCAL_PROTOBUF_RUNTIME_DIR@ +set path=%Path%;@BasicDataProduct_BINARY_DIR@/Release + +start ServiceDirectory.exe +sleep 3 +start BasicDataProductPublisher.exe +sleep 3 +start BasicDataProductSubscriber.exe \ No newline at end of file diff --git a/test/examples/2-ProtobufDataProduct/CMakeLists.txt b/test/examples/2-ProtobufDataProduct/CMakeLists.txt index 798f5895a..994d8b05d 100644 --- a/test/examples/2-ProtobufDataProduct/CMakeLists.txt +++ b/test/examples/2-ProtobufDataProduct/CMakeLists.txt @@ -1,35 +1,37 @@ -cmake_minimum_required(VERSION 3.17) -project(ProtoBufDataProduct) -# -# see CMakeLists.txt on how to set up CMAKE_PREFIX_PATH and CMAKE_MODULE_PATH -# - -# for gravity_protobuf_generate -include(GravitySupport) - - -find_package(spdlog REQUIRED) -find_package(Gravity QUIET) - -file(GLOB PROTO_FILES "${CMAKE_CURRENT_LIST_DIR}/../protobuf/*.proto") - -gravity_protobuf_generate(APPEND_PATH PROTOC_OUT_DIR ${CMAKE_CURRENT_BINARY_DIR} OUT_VAR PROTO_SRCS - PROTOS ${PROTO_FILES}) - -add_custom_target(${PROJECT_NAME}_protos ALL DEPENDS ${PROTO_SRCS}) - -set(CMAKE_DEBUG_POSTFIX _d) -add_executable(ProtobufDataProductPublisher ProtobufDataProductPublisher.cpp ${PROTO_SRCS}) -set_target_properties(ProtobufDataProductPublisher PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) -target_link_libraries(ProtobufDataProductPublisher PUBLIC gravity PRIVATE spdlog::spdlog_header_only) -target_include_directories(ProtobufDataProductPublisher PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) -add_dependencies(ProtobufDataProductPublisher ${PROJECT_NAME}_protos) - -add_executable(ProtobufDataProductSubscriber ProtobufDataProductSubscriber.cpp ${PROTO_SRCS}) -set_target_properties(ProtobufDataProductSubscriber PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) -target_link_libraries(ProtobufDataProductSubscriber PUBLIC gravity PRIVATE spdlog::spdlog_header_only) -target_include_directories(ProtobufDataProductSubscriber PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) -add_dependencies(ProtobufDataProductSubscriber ${PROJECT_NAME}_protos) - -configure_file(run.sh.in ${ProtobufDataProduct_SOURCE_DIR}/run.sh) - +cmake_minimum_required(VERSION 3.17) +project(ProtoBufDataProduct) +# +# see CMakeLists.txt on how to set up CMAKE_PREFIX_PATH and CMAKE_MODULE_PATH +# + +# for gravity_protobuf_generate +include(GravitySupport) + + +find_package(spdlog REQUIRED) +find_package(Gravity QUIET) + +file(GLOB PROTO_FILES "${CMAKE_CURRENT_LIST_DIR}/../protobuf/*.proto") + +gravity_protobuf_generate(APPEND_PATH PROTOC_OUT_DIR ${CMAKE_CURRENT_BINARY_DIR} OUT_VAR PROTO_SRCS + PROTOS ${PROTO_FILES}) + +add_custom_target(${PROJECT_NAME}_protos ALL DEPENDS ${PROTO_SRCS}) + +set(CMAKE_DEBUG_POSTFIX _d) +add_executable(ProtobufDataProductPublisher ProtobufDataProductPublisher.cpp ${PROTO_SRCS}) +set_target_properties(ProtobufDataProductPublisher PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) +target_link_libraries(ProtobufDataProductPublisher PUBLIC gravity PRIVATE spdlog::spdlog_header_only) +target_include_directories(ProtobufDataProductPublisher PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) +add_dependencies(ProtobufDataProductPublisher ${PROJECT_NAME}_protos) + +add_executable(ProtobufDataProductSubscriber ProtobufDataProductSubscriber.cpp ${PROTO_SRCS}) +set_target_properties(ProtobufDataProductSubscriber PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) +target_link_libraries(ProtobufDataProductSubscriber PUBLIC gravity PRIVATE spdlog::spdlog_header_only) +target_include_directories(ProtobufDataProductSubscriber PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) +add_dependencies(ProtobufDataProductSubscriber ${PROJECT_NAME}_protos) + +configure_file(run.sh.in ${ProtobufDataProduct_SOURCE_DIR}/run.sh) +configure_file(RunProtobufDataProductDebug.bat.in ${ProtobufDataProduct_SOURCE_DIR}/RunProtobufDataProductDebug.bat) +configure_file(RunProtobufDataProductRelease.bat.in ${ProtobufDataProduct_SOURCE_DIR}/RunProtobufDataProductRelease.bat) + diff --git a/test/examples/2-ProtobufDataProduct/RunProtobufDataProductDebug.bat.in b/test/examples/2-ProtobufDataProduct/RunProtobufDataProductDebug.bat.in new file mode 100644 index 000000000..cffae5ea1 --- /dev/null +++ b/test/examples/2-ProtobufDataProduct/RunProtobufDataProductDebug.bat.in @@ -0,0 +1,16 @@ +setlocal + +cd @CMAKE_INSTALL_PREFIX@/bin +set Path=%Path%;@ABS_GRAVITY_ROOT@/bin +set Path=%Path%;@ABS_GRAVITY_ROOT@/deps/libzmq/bin +set Path=%Path%;@ABS_GRAVITY_ROOT@/deps/protobuf/bin +set Path=%Path%;@ABS_GRAVITY_ROOT@/bin +set Path=%Path%;@LOCAL_ZEROMQ_RUNTIME_DIR@ +set path=%Path%;@LOCAL_PROTOBUF_RUNTIME_DIR@ +set path=%Path%;@ProtobufDataProduct_BINARY_DIR@/Debug + +start ServiceDirectory@CMAKE_DEBUG_POSTFIX@.exe +sleep 3 +start ProtobufDataProductPublisher@CMAKE_DEBUG_POSTFIX@.exe +sleep 3 +start ProtobufDataProductSubscriber@CMAKE_DEBUG_POSTFIX@.exe \ No newline at end of file diff --git a/test/examples/2-ProtobufDataProduct/RunProtobufDataProductRelease.bat.in b/test/examples/2-ProtobufDataProduct/RunProtobufDataProductRelease.bat.in new file mode 100644 index 000000000..5d4321ed8 --- /dev/null +++ b/test/examples/2-ProtobufDataProduct/RunProtobufDataProductRelease.bat.in @@ -0,0 +1,17 @@ +setlocal + + +cd @CMAKE_INSTALL_PREFIX@/bin +set Path=%Path%;@ABS_GRAVITY_ROOT@/bin +set Path=%Path%;@ABS_GRAVITY_ROOT@/deps/libzmq/bin +set Path=%Path%;@ABS_GRAVITY_ROOT@/deps/protobuf/bin +set Path=%Path%;@ABS_GRAVITY_ROOT@/bin +set Path=%Path%;@LOCAL_ZEROMQ_RUNTIME_DIR@ +set path=%Path%;@LOCAL_PROTOBUF_RUNTIME_DIR@ +set path=%Path%;@ProtobufDataProduct_BINARY_DIR@/Release + +start ServiceDirectory.exe +sleep 3 +start ProtobufDataProductPublisher.exe +sleep 3 +start ProtobufDataProductSubscriber.exe \ No newline at end of file diff --git a/test/examples/3-MultipleDataProduct/CMakeLists.txt b/test/examples/3-MultipleDataProduct/CMakeLists.txt index 32dbd884c..29c4a299b 100644 --- a/test/examples/3-MultipleDataProduct/CMakeLists.txt +++ b/test/examples/3-MultipleDataProduct/CMakeLists.txt @@ -1,34 +1,37 @@ -cmake_minimum_required(VERSION 3.17) -project(MultipleDataProduct) -# -# see CMakeLists.txt on how to set up CMAKE_PREFIX_PATH and CMAKE_MODULE_PATH -# - -# for gravity_protobuf_generate -include(GravitySupport) - - -find_package(spdlog REQUIRED) -find_package(Gravity QUIET) - -file(GLOB PROTO_FILES "${CMAKE_CURRENT_LIST_DIR}/../protobuf/*.proto") - -gravity_protobuf_generate(APPEND_PATH PROTOC_OUT_DIR ${CMAKE_CURRENT_BINARY_DIR} OUT_VAR PROTO_SRCS - PROTOS ${PROTO_FILES}) - -add_custom_target(${PROJECT_NAME}_protos ALL DEPENDS ${PROTO_SRCS}) - -set(CMAKE_DEBUG_POSTFIX _d) -add_executable(MultipleDataProductPublisher MultipleDataProductPublisher.cpp ${PROTO_SRCS}) -set_target_properties(MultipleDataProductPublisher PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) -target_link_libraries(MultipleDataProductPublisher PUBLIC gravity PRIVATE spdlog::spdlog_header_only) -target_include_directories(MultipleDataProductPublisher PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) -add_dependencies(MultipleDataProductPublisher ${PROJECT_NAME}_protos) - -add_executable(MultipleDataProductSubscriber MultipleDataProductSubscriber.cpp ${PROTO_SRCS}) -set_target_properties(MultipleDataProductSubscriber PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) -target_link_libraries(MultipleDataProductSubscriber PUBLIC gravity PRIVATE spdlog::spdlog_header_only) -target_include_directories(MultipleDataProductSubscriber PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) -add_dependencies(MultipleDataProductSubscriber ${PROJECT_NAME}_protos) - -configure_file(run.sh.in ${MultipleDataProduct_SOURCE_DIR}/run.sh) +cmake_minimum_required(VERSION 3.17) +project(MultipleDataProduct) +# +# see CMakeLists.txt on how to set up CMAKE_PREFIX_PATH and CMAKE_MODULE_PATH +# + +# for gravity_protobuf_generate +include(GravitySupport) + + +find_package(spdlog REQUIRED) +find_package(Gravity QUIET) + +file(GLOB PROTO_FILES "${CMAKE_CURRENT_LIST_DIR}/../protobuf/*.proto") + +gravity_protobuf_generate(APPEND_PATH PROTOC_OUT_DIR ${CMAKE_CURRENT_BINARY_DIR} OUT_VAR PROTO_SRCS + PROTOS ${PROTO_FILES}) + +add_custom_target(${PROJECT_NAME}_protos ALL DEPENDS ${PROTO_SRCS}) + +set(CMAKE_DEBUG_POSTFIX _d) +add_executable(MultipleDataProductPublisher MultipleDataProductPublisher.cpp ${PROTO_SRCS}) +set_target_properties(MultipleDataProductPublisher PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) +target_link_libraries(MultipleDataProductPublisher PUBLIC gravity PRIVATE spdlog::spdlog_header_only) +target_include_directories(MultipleDataProductPublisher PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) +add_dependencies(MultipleDataProductPublisher ${PROJECT_NAME}_protos) + +add_executable(MultipleDataProductSubscriber MultipleDataProductSubscriber.cpp ${PROTO_SRCS}) +set_target_properties(MultipleDataProductSubscriber PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) +target_link_libraries(MultipleDataProductSubscriber PUBLIC gravity PRIVATE spdlog::spdlog_header_only) +target_include_directories(MultipleDataProductSubscriber PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) +add_dependencies(MultipleDataProductSubscriber ${PROJECT_NAME}_protos) + +configure_file(run.sh.in ${MultipleDataProduct_SOURCE_DIR}/run.sh) +configure_file(RunMultipleDataProductDebug.bat.in ${MultipleDataProduct_SOURCE_DIR}/RunMultipleDataProductDebug.bat) +configure_file(RunMultipleDataProductRelease.bat.in ${MultipleDataProduct_SOURCE_DIR}/RunMultipleDataProductRelease.bat) + diff --git a/test/examples/3-MultipleDataProduct/RunMultipleDataProductDebug.bat.in b/test/examples/3-MultipleDataProduct/RunMultipleDataProductDebug.bat.in new file mode 100644 index 000000000..64efb3ad4 --- /dev/null +++ b/test/examples/3-MultipleDataProduct/RunMultipleDataProductDebug.bat.in @@ -0,0 +1,16 @@ +setlocal + +cd @CMAKE_INSTALL_PREFIX@/bin +set Path=%Path%;@ABS_GRAVITY_ROOT@/bin +set Path=%Path%;@ABS_GRAVITY_ROOT@/deps/libzmq/bin +set Path=%Path%;@ABS_GRAVITY_ROOT@/deps/protobuf/bin +set Path=%Path%;@ABS_GRAVITY_ROOT@/bin +set Path=%Path%;@LOCAL_ZEROMQ_RUNTIME_DIR@ +set path=%Path%;@LOCAL_PROTOBUF_RUNTIME_DIR@ +set path=%Path%;@MultipleDataProduct_BINARY_DIR@/Debug + +start ServiceDirectory@CMAKE_DEBUG_POSTFIX@.exe +sleep 3 +start MultipleDataProductPublisher@CMAKE_DEBUG_POSTFIX@.exe +sleep 3 +start MultipleDataProductSubscriber@CMAKE_DEBUG_POSTFIX@.exe \ No newline at end of file diff --git a/test/examples/3-MultipleDataProduct/RunMultipleDataProductRelease.bat.in b/test/examples/3-MultipleDataProduct/RunMultipleDataProductRelease.bat.in new file mode 100644 index 000000000..0a4b68e07 --- /dev/null +++ b/test/examples/3-MultipleDataProduct/RunMultipleDataProductRelease.bat.in @@ -0,0 +1,17 @@ +setlocal + + +cd @CMAKE_INSTALL_PREFIX@/bin +set Path=%Path%;@ABS_GRAVITY_ROOT@/bin +set Path=%Path%;@ABS_GRAVITY_ROOT@/deps/libzmq/bin +set Path=%Path%;@ABS_GRAVITY_ROOT@/deps/protobuf/bin +set Path=%Path%;@ABS_GRAVITY_ROOT@/bin +set Path=%Path%;@LOCAL_ZEROMQ_RUNTIME_DIR@ +set path=%Path%;@LOCAL_PROTOBUF_RUNTIME_DIR@ +set path=%Path%;@MultipleDataProduct_BINARY_DIR@/Release + +start ServiceDirectory.exe +sleep 3 +start MultipleDataProductPublisher.exe +sleep 3 +start MultipleDataProductSubscriber.exe \ No newline at end of file diff --git a/test/examples/4-BasicService/CMakeLists.txt b/test/examples/4-BasicService/CMakeLists.txt index eae31cf4f..1a26bbbb0 100644 --- a/test/examples/4-BasicService/CMakeLists.txt +++ b/test/examples/4-BasicService/CMakeLists.txt @@ -1,35 +1,37 @@ -cmake_minimum_required(VERSION 3.17) -project(BasicService) -# -# see CMakeLists.txt on how to set up CMAKE_PREFIX_PATH and CMAKE_MODULE_PATH -# - -# for gravity_protobuf_generate -include(GravitySupport) - - -find_package(spdlog REQUIRED) -find_package(Gravity QUIET) - -file(GLOB PROTO_FILES "${CMAKE_CURRENT_LIST_DIR}/../protobuf/*.proto") - -gravity_protobuf_generate(APPEND_PATH PROTOC_OUT_DIR ${CMAKE_CURRENT_BINARY_DIR} OUT_VAR PROTO_SRCS - PROTOS ${PROTO_FILES}) - -add_custom_target(${PROJECT_NAME}_protos ALL DEPENDS ${PROTO_SRCS}) - -set(CMAKE_DEBUG_POSTFIX _d) -add_executable(BasicServiceProvider BasicServiceProvider.cpp ${PROTO_SRCS}) -set_target_properties(BasicServiceProvider PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) -target_link_libraries(BasicServiceProvider PUBLIC gravity PRIVATE spdlog::spdlog_header_only) -target_include_directories(BasicServiceProvider PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) -add_dependencies(BasicServiceProvider ${PROJECT_NAME}_protos) - -add_executable(BasicServiceRequestor BasicServiceRequestor.cpp ${PROTO_SRCS}) -set_target_properties(BasicServiceRequestor PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) -target_link_libraries(BasicServiceRequestor PUBLIC gravity PRIVATE spdlog::spdlog_header_only) -target_include_directories(BasicServiceRequestor PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) -add_dependencies(BasicServiceRequestor ${PROJECT_NAME}_protos) - -configure_file(run.sh.in ${BasicService_SOURCE_DIR}/run.sh) - +cmake_minimum_required(VERSION 3.17) +project(BasicService) +# +# see CMakeLists.txt on how to set up CMAKE_PREFIX_PATH and CMAKE_MODULE_PATH +# + +# for gravity_protobuf_generate +include(GravitySupport) + + +find_package(spdlog REQUIRED) +find_package(Gravity QUIET) + +file(GLOB PROTO_FILES "${CMAKE_CURRENT_LIST_DIR}/../protobuf/*.proto") + +gravity_protobuf_generate(APPEND_PATH PROTOC_OUT_DIR ${CMAKE_CURRENT_BINARY_DIR} OUT_VAR PROTO_SRCS + PROTOS ${PROTO_FILES}) + +add_custom_target(${PROJECT_NAME}_protos ALL DEPENDS ${PROTO_SRCS}) + +set(CMAKE_DEBUG_POSTFIX _d) +add_executable(BasicServiceProvider BasicServiceProvider.cpp ${PROTO_SRCS}) +set_target_properties(BasicServiceProvider PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) +target_link_libraries(BasicServiceProvider PUBLIC gravity PRIVATE spdlog::spdlog_header_only) +target_include_directories(BasicServiceProvider PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) +add_dependencies(BasicServiceProvider ${PROJECT_NAME}_protos) + +add_executable(BasicServiceRequestor BasicServiceRequestor.cpp ${PROTO_SRCS}) +set_target_properties(BasicServiceRequestor PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) +target_link_libraries(BasicServiceRequestor PUBLIC gravity PRIVATE spdlog::spdlog_header_only) +target_include_directories(BasicServiceRequestor PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) +add_dependencies(BasicServiceRequestor ${PROJECT_NAME}_protos) + +configure_file(run.sh.in ${BasicService_SOURCE_DIR}/run.sh) +configure_file(RunBasicServiceDebug.bat.in ${BasicService_SOURCE_DIR}/RunBasicServiceDebug.bat) +configure_file(RunBasicServiceRelease.bat.in ${BasicService_SOURCE_DIR}/RunBasicServiceRelease.bat) + diff --git a/test/examples/4-BasicService/RunBasicServiceDebug.bat.in b/test/examples/4-BasicService/RunBasicServiceDebug.bat.in new file mode 100644 index 000000000..3edcf10b3 --- /dev/null +++ b/test/examples/4-BasicService/RunBasicServiceDebug.bat.in @@ -0,0 +1,16 @@ +setlocal + +cd @CMAKE_INSTALL_PREFIX@/bin +set Path=%Path%;@ABS_GRAVITY_ROOT@/bin +set Path=%Path%;@ABS_GRAVITY_ROOT@/deps/libzmq/bin +set Path=%Path%;@ABS_GRAVITY_ROOT@/deps/protobuf/bin +set Path=%Path%;@ABS_GRAVITY_ROOT@/bin +set Path=%Path%;@LOCAL_ZEROMQ_RUNTIME_DIR@ +set path=%Path%;@LOCAL_PROTOBUF_RUNTIME_DIR@ +set path=%Path%;@BasicService_BINARY_DIR@/Debug + +start ServiceDirectory@CMAKE_DEBUG_POSTFIX@.exe +sleep 3 +start BasicServiceProvider@CMAKE_DEBUG_POSTFIX@.exe +sleep 3 +start BasicServiceRequestor@CMAKE_DEBUG_POSTFIX@.exe \ No newline at end of file diff --git a/test/examples/4-BasicService/RunBasicServiceRelease.bat.in b/test/examples/4-BasicService/RunBasicServiceRelease.bat.in new file mode 100644 index 000000000..3ab7e9c8d --- /dev/null +++ b/test/examples/4-BasicService/RunBasicServiceRelease.bat.in @@ -0,0 +1,17 @@ +setlocal + + +cd @CMAKE_INSTALL_PREFIX@/bin +set Path=%Path%;@ABS_GRAVITY_ROOT@/bin +set Path=%Path%;@ABS_GRAVITY_ROOT@/deps/libzmq/bin +set Path=%Path%;@ABS_GRAVITY_ROOT@/deps/protobuf/bin +set Path=%Path%;@ABS_GRAVITY_ROOT@/bin +set Path=%Path%;@LOCAL_ZEROMQ_RUNTIME_DIR@ +set path=%Path%;@LOCAL_PROTOBUF_RUNTIME_DIR@ +set path=%Path%;@BasicService_BINARY_DIR@/Release + +start ServiceDirectory.exe +sleep 3 +start BasicServiceProvider.exe +sleep 3 +start BasicServiceRequestor.exe \ No newline at end of file diff --git a/test/examples/5-MiscFunctionality/CMakeLists.txt b/test/examples/5-MiscFunctionality/CMakeLists.txt index 3ff7804c9..0ba8148eb 100644 --- a/test/examples/5-MiscFunctionality/CMakeLists.txt +++ b/test/examples/5-MiscFunctionality/CMakeLists.txt @@ -1,24 +1,26 @@ -cmake_minimum_required(VERSION 3.17) -project(MiscFunctionality) -# -# see CMakeLists.txt one level up on how to set up CMAKE_PREFIX_PATH and CMAKE_MODULE_PATH -# - - -find_package(Gravity QUIET) - -# since we use spdlog directly -find_package(spdlog REQUIRED) - -set(CMAKE_DEBUG_POSTFIX _d) -add_executable(MiscComponent1 MiscComponent1.cpp) -set_target_properties(MiscComponent1 PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) -target_link_libraries(MiscComponent1 gravity spdlog::spdlog_header_only) - - -add_executable(MiscComponent2 MiscComponent2.cpp) -set_target_properties(MiscComponent2 PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) -target_link_libraries(MiscComponent2 gravity spdlog::spdlog_header_only) - -configure_file(run.sh.in ${MiscFunctionality_SOURCE_DIR}/run.sh) - +cmake_minimum_required(VERSION 3.17) +project(MiscFunctionality) +# +# see CMakeLists.txt one level up on how to set up CMAKE_PREFIX_PATH and CMAKE_MODULE_PATH +# + + +find_package(Gravity QUIET) + +# since we use spdlog directly +find_package(spdlog REQUIRED) + +set(CMAKE_DEBUG_POSTFIX _d) +add_executable(MiscComponent1 MiscComponent1.cpp) +set_target_properties(MiscComponent1 PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) +target_link_libraries(MiscComponent1 gravity spdlog::spdlog_header_only) + + +add_executable(MiscComponent2 MiscComponent2.cpp) +set_target_properties(MiscComponent2 PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) +target_link_libraries(MiscComponent2 gravity spdlog::spdlog_header_only) + +configure_file(run.sh.in ${MiscFunctionality_SOURCE_DIR}/run.sh) +configure_file(RunMiscFunctionalityDebug.bat.in ${MiscFunctionality_SOURCE_DIR}/RunMiscFunctionalityDebug.bat) +configure_file(RunMiscFunctionalityRelease.bat.in ${MiscFunctionality_SOURCE_DIR}/RunMiscFunctionalityRelease.bat) + diff --git a/test/examples/5-MiscFunctionality/RunMiscFunctionalityDebug.bat.in b/test/examples/5-MiscFunctionality/RunMiscFunctionalityDebug.bat.in new file mode 100644 index 000000000..13438e1f9 --- /dev/null +++ b/test/examples/5-MiscFunctionality/RunMiscFunctionalityDebug.bat.in @@ -0,0 +1,16 @@ +setlocal + +cd @CMAKE_INSTALL_PREFIX@/bin +set Path=%Path%;@ABS_GRAVITY_ROOT@/bin +set Path=%Path%;@ABS_GRAVITY_ROOT@/deps/libzmq/bin +set Path=%Path%;@ABS_GRAVITY_ROOT@/deps/protobuf/bin +set Path=%Path%;@ABS_GRAVITY_ROOT@/bin +set Path=%Path%;@LOCAL_ZEROMQ_RUNTIME_DIR@ +set path=%Path%;@LOCAL_PROTOBUF_RUNTIME_DIR@ +set path=%Path%;@MiscFunctionality_BINARY_DIR@/Debug + +start ServiceDirectory@CMAKE_DEBUG_POSTFIX@.exe +sleep 3 +start MiscComponent1@CMAKE_DEBUG_POSTFIX@.exe +sleep 3 +start MiscComponent2@CMAKE_DEBUG_POSTFIX@.exe \ No newline at end of file diff --git a/test/examples/5-MiscFunctionality/RunMiscFunctionalityRelease.bat.in b/test/examples/5-MiscFunctionality/RunMiscFunctionalityRelease.bat.in new file mode 100644 index 000000000..d6aef44ae --- /dev/null +++ b/test/examples/5-MiscFunctionality/RunMiscFunctionalityRelease.bat.in @@ -0,0 +1,16 @@ +setlocal + +cd @CMAKE_INSTALL_PREFIX@/bin +set Path=%Path%;@ABS_GRAVITY_ROOT@/bin +set Path=%Path%;@ABS_GRAVITY_ROOT@/deps/libzmq/bin +set Path=%Path%;@ABS_GRAVITY_ROOT@/deps/protobuf/bin +set Path=%Path%;@ABS_GRAVITY_ROOT@/bin +set Path=%Path%;@LOCAL_ZEROMQ_RUNTIME_DIR@ +set path=%Path%;@LOCAL_PROTOBUF_RUNTIME_DIR@ +set path=%Path%;@MiscFunctionality_BINARY_DIR@/Release + +start ServiceDirectory.exe +sleep 3 +start MiscComponent1.exe +sleep 3 +start MiscComponent2.exe \ No newline at end of file From 19fd85d7525d3583825a8f7b25aab50c9566d9ab Mon Sep 17 00:00:00 2001 From: APS VM Date: Mon, 23 Jun 2025 14:39:23 -0700 Subject: [PATCH 16/48] Java bat files --- .../6-JavaProtobufDataProduct/CMakeLists.txt | 128 +++++++++--------- .../RunJavaProtobufDataProductDebug.bat.in | 6 +- .../RunJavaProtobufDataProductRelease.bat.in | 5 +- .../7-JavaBasicService/CMakeLists.txt | 128 +++++++++--------- .../RunJavaBasicServiceDebug.bat.in | 17 +++ .../RunJavaBasicServiceRelease.bat.in | 17 +++ 6 files changed, 171 insertions(+), 130 deletions(-) create mode 100644 test/examples/7-JavaBasicService/RunJavaBasicServiceDebug.bat.in create mode 100644 test/examples/7-JavaBasicService/RunJavaBasicServiceRelease.bat.in diff --git a/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt b/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt index 7778cd630..5d124b06d 100644 --- a/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt +++ b/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt @@ -1,63 +1,65 @@ -cmake_minimum_required(VERSION 3.17) - -project(JavaProtobufDataProduct) -include(GNUInstallDirs) -include(GravitySupport) - -find_package(Gravity QUIET) - -set(LOCAL_PROTOBUF_JAR) -if (Protobuf_SRC_ROOT_FOLDER) - set(LOCAL_PROTOBUF_JAR "${Protobuf_SRC_ROOT_FOLDER}/java/target/protobuf-java-${Protobuf_VERSION}.jar") -endif() -set(PUBLIC_JAR "${JAVA_PROTOBUF_JAR}" "${LOCAL_PROTOBUF_JAR}" CACHE OFF FILEPATH) -find_package(GravityJava REQUIRED) -include(UseJava) - -file(GLOB PROTO_FILES "${CMAKE_CURRENT_LIST_DIR}/../protobuf/*.proto") - -gravity_protobuf_generate(APPEND_PATH LANGUAGE java PROTOC_OUT_DIR "${CMAKE_CURRENT_BINARY_DIR}" GENERATE_EXTENSIONS .java OUT_VAR PROTO_SRCS PROTOS ${PROTO_FILES}) - -add_custom_target(${PROJECT_NAME}_protos ALL DEPENDS ${PROTO_SRCS}) - -set(CMAKE_JAVA_INCLUDE_PATH "/home/flinker/Gravity/src/api/java/build/protobuf-java-${Protobuf_VERSION}.jar" ${PUBLIC_JAR}) -string(APPEND CMAKE_JAVA_INCLUDE_PATH_FINAL_RELEASE "${_UseJava_PATH_SEP}${ABS_GRAVITY_ROOT}/${CMAKE_INSTALL_LIBDIR}/gravity.jar${_UseJava_PATH_SEP}${CMAKE_BINARY_DIR}/src/api/java/gravity.jar") -string(APPEND CMAKE_JAVA_INCLUDE_PATH_FINAL_DEBUG "${_UseJava_PATH_SEP}${ABS_GRAVITY_ROOT}/${CMAKE_INSTALL_LIBDIR}/gravity${CMAKE_DEBUG_POSTFIX}.jar${_UseJava_PATH_SEP}${CMAKE_BINARY_DIR}/src/api/java/gravity${CMAKE_DEBUG_POSTFIX}.jar") -message(STATUS "CMAKE_JAVA_INCLUDE_PATH_FINAL_DEBUG: ${CMAKE_JAVA_INCLUDE_PATH_FINAL_DEBUG}") - -if (WIN32) - get_target_property(ZeroMQ_LIBRARY_RELEASE libzmq LOCATION_RELEASE) - get_filename_component(LIBZMQ_LIBRARY_DIR "${ZeroMQ_LIBRARY_RELEASE}" DIRECTORY) - set(LOCAL_ZEROMQ_RUNTIME_DIR "${LIBZMQ_LIBRARY_DIR}/../bin") - - get_target_property(Protobuf_LIBRARY_RELEASE protobuf::libprotobuf LOCATION_RELEASE) - get_filename_component(LOCAL_PROTOBUF_RUNTIME_DIR "${Protobuf_LIBRARY_RELEASE}" DIRECTORY) - - configure_file("${CMAKE_CURRENT_LIST_DIR}/RunJavaProtobufDataProductDebug.bat.in" "${CMAKE_BINARY_DIR}/RunJavaProtobufDataProductDebug.bat" @ONLY) - configure_file("${CMAKE_CURRENT_LIST_DIR}/RunJavaProtobufDataProductRelease.bat.in" "${CMAKE_BINARY_DIR}/RunJavaProtobufDataProductRelease.bat" @ONLY) - -endif() - -set(JAVA_SRCS - src/JavaProtobufDataProductPublisher.java - src/JavaProtobufDataProductSubscriber.java - ${PROTO_SRCS}) - -set(ORIG_CMAKE_DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) -set(CMAKE_DEBUG_POSTFIX) -gravity_add_jar_debug_release(${PROJECT_NAME} ${JAVA_SRCS}) -list(APPEND _DEPS ${PROJECT_NAME}_protos) -if (TARGET gravity-java) - list(APPEND _DEPS gravity-java) -endif() -add_dependencies(${PROJECT_NAME} ${_DEPS}) -set(CMAKE_DEBUG_POSTFIX ${ORIG_CMAKE_DEBUG_POSTFIX}) - -gravity_install_jar(${PROJECT_NAME} DESTINATION "${CMAKE_INSTALL_PREFIX}/bin") - -if (WIN32) - install(FILES "${CMAKE_BINARY_DIR}/RunJavaProtobufDataProductDebug.bat" DESTINATION bin CONFIGURATIONS Debug) - install(FILES "${CMAKE_BINARY_DIR}/RunJavaProtobufDataProductRelease.bat" DESTINATION bin CONFIGURATIONS Release RelWithDebInfo MinSizeRel) -endif() - -configure_file(run.sh.in ${JavaProtobufDataProduct_SOURCE_DIR}/run.sh) +cmake_minimum_required(VERSION 3.17) + +project(JavaProtobufDataProduct) +include(GNUInstallDirs) +include(GravitySupport) + +find_package(Gravity QUIET) + +set(LOCAL_PROTOBUF_JAR) +if (Protobuf_SRC_ROOT_FOLDER) + set(LOCAL_PROTOBUF_JAR ) +endif() +set(PUBLIC_JAR "C:/Users/jbarger/gravity/build/protobuf-java_external-prefix/src/protobuf-java_external-build/protobuf-java.jar" CACHE OFF FILEPATH) +find_package(GravityJava REQUIRED) +include(UseJava) + +file(GLOB PROTO_FILES "${CMAKE_CURRENT_LIST_DIR}/../protobuf/*.proto") + +gravity_protobuf_generate(APPEND_PATH LANGUAGE java PROTOC_OUT_DIR "${CMAKE_CURRENT_BINARY_DIR}" GENERATE_EXTENSIONS .java OUT_VAR PROTO_SRCS PROTOS ${PROTO_FILES}) + +add_custom_target(${PROJECT_NAME}_protos ALL DEPENDS ${PROTO_SRCS}) + +set(CMAKE_JAVA_INCLUDE_PATH "/home/flinker/Gravity/src/api/java/build/protobuf-java-${Protobuf_VERSION}.jar" ${PUBLIC_JAR}) +string(APPEND CMAKE_JAVA_INCLUDE_PATH_FINAL_RELEASE "${_UseJava_PATH_SEP}${ABS_GRAVITY_ROOT}/${CMAKE_INSTALL_LIBDIR}/gravity.jar${_UseJava_PATH_SEP}${CMAKE_BINARY_DIR}/src/api/java/gravity.jar") +string(APPEND CMAKE_JAVA_INCLUDE_PATH_FINAL_DEBUG "${_UseJava_PATH_SEP}${ABS_GRAVITY_ROOT}/${CMAKE_INSTALL_LIBDIR}/gravity${CMAKE_DEBUG_POSTFIX}.jar${_UseJava_PATH_SEP}${CMAKE_BINARY_DIR}/src/api/java/gravity${CMAKE_DEBUG_POSTFIX}.jar") +message(STATUS "CMAKE_JAVA_INCLUDE_PATH_FINAL_DEBUG: ${CMAKE_JAVA_INCLUDE_PATH_FINAL_DEBUG}") + +if (WIN32) + get_target_property(ZeroMQ_LIBRARY_RELEASE libzmq LOCATION_RELEASE) + get_filename_component(LIBZMQ_LIBRARY_DIR "${ZeroMQ_LIBRARY_RELEASE}" DIRECTORY) + set(LOCAL_ZEROMQ_RUNTIME_DIR "${LIBZMQ_LIBRARY_DIR}/../bin") + + get_target_property(Protobuf_LIBRARY_RELEASE protobuf::libprotobuf LOCATION_RELEASE) + get_filename_component(LOCAL_PROTOBUF_RUNTIME_DIR "${Protobuf_LIBRARY_RELEASE}" DIRECTORY) + + configure_file("${CMAKE_CURRENT_LIST_DIR}/RunJavaProtobufDataProductDebug.bat.in" "${CMAKE_BINARY_DIR}/RunJavaProtobufDataProductDebug.bat" @ONLY) + configure_file("${CMAKE_CURRENT_LIST_DIR}/RunJavaProtobufDataProductRelease.bat.in" "${CMAKE_BINARY_DIR}/RunJavaProtobufDataProductRelease.bat" @ONLY) + +endif() + +set(JAVA_SRCS + src/JavaProtobufDataProductPublisher.java + src/JavaProtobufDataProductSubscriber.java + ${PROTO_SRCS}) + +set(ORIG_CMAKE_DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) +set(CMAKE_DEBUG_POSTFIX) +gravity_add_jar_debug_release(${PROJECT_NAME} ${JAVA_SRCS}) +list(APPEND _DEPS ${PROJECT_NAME}_protos) +if (TARGET gravity-java) + list(APPEND _DEPS gravity-java) +endif() +add_dependencies(${PROJECT_NAME} ${_DEPS}) +set(CMAKE_DEBUG_POSTFIX ${ORIG_CMAKE_DEBUG_POSTFIX}) + +gravity_install_jar(${PROJECT_NAME} DESTINATION "${CMAKE_INSTALL_PREFIX}/bin") + +if (WIN32) + install(FILES "${CMAKE_BINARY_DIR}/RunJavaProtobufDataProductDebug.bat" DESTINATION bin CONFIGURATIONS Debug) + install(FILES "${CMAKE_BINARY_DIR}/RunJavaProtobufDataProductRelease.bat" DESTINATION bin CONFIGURATIONS Release RelWithDebInfo MinSizeRel) +endif() + +configure_file(run.sh.in ${JavaProtobufDataProduct_SOURCE_DIR}/run.sh) +configure_file(RunJavaProtobufDataProductDebug.bat.in ${JavaProtobufDataProduct_SOURCE_DIR}/RunJavaProtobufDataProductDebug.bat) +configure_file(RunJavaProtobufDataProductRelease.bat.in ${JavaProtobufDataProduct_SOURCE_DIR}/RunJavaProtobufDataProductRelease.bat) diff --git a/test/examples/6-JavaProtobufDataProduct/RunJavaProtobufDataProductDebug.bat.in b/test/examples/6-JavaProtobufDataProduct/RunJavaProtobufDataProductDebug.bat.in index e5c19526f..209ae97ef 100644 --- a/test/examples/6-JavaProtobufDataProduct/RunJavaProtobufDataProductDebug.bat.in +++ b/test/examples/6-JavaProtobufDataProduct/RunJavaProtobufDataProductDebug.bat.in @@ -7,9 +7,11 @@ set Path=%Path%;@ABS_GRAVITY_ROOT@/deps/protobuf/bin set Path=%Path%;@ABS_GRAVITY_ROOT@/bin set Path=%Path%;@LOCAL_ZEROMQ_RUNTIME_DIR@ set path=%Path%;@LOCAL_PROTOBUF_RUNTIME_DIR@ +set Path=%Path%;@JavaProtobufDataProduct_BINARY_DIR@ +set Path=%Path%;@protobufs-java_BINARY_DIR@ start ServiceDirectory@CMAKE_DEBUG_POSTFIX@.exe sleep 3 -start "" "@Java_JAVA_EXECUTABLE@" -cp JavaProtobufDataProduct.jar;"@ABS_GRAVITY_ROOT@/deps/protobuf/lib/protobuf-java.jar";"@LOCAL_PROTOBUF_JAR@";"@ABS_GRAVITY_ROOT@/lib/gravity@CMAKE_DEBUG_POSTFIX@.jar" -Djava.library.path="@ABS_GRAVITY_ROOT@/deps/libzmq/bin";"@LOCAL_ZEROMQ_RUNTIME_DIR@";"@ABS_GRAVITY_ROOT@/bin" JavaProtobufDataProductPublisher +start "@Java_JAVA_EXECUTABLE@" -cp JavaProtobufDataProduct.jar;"protobuf-java.jar";"@LOCAL_PROTOBUF_JAR@";"@ABS_GRAVITY_ROOT@/lib/gravity@CMAKE_DEBUG_POSTFIX@.jar" -Djava.library.path="@ABS_GRAVITY_ROOT@/deps/libzmq/bin";"@LOCAL_ZEROMQ_RUNTIME_DIR@";"@ABS_GRAVITY_ROOT@/bin" JavaProtobufDataProductPublisher sleep 3 -start "" "@Java_JAVA_EXECUTABLE@" -cp JavaProtobufDataProduct.jar;"@ABS_GRAVITY_ROOT@/deps/protobuf/lib/protobuf-java.jar";"@LOCAL_PROTOBUF_JAR@";"@ABS_GRAVITY_ROOT@/lib/gravity@CMAKE_DEBUG_POSTFIX@.jar" -Djava.library.path="@ABS_GRAVITY_ROOT@/deps/libzmq/bin";"@LOCAL_ZEROMQ_RUNTIME_DIR@";"@ABS_GRAVITY_ROOT@/bin" JavaProtobufDataProductSubscriber +start "" "@Java_JAVA_EXECUTABLE@" -cp JavaProtobufDataProduct.jar;"protobuf-java.jar";"@LOCAL_PROTOBUF_JAR@";"@ABS_GRAVITY_ROOT@/lib/gravity@CMAKE_DEBUG_POSTFIX@.jar" -Djava.library.path="@ABS_GRAVITY_ROOT@/deps/libzmq/bin";"@LOCAL_ZEROMQ_RUNTIME_DIR@";"@ABS_GRAVITY_ROOT@/bin" JavaProtobufDataProductSubscriber diff --git a/test/examples/6-JavaProtobufDataProduct/RunJavaProtobufDataProductRelease.bat.in b/test/examples/6-JavaProtobufDataProduct/RunJavaProtobufDataProductRelease.bat.in index 8104b631d..0352d57b2 100644 --- a/test/examples/6-JavaProtobufDataProduct/RunJavaProtobufDataProductRelease.bat.in +++ b/test/examples/6-JavaProtobufDataProduct/RunJavaProtobufDataProductRelease.bat.in @@ -7,9 +7,10 @@ set Path=%Path%;@ABS_GRAVITY_ROOT@/deps/protobuf/bin set Path=%Path%;@ABS_GRAVITY_ROOT@/bin set Path=%Path%;@LOCAL_ZEROMQ_RUNTIME_DIR@ set path=%Path%;@LOCAL_PROTOBUF_RUNTIME_DIR@ +set Path=%Path%;@protobufs-java_BINARY_DIR@ start ServiceDirectory.exe sleep 3 -start "" "@Java_JAVA_EXECUTABLE@" -cp JavaProtobufDataProduct.jar;"@ABS_GRAVITY_ROOT@/deps/protobuf/lib/protobuf-java.jar";"@LOCAL_PROTOBUF_JAR@";"@ABS_GRAVITY_ROOT@/lib/gravity.jar" -Djava.library.path="@ABS_GRAVITY_ROOT@/deps/libzmq/bin";"@LOCAL_ZEROMQ_RUNTIME_DIR@";"@ABS_GRAVITY_ROOT@/bin" JavaProtobufDataProductPublisher +start "" "@Java_JAVA_EXECUTABLE@" -cp JavaProtobufDataProduct.jar;"protobuf-java.jar";"@LOCAL_PROTOBUF_JAR@";"@ABS_GRAVITY_ROOT@/lib/gravity.jar" -Djava.library.path="@ABS_GRAVITY_ROOT@/deps/libzmq/bin";"@LOCAL_ZEROMQ_RUNTIME_DIR@";"@ABS_GRAVITY_ROOT@/bin" JavaProtobufDataProductPublisher sleep 3 -start "" "@Java_JAVA_EXECUTABLE@" -cp JavaProtobufDataProduct.jar;"@ABS_GRAVITY_ROOT@/deps/protobuf/lib/protobuf-java.jar";"@LOCAL_PROTOBUF_JAR@";"@ABS_GRAVITY_ROOT@/lib/gravity.jar" -Djava.library.path="@ABS_GRAVITY_ROOT@/deps/libzmq/bin";"@LOCAL_ZEROMQ_RUNTIME_DIR@";"@ABS_GRAVITY_ROOT@/bin" JavaProtobufDataProductSubscriber +start "" "@Java_JAVA_EXECUTABLE@" -cp JavaProtobufDataProduct.jar;"protobuf-java.jar";"@LOCAL_PROTOBUF_JAR@";"@ABS_GRAVITY_ROOT@/lib/gravity.jar" -Djava.library.path="@ABS_GRAVITY_ROOT@/deps/libzmq/bin";"@LOCAL_ZEROMQ_RUNTIME_DIR@";"@ABS_GRAVITY_ROOT@/bin" JavaProtobufDataProductSubscriber diff --git a/test/examples/7-JavaBasicService/CMakeLists.txt b/test/examples/7-JavaBasicService/CMakeLists.txt index 291e40316..77868bb91 100644 --- a/test/examples/7-JavaBasicService/CMakeLists.txt +++ b/test/examples/7-JavaBasicService/CMakeLists.txt @@ -1,63 +1,65 @@ -cmake_minimum_required(VERSION 3.17) - -project(JavaBasicService) -include(GNUInstallDirs) -include(GravitySupport) - -find_package(Gravity QUIET) - -set(LOCAL_PROTOBUF_JAR) -if (Protobuf_SRC_ROOT_FOLDER) - set(LOCAL_PROTOBUF_JAR "${Protobuf_SRC_ROOT_FOLDER}/java/target/protobuf-java-${Protobuf_VERSION}.jar") -endif() -set(PUBLIC_JAR "/usr/share/java/protobuf.jar" "${LOCAL_PROTOBUF_JAR}") -find_package(GravityJava REQUIRED) -include(UseJava) - -file(GLOB PROTO_FILES "${CMAKE_CURRENT_LIST_DIR}/../protobuf/*.proto") - -gravity_protobuf_generate(APPEND_PATH LANGUAGE java PROTOC_OUT_DIR "${CMAKE_CURRENT_BINARY_DIR}" GENERATE_EXTENSIONS .java OUT_VAR PROTO_SRCS PROTOS ${PROTO_FILES}) - -add_custom_target(${PROJECT_NAME}_protos ALL DEPENDS ${PROTO_SRCS}) - -set(CMAKE_JAVA_INCLUDE_PATH "/home/flinker/Gravity/src/api/java/build/protobuf-java-${Protobuf_VERSION}.jar" ${PUBLIC_JAR}) -string(APPEND CMAKE_JAVA_INCLUDE_PATH_FINAL_RELEASE "${_UseJava_PATH_SEP}${ABS_GRAVITY_ROOT}/${CMAKE_INSTALL_LIBDIR}/gravity.jar${_UseJava_PATH_SEP}${CMAKE_BINARY_DIR}/src/api/java/gravity.jar") -string(APPEND CMAKE_JAVA_INCLUDE_PATH_FINAL_DEBUG "${_UseJava_PATH_SEP}${ABS_GRAVITY_ROOT}/${CMAKE_INSTALL_LIBDIR}/gravity${CMAKE_DEBUG_POSTFIX}.jar${_UseJava_PATH_SEP}${CMAKE_BINARY_DIR}/src/api/java/gravity${CMAKE_DEBUG_POSTFIX}.jar") -message(STATUS "CMAKE_JAVA_INCLUDE_PATH_FINAL_DEBUG: ${CMAKE_JAVA_INCLUDE_PATH_FINAL_DEBUG}") - -if (WIN32) - get_target_property(ZeroMQ_LIBRARY_RELEASE libzmq LOCATION_RELEASE) - get_filename_component(LIBZMQ_LIBRARY_DIR "${ZeroMQ_LIBRARY_RELEASE}" DIRECTORY) - set(LOCAL_ZEROMQ_RUNTIME_DIR "${LIBZMQ_LIBRARY_DIR}/../bin") - - get_target_property(Protobuf_LIBRARY_RELEASE protobuf::libprotobuf LOCATION_RELEASE) - get_filename_component(LOCAL_PROTOBUF_RUNTIME_DIR "${Protobuf_LIBRARY_RELEASE}" DIRECTORY) - - configure_file("${CMAKE_CURRENT_LIST_DIR}/RunJavaProtobufDataProductDebug.bat.in" "${CMAKE_BINARY_DIR}/RunJavaProtobufDataProductDebug.bat" @ONLY) - configure_file("${CMAKE_CURRENT_LIST_DIR}/RunJavaProtobufDataProductRelease.bat.in" "${CMAKE_BINARY_DIR}/RunJavaProtobufDataProductRelease.bat" @ONLY) - -endif() - -set(JAVA_SRCS - src/BasicServiceProvider.java - src/BasicServiceRequestor.java - ${PROTO_SRCS}) - -set(ORIG_CMAKE_DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) -set(CMAKE_DEBUG_POSTFIX) -gravity_add_jar_debug_release(${PROJECT_NAME} ${JAVA_SRCS}) -list(APPEND _DEPS ${PROJECT_NAME}_protos) -if (TARGET gravity-java) - list(APPEND _DEPS gravity-java) -endif() -add_dependencies(${PROJECT_NAME} ${_DEPS}) -set(CMAKE_DEBUG_POSTFIX ${ORIG_CMAKE_DEBUG_POSTFIX}) - -gravity_install_jar(${PROJECT_NAME} DESTINATION "${CMAKE_INSTALL_PREFIX}/bin") - -if (WIN32) -install(FILES "${CMAKE_BINARY_DIR}/RunJavaProtobufDataProductDebug.bat" DESTINATION bin CONFIGURATIONS Debug) -install(FILES "${CMAKE_BINARY_DIR}/RunJavaProtobufDataProductRelease.bat" DESTINATION bin CONFIGURATIONS Release RelWithDebInfo MinSizeRel) -endif() - -configure_file(run.sh.in ${JavaBasicService_SOURCE_DIR}/run.sh) +cmake_minimum_required(VERSION 3.17) + +project(JavaBasicService) +include(GNUInstallDirs) +include(GravitySupport) + +find_package(Gravity QUIET) + +set(LOCAL_PROTOBUF_JAR) +if (Protobuf_SRC_ROOT_FOLDER) + set(LOCAL_PROTOBUF_JAR "C:/Users/jbarger/gravity/build/protobuf-java_external-prefix\src/:protobuf-java_external-build") +endif() +set(PUBLIC_JAR "C:/Users/jbarger/gravity/build/protobuf-java_external-prefix/src/protobuf-java_external-build/protobuf-java.jar" "${LOCAL_PROTOBUF_JAR}") +find_package(GravityJava REQUIRED) +include(UseJava) + +file(GLOB PROTO_FILES "${CMAKE_CURRENT_LIST_DIR}/../protobuf/*.proto") + +gravity_protobuf_generate(APPEND_PATH LANGUAGE java PROTOC_OUT_DIR "${CMAKE_CURRENT_BINARY_DIR}" GENERATE_EXTENSIONS .java OUT_VAR PROTO_SRCS PROTOS ${PROTO_FILES}) + +add_custom_target(${PROJECT_NAME}_protos ALL DEPENDS ${PROTO_SRCS}) + +set(CMAKE_JAVA_INCLUDE_PATH "/home/flinker/Gravity/src/api/java/build/protobuf-java-${Protobuf_VERSION}.jar" ${PUBLIC_JAR}) +string(APPEND CMAKE_JAVA_INCLUDE_PATH_FINAL_RELEASE "${_UseJava_PATH_SEP}${ABS_GRAVITY_ROOT}/${CMAKE_INSTALL_LIBDIR}/gravity.jar${_UseJava_PATH_SEP}${CMAKE_BINARY_DIR}/src/api/java/gravity.jar") +string(APPEND CMAKE_JAVA_INCLUDE_PATH_FINAL_DEBUG "${_UseJava_PATH_SEP}${ABS_GRAVITY_ROOT}/${CMAKE_INSTALL_LIBDIR}/gravity${CMAKE_DEBUG_POSTFIX}.jar${_UseJava_PATH_SEP}${CMAKE_BINARY_DIR}/src/api/java/gravity${CMAKE_DEBUG_POSTFIX}.jar") +message(STATUS "CMAKE_JAVA_INCLUDE_PATH_FINAL_DEBUG: ${CMAKE_JAVA_INCLUDE_PATH_FINAL_DEBUG}") + +if (WIN32) + get_target_property(ZeroMQ_LIBRARY_RELEASE libzmq LOCATION_RELEASE) + get_filename_component(LIBZMQ_LIBRARY_DIR "${ZeroMQ_LIBRARY_RELEASE}" DIRECTORY) + set(LOCAL_ZEROMQ_RUNTIME_DIR "${LIBZMQ_LIBRARY_DIR}/../bin") + + get_target_property(Protobuf_LIBRARY_RELEASE protobuf::libprotobuf LOCATION_RELEASE) + get_filename_component(LOCAL_PROTOBUF_RUNTIME_DIR "${Protobuf_LIBRARY_RELEASE}" DIRECTORY) + + configure_file("${CMAKE_CURRENT_LIST_DIR}/RunJavaBasicServiceDebug.bat.in" "${CMAKE_BINARY_DIR}/RunJavaBasicServiceDebug.bat" @ONLY) + configure_file("${CMAKE_CURRENT_LIST_DIR}/RunJavaBasicServiceRelease.bat.in" "${CMAKE_BINARY_DIR}/RunJavaBasicServiceRelease.bat" @ONLY) + +endif() + +set(JAVA_SRCS + src/BasicServiceProvider.java + src/BasicServiceRequestor.java + ${PROTO_SRCS}) + +set(ORIG_CMAKE_DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) +set(CMAKE_DEBUG_POSTFIX) +gravity_add_jar_debug_release(${PROJECT_NAME} ${JAVA_SRCS}) +list(APPEND _DEPS ${PROJECT_NAME}_protos) +if (TARGET gravity-java) + list(APPEND _DEPS gravity-java) +endif() +add_dependencies(${PROJECT_NAME} ${_DEPS}) +set(CMAKE_DEBUG_POSTFIX ${ORIG_CMAKE_DEBUG_POSTFIX}) + +gravity_install_jar(${PROJECT_NAME} DESTINATION "${CMAKE_INSTALL_PREFIX}/bin") + +if (WIN32) +install(FILES "${CMAKE_BINARY_DIR}/RunJavaProtobufDataProductDebug.bat" DESTINATION bin CONFIGURATIONS Debug) +install(FILES "${CMAKE_BINARY_DIR}/RunJavaProtobufDataProductRelease.bat" DESTINATION bin CONFIGURATIONS Release RelWithDebInfo MinSizeRel) +endif() + +configure_file(run.sh.in ${JavaBasicService_SOURCE_DIR}/run.sh) +configure_file(RunJavaBasicServiceDebug.bat.in ${JavaBasicService_SOURCE_DIR}/RunJavaBasicServiceDebug.bat) +configure_file(RunJavaBasicServiceRelease.bat.in ${JavaBasicService_SOURCE_DIR}/RunJavaBasicServiceRelease.bat) diff --git a/test/examples/7-JavaBasicService/RunJavaBasicServiceDebug.bat.in b/test/examples/7-JavaBasicService/RunJavaBasicServiceDebug.bat.in new file mode 100644 index 000000000..1c056edb4 --- /dev/null +++ b/test/examples/7-JavaBasicService/RunJavaBasicServiceDebug.bat.in @@ -0,0 +1,17 @@ +setlocal + +cd @CMAKE_INSTALL_PREFIX@/bin +set Path=%Path%;@ABS_GRAVITY_ROOT@/bin +set Path=%Path%;@ABS_GRAVITY_ROOT@/deps/libzmq/bin +set Path=%Path%;@ABS_GRAVITY_ROOT@/deps/protobuf/bin +set Path=%Path%;@ABS_GRAVITY_ROOT@/bin +set Path=%Path%;@LOCAL_ZEROMQ_RUNTIME_DIR@ +set path=%Path%;@LOCAL_PROTOBUF_RUNTIME_DIR@ +set Path=%Path%;@JavaBasicService_BINARY_DIR@ +set Path=%Path%;@protobufs-java_BINARY_DIR@ + +start ServiceDirectory@CMAKE_DEBUG_POSTFIX@.exe +sleep 3 +start "" "@Java_JAVA_EXECUTABLE@" -cp JavaBasicService.jar;"protobuf-java.jar";"@ABS_GRAVITY_ROOT@/lib/gravity@CMAKE_DEBUG_POSTFIX@.jar" -Djava.library.path="@ABS_GRAVITY_ROOT@/deps/libzmq/bin";"@LOCAL_ZEROMQ_RUNTIME_DIR@";"@ABS_GRAVITY_ROOT@/bin" JavaBasicServiceProvider +sleep 3 +start "" "@Java_JAVA_EXECUTABLE@" -cp JavaBasicService.jar;"protobuf-java.jar";"@ABS_GRAVITY_ROOT@/lib/gravity@CMAKE_DEBUG_POSTFIX@.jar" -Djava.library.path="@ABS_GRAVITY_ROOT@/deps/libzmq/bin";"@LOCAL_ZEROMQ_RUNTIME_DIR@";"@ABS_GRAVITY_ROOT@/bin" JavaBasicServiceRequestor \ No newline at end of file diff --git a/test/examples/7-JavaBasicService/RunJavaBasicServiceRelease.bat.in b/test/examples/7-JavaBasicService/RunJavaBasicServiceRelease.bat.in new file mode 100644 index 000000000..3b9acf22e --- /dev/null +++ b/test/examples/7-JavaBasicService/RunJavaBasicServiceRelease.bat.in @@ -0,0 +1,17 @@ +setlocal + +cd @CMAKE_INSTALL_PREFIX@/bin +set Path=%Path%;@ABS_GRAVITY_ROOT@/bin +set Path=%Path%;@ABS_GRAVITY_ROOT@/deps/libzmq/bin +set Path=%Path%;@ABS_GRAVITY_ROOT@/deps/protobuf/bin +set Path=%Path%;@ABS_GRAVITY_ROOT@/bin +set Path=%Path%;@LOCAL_ZEROMQ_RUNTIME_DIR@ +set path=%Path%;@LOCAL_PROTOBUF_RUNTIME_DIR@ +set Path=%Path%;@JavaBasicService_BINARY_DIR@ +set Path=%Path%;@protobufs-java_BINARY_DIR@ + +start ServiceDirectory.exe +sleep 3 +start "" "@Java_JAVA_EXECUTABLE@" -cp JavaBasicService.jar;"protobuf-java.jar";"@LOCAL_PROTOBUF_JAR@";"@ABS_GRAVITY_ROOT@/lib/gravity.jar" -Djava.library.path="@ABS_GRAVITY_ROOT@/deps/libzmq/bin";"@LOCAL_ZEROMQ_RUNTIME_DIR@";"@ABS_GRAVITY_ROOT@/bin" JavaBasicServiceProvider +sleep 3 +start "" "@Java_JAVA_EXECUTABLE@" -cp JavaBasicService.jar;"protobuf-java.jar";"@LOCAL_PROTOBUF_JAR@";"@ABS_GRAVITY_ROOT@/lib/gravity.jar" -Djava.library.path="@ABS_GRAVITY_ROOT@/deps/libzmq/bin";"@LOCAL_ZEROMQ_RUNTIME_DIR@";"@ABS_GRAVITY_ROOT@/bin" JavaBasicServiceRequestor \ No newline at end of file From c8856f7759f2eb07b32df2340e48e019b45f2df1 Mon Sep 17 00:00:00 2001 From: APS VM Date: Tue, 24 Jun 2025 07:44:57 -0700 Subject: [PATCH 17/48] Fixed Install Prefix for external build --- CMakeLists.txt | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e54aa120d..bc006d28e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -17,6 +17,7 @@ option(SKIP_PYTHON "Skip building Gravity Python wrapper") set(JAVA_HOME "" CACHE PATH "Path to JDK to use") set(Protobuf_SRC_ROOT_FOLDER "" CACHE PATH "Path to Protobuf source build") set(ZMQ_HOME "" CACHE PATH "Path to your local ZeroMQ installation") +#set(JAVA_PROTOBUF_JAR "" CACHE FILEPATH "Location of outside protobuf jar file") get_filename_component(ABS_CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}" ABSOLUTE BASE_DIR "${CMAKE_BINARY_DIR}") string(REPLACE "\"" "" ABS_CMAKE_INSTALL_PREFIX "${ABS_CMAKE_INSTALL_PREFIX}") @@ -254,6 +255,9 @@ elseif(NOT Protobuf_FOUND) -DGRAVITY_USE_EXTERNAL_PROTOBUF=${GRAVITY_USE_EXTERNAL_PROTOBUF} -DGRAVITY_USE_EXTERNAL_ZEROMQ=${GRAVITY_USE_EXTERNAL_ZEROMQ} -Dprotobuf_MODULE_COMPATIBLE=ON + -DPython_EXECUTABLE=${Python_EXECUTABLE} + -DPython_LIBRARY=${Python_LIBRARY} + -DPython_INCLUDE_DIR=${Python_INCLUDE_DIR} -DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH_ALT_SEP} ) list(APPEND depends py-protobufs-external) @@ -312,7 +316,7 @@ else() LIST_SEPARATOR | CMAKE_ARGS -DGRAVITY_ROOT=${PUBLIC_STAGING_DIR} - -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/test/examples + -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DCMAKE_MODULE_PATH=${CMAKE_MODULE_PATH} -DSKIP_JAVA=${SKIP_JAVA} @@ -320,6 +324,9 @@ else() -DSKIP_PYTHON=${SKIP_PYTHON} -DProtobuf_SRC_ROOT_FOLDER=${Protobuf_SRC_ROOT_FOLDER} -Dprotobuf_MODULE_COMPATIBLE=ON + -DPython_EXECUTABLE=${Python_EXECUTABLE} + -DPython_LIBRARY=${Python_LIBRARY} + -DPython_INCLUDE_DIR=${Python_INCLUDE_DIR} -DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH_ALT_SEP} -DPThreadsWin32_INSTALL_DIR=${CMAKE_INSTALL_PREFIX} INSTALL_COMMAND "" From cbba14f90e985dd086972178c85eb103ebb3f8e0 Mon Sep 17 00:00:00 2001 From: APS VM Date: Wed, 25 Jun 2025 14:53:07 -0700 Subject: [PATCH 18/48] Examples now work for both internal and external builds --- CMakeLists.txt | 4 +++- src/api/java/CMakeLists.txt | 4 +--- test/examples/1-BasicDataProduct/run.sh.in | 5 +++-- test/examples/10-Archiving/run.sh.in | 2 +- test/examples/11-PythonPubSub/run.sh.in | 9 +++++---- test/examples/12-PythonBasicService/run.sh.in | 11 ++++++----- test/examples/13-Relay/run.sh.in | 2 +- test/examples/14-AnomalyDetection/detect.sh.in | 9 +++++---- test/examples/14-AnomalyDetection/train.sh.in | 9 +++++---- test/examples/2-ProtobufDataProduct/run.sh.in | 2 +- test/examples/3-MultipleDataProduct/run.sh.in | 2 +- test/examples/4-BasicService/run.sh.in | 2 +- test/examples/5-MiscFunctionality/run.sh.in | 2 +- .../examples/6-JavaProtobufDataProduct/CMakeLists.txt | 9 ++++++--- test/examples/6-JavaProtobufDataProduct/run.sh.in | 11 ++++++----- test/examples/7-JavaBasicService/CMakeLists.txt | 5 +++-- test/examples/7-JavaBasicService/run.sh.in | 11 ++++++----- test/examples/8-ConfigFile/run.sh.in | 2 +- test/examples/9-Domains/run.sh.in | 2 +- 19 files changed, 57 insertions(+), 46 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index bc006d28e..ee44ff3e5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -316,7 +316,9 @@ else() LIST_SEPARATOR | CMAKE_ARGS -DGRAVITY_ROOT=${PUBLIC_STAGING_DIR} - -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} + -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/test/examples + -DTOPLEVEL_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} + -DEXTERNAL_JAVA_JAR=${protobufs-java_BINARY_DIR} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DCMAKE_MODULE_PATH=${CMAKE_MODULE_PATH} -DSKIP_JAVA=${SKIP_JAVA} diff --git a/src/api/java/CMakeLists.txt b/src/api/java/CMakeLists.txt index fb300269a..ecd8a21fa 100644 --- a/src/api/java/CMakeLists.txt +++ b/src/api/java/CMakeLists.txt @@ -8,9 +8,7 @@ include(UseJava) gravity_find_protobuf(ON) # TODO check GRAVITY_USING_EXTERNAL_PROTOBUF -set(PUBLIC_JAR "${JAVA_PROTOBUF_JAR}" "${Protobuf_SRC_ROOT_FOLDER}/java/target/protobuf-java-${Protobuf_VERSION}.jar") -list(JOIN PUBLIC_JAR ":" PUBLIC_JAR_CACHE) -set(PUBLIC_JAR_CACHE ${PUBLIC_JAR_CACHE} CACHE ON STRING) +set(PUBLIC_JAR "${JAVA_PROTOBUF_JAR}" "${Protobuf_SRC_ROOT_FOLDER}/java/core/target/protobuf-java-${Protobuf_VERSION}.jar") set(CMAKE_JAVA_INCLUDE_PATH "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/protobuf-java.jar" ${PUBLIC_JAR}) diff --git a/test/examples/1-BasicDataProduct/run.sh.in b/test/examples/1-BasicDataProduct/run.sh.in index 54db2d214..65eab389f 100755 --- a/test/examples/1-BasicDataProduct/run.sh.in +++ b/test/examples/1-BasicDataProduct/run.sh.in @@ -22,8 +22,9 @@ PROTOBUF_LIB_DIR=@Protobuf_LIBRARY_RELEASE@ ZMQ_LIB_DIR=@ZeroMQ_LIBRARY_RELEASE@ ONE_BIN_DIR=@BasicDataProduct_BINARY_DIR@ -SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ #Can use for not external builds -COMP_BIN_DIR=@CMAKE_INSTALL_PREFIX@/bin +SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ #For internal builds +COMP_BIN_DIR=@TOPLEVEL_INSTALL_PREFIX@/bin #For external builds + export PATH=$PATH:$ONE_BIN_DIR:$SD_BIN_DIR:$COMP_BIN_DIR export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR diff --git a/test/examples/10-Archiving/run.sh.in b/test/examples/10-Archiving/run.sh.in index e57b6ef0c..c447c57f1 100755 --- a/test/examples/10-Archiving/run.sh.in +++ b/test/examples/10-Archiving/run.sh.in @@ -25,7 +25,7 @@ TEN_BIN_DIR=@Archiving_BINARY_DIR@ SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ ARCH_BIN_DIR=@Archiver_BINARY_DIR@ PB_BIN_DIR=@Playback_BINARY_DIR@ -COMP_BIN_DIR=@CMAKE_INSTALL_PREFIX@/bin +COMP_BIN_DIR=@TOPLEVEL_INSTALL_PREFIX@/bin #For external builds export PATH=$PATH:$TEN_BIN_DIR:$SD_BIN_DIR:$ARCH_BIN_DIR:$PB_BIN_DIR:$COMP_BIN_DIR diff --git a/test/examples/11-PythonPubSub/run.sh.in b/test/examples/11-PythonPubSub/run.sh.in index f35754366..0b2c1ceeb 100755 --- a/test/examples/11-PythonPubSub/run.sh.in +++ b/test/examples/11-PythonPubSub/run.sh.in @@ -24,16 +24,17 @@ ZMQ_LIB_DIR=@ZeroMQ_LIBRARY_RELEASE@ WITHOUT_PYTHON=@SKIP_PYTHON@ PYTHON=python3 SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ -CM_INST_PRE=@CMAKE_INSTALL_PREFIX@ -CM_LIB_DIR=@CMAKE_INSTALL_LIBDIR@ +CME_LIB_DIR=@TOPLEVEL_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ +CMI_LIB_DIR=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ +COMP_BIN_DIR=@TOPLEVEL_INSTALL_PREFIX@/bin #For external builds if test $WITHOUT_PYTHON = OFF; then - export PATH=$PATH:$SD_BIN_DIR:$CM_INST_PRE/bin + export PATH=$PATH:$SD_BIN_DIR:$COMP_BIN_DIR export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ZMQ_LIB_DIR:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR - export PYTHONPATH=$PYTHONPATH:$CM_INST_PRE/$CM_LIB_DIR + export PYTHONPATH=$PYTHONPATH:$CME_LIB_DIR:$CMI_LIB_DIR ServiceDirectory & SDPID=$! diff --git a/test/examples/12-PythonBasicService/run.sh.in b/test/examples/12-PythonBasicService/run.sh.in index d062c1366..ccb722381 100755 --- a/test/examples/12-PythonBasicService/run.sh.in +++ b/test/examples/12-PythonBasicService/run.sh.in @@ -24,17 +24,18 @@ ZMQ_LIB_DIR=@ZeroMQ_LIBRARY_RELEASE@ WITHOUT_PYTHON=@SKIP_PYTHON@ PYTHON=python3 SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ -CM_INST_PRE=@CMAKE_INSTALL_PREFIX@ -CM_LIB_DIR=@CMAKE_INSTALL_LIBDIR@ +CME_LIB_DIR=@TOPLEVEL_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ +CMI_LIB_DIR=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ +COMP_BIN_DIR=@TOPLEVEL_INSTALL_PREFIX@/bin #For external builds if test $WITHOUT_PYTHON = OFF; then - export PATH=$PATH:$SD_BIN_DIR:$CM_INST_PRE/bin + export PATH=$PATH:$SD_BIN_DIR:$COMP_BIN_DIR export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ZMQ_LIB_DIR:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR - export PYTHONPATH=$CM_INST_PRE/$CM_LIB_DIR + export PYTHONPATH=$CME_LIB_DIR:$CMI_LIB_DIR - $SD_BIN_DIR/ServiceDirectory & + ServiceDirectory & SDPID=$! $PYTHON requestor.py diff --git a/test/examples/13-Relay/run.sh.in b/test/examples/13-Relay/run.sh.in index f5646fe60..cbcab33ed 100755 --- a/test/examples/13-Relay/run.sh.in +++ b/test/examples/13-Relay/run.sh.in @@ -24,7 +24,7 @@ ZMQ_LIB_DIR=@ZeroMQ_LIBRARY_RELEASE@ SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ REL_BIN_DIR=@Relay_BINARY_DIR@ RELEX_BIN_DIR=@RelayExample_BINARY_DIR@ -COMP_BIN_DIR=@CMAKE_INSTALL_PREFIX@/bin +COMP_BIN_DIR=@TOPLEVEL_INSTALL_PREFIX@/bin #For external builds export PATH=$PATH:$SD_BIN_DIR:$REL_BIN_DIR:$RELEX_BIN_DIR:$COMP_BIN_DIR diff --git a/test/examples/14-AnomalyDetection/detect.sh.in b/test/examples/14-AnomalyDetection/detect.sh.in index 2aaad1954..cf22f657c 100755 --- a/test/examples/14-AnomalyDetection/detect.sh.in +++ b/test/examples/14-AnomalyDetection/detect.sh.in @@ -26,15 +26,16 @@ WITHOUT_PYTHON=@SKIP_PYTHON@ PYTHON=python3 TERM=gnome-terminal SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ -CM_INST_PRE=@CMAKE_INSTALL_PREFIX@ -CM_LIB_DIR=@CMAKE_INSTALL_LIBDIR@ +CME_LIB_DIR=@TOPLEVEL_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ +CMI_LIB_DIR=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ +COMP_BIN_DIR=@TOPLEVEL_INSTALL_PREFIX@/bin #For external builds if test $WITHOUT_PYTHON = OFF; then - export PATH=$PATH:$SD_BIN_DIR:$CM_INST_PRE/bin + export PATH=$PATH:$SD_BIN_DIR:$COMP_BIN_DIR export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ZMQ_LIB_DIR:$GRAVITY_ROOT/src/api/cpp:$GRAVITY_ROOT/src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR - export PYTHONPATH=$PYTHONPATH:$CM_INST_PRE/$CM_LIB_DIR + export PYTHONPATH=$PYTHONPATH:$CME_LIB_DIR:$CMI_LIB_DIR protoc --proto_path=. --python_out=. DataPoint.proto || exit diff --git a/test/examples/14-AnomalyDetection/train.sh.in b/test/examples/14-AnomalyDetection/train.sh.in index fc65576a9..b3240a55d 100755 --- a/test/examples/14-AnomalyDetection/train.sh.in +++ b/test/examples/14-AnomalyDetection/train.sh.in @@ -26,16 +26,17 @@ WITHOUT_PYTHON=@SKIP_PYTHON@ PYTHON=python3 TERM=gnome-terminal SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ -CM_INST_PRE=@CMAKE_INSTALL_PREFIX@ -CM_LIB_DIR=@CMAKE_INSTALL_LIBDIR@ +CME_LIB_DIR=@TOPLEVEL_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ +CMI_LIB_DIR=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ +COMP_BIN_DIR=@TOPLEVEL_INSTALL_PREFIX@/bin #For external builds if test $WITHOUT_PYTHON = OFF; then - export PATH=$PATH:$SD_BIN_DIR:$CM_INST_PRE/bin + export PATH=$PATH:$SD_BIN_DIR:$COMP_BIN_DIR export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ZMQ_LIB_DIR:$GRAVITY_ROOT/src/api/cpp:$GRAVITY_ROOT/src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR - export PYTHONPATH=$PYTHONPATH:$CM_INST_PRE/$CM_LIB_DIR + export PYTHONPATH=$PYTHONPATH:$CME_LIB_DIR:$CMI_LIB_DIR protoc --proto_path=. --python_out=. DataPoint.proto || exit diff --git a/test/examples/2-ProtobufDataProduct/run.sh.in b/test/examples/2-ProtobufDataProduct/run.sh.in index 27d629abb..0f730e464 100755 --- a/test/examples/2-ProtobufDataProduct/run.sh.in +++ b/test/examples/2-ProtobufDataProduct/run.sh.in @@ -23,7 +23,7 @@ PROTOBUF_LIB_DIR=@Protobuf_LIBRARY_RELEASE@ ZMQ_LIB_DIR=@ZeroMQ_LIBRARY_RELEASE@ TWO_BIN_DIR=@ProtobufDataProduct_BINARY_DIR@ SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ -COMP_BIN_DIR=@CMAKE_INSTALL_PREFIX@/bin +COMP_BIN_DIR=@TOPLEVEL_INSTALL_PREFIX@/bin #For external builds export PATH=$PATH:$TWO_BIN_DIR:$SD_BIN_DIR:$COMP_BIN_DIR export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR diff --git a/test/examples/3-MultipleDataProduct/run.sh.in b/test/examples/3-MultipleDataProduct/run.sh.in index dc94f002c..f3fdd1233 100755 --- a/test/examples/3-MultipleDataProduct/run.sh.in +++ b/test/examples/3-MultipleDataProduct/run.sh.in @@ -23,7 +23,7 @@ PROTOBUF_LIB_DIR=@Protobuf_LIBRARY_RELEASE@ ZMQ_LIB_DIR=@ZeroMQ_LIBRARY_RELEASE@ THREE_BIN_DIR=@MultipleDataProduct_BINARY_DIR@ SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ -COMP_BIN_DIR=@CMAKE_INSTALL_PREFIX@/bin +COMP_BIN_DIR=@TOPLEVEL_INSTALL_PREFIX@/bin #For external builds export PATH=$PATH:$THREE_BIN_DIR:$SD_BIN_DIR:$COMP_BIN_DIR export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR diff --git a/test/examples/4-BasicService/run.sh.in b/test/examples/4-BasicService/run.sh.in index 8af27025d..3886934d7 100755 --- a/test/examples/4-BasicService/run.sh.in +++ b/test/examples/4-BasicService/run.sh.in @@ -23,7 +23,7 @@ PROTOBUF_LIB_DIR=@Protobuf_LIBRARY_RELEASE@ ZMQ_LIB_DIR=@ZeroMQ_LIBRARY_RELEASE@ FOUR_BIN_DIR=@BasicService_BINARY_DIR@ SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ -COMP_BIN_DIR=@CMAKE_INSTALL_PREFIX@/bin +COMP_BIN_DIR=@TOPLEVEL_INSTALL_PREFIX@/bin #For external builds export PATH=$PATH:$SD_BIN_DIR:$FOUR_BIN_DIR:$COMP_BIN_DIR export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR diff --git a/test/examples/5-MiscFunctionality/run.sh.in b/test/examples/5-MiscFunctionality/run.sh.in index 483765a7e..b9e4ff6e8 100755 --- a/test/examples/5-MiscFunctionality/run.sh.in +++ b/test/examples/5-MiscFunctionality/run.sh.in @@ -23,7 +23,7 @@ PROTOBUF_LIB_DIR=@Protobuf_LIBRARY_RELEASE@ ZMQ_LIB_DIR=@ZeroMQ_LIBRARY_RELEASE@ FIVE_BIN_DIR=@MiscFunctionality_BINARY_DIR@ SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ -COMP_BIN_DIR=@CMAKE_INSTALL_PREFIX@/bin +COMP_BIN_DIR=@TOPLEVEL_INSTALL_PREFIX@/bin #For external builds export PATH=$PATH:$FIVE_BIN_DIR:$SD_BIN_DIR:$COMP_BIN_DIR export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR diff --git a/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt b/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt index 5d124b06d..95dec8dff 100644 --- a/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt +++ b/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt @@ -8,9 +8,12 @@ find_package(Gravity QUIET) set(LOCAL_PROTOBUF_JAR) if (Protobuf_SRC_ROOT_FOLDER) - set(LOCAL_PROTOBUF_JAR ) + set(LOCAL_PROTOBUF_JAR "${Protobuf_SRC_ROOT_FOLDER}/java/core/target/protobuf-java-${Protobuf_VERSION}.jar") endif() -set(PUBLIC_JAR "C:/Users/jbarger/gravity/build/protobuf-java_external-prefix/src/protobuf-java_external-build/protobuf-java.jar" CACHE OFF FILEPATH) +#Need prefix path here because build/install gets created at the end of the build process, and doesn't exist yet when this gets built +set(PUBLIC_JAR "${CMAKE_PREFIX_PATH}/lib/protobuf-java.jar" "${JAVA_PROTOBUF_JAR}" "${LOCAL_PROTOBUF_JAR}" CACHE ON STRING) +list(JOIN PUBLIC_JAR ":" PUBLIC_JAR_CACHE) +set(PUBLIC_JAR_CACHE ${PUBLIC_JAR_CACHE} CACHE ON STRING) find_package(GravityJava REQUIRED) include(UseJava) @@ -20,7 +23,7 @@ gravity_protobuf_generate(APPEND_PATH LANGUAGE java PROTOC_OUT_DIR "${CMAKE_CURR add_custom_target(${PROJECT_NAME}_protos ALL DEPENDS ${PROTO_SRCS}) -set(CMAKE_JAVA_INCLUDE_PATH "/home/flinker/Gravity/src/api/java/build/protobuf-java-${Protobuf_VERSION}.jar" ${PUBLIC_JAR}) +set(CMAKE_JAVA_INCLUDE_PATH ${PUBLIC_JAR_CACHE}) string(APPEND CMAKE_JAVA_INCLUDE_PATH_FINAL_RELEASE "${_UseJava_PATH_SEP}${ABS_GRAVITY_ROOT}/${CMAKE_INSTALL_LIBDIR}/gravity.jar${_UseJava_PATH_SEP}${CMAKE_BINARY_DIR}/src/api/java/gravity.jar") string(APPEND CMAKE_JAVA_INCLUDE_PATH_FINAL_DEBUG "${_UseJava_PATH_SEP}${ABS_GRAVITY_ROOT}/${CMAKE_INSTALL_LIBDIR}/gravity${CMAKE_DEBUG_POSTFIX}.jar${_UseJava_PATH_SEP}${CMAKE_BINARY_DIR}/src/api/java/gravity${CMAKE_DEBUG_POSTFIX}.jar") message(STATUS "CMAKE_JAVA_INCLUDE_PATH_FINAL_DEBUG: ${CMAKE_JAVA_INCLUDE_PATH_FINAL_DEBUG}") diff --git a/test/examples/6-JavaProtobufDataProduct/run.sh.in b/test/examples/6-JavaProtobufDataProduct/run.sh.in index c251a3134..2d33314f4 100755 --- a/test/examples/6-JavaProtobufDataProduct/run.sh.in +++ b/test/examples/6-JavaProtobufDataProduct/run.sh.in @@ -25,24 +25,25 @@ ZMQ_PAR_DIR=@ZeroMQ_LIBRARY_DIRECTORY@ JAVAPROTOBUF_DIR=@PUBLIC_JAR_CACHE@ WITHOUT_JAVA=@SKIP_JAVA@ SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ -CM_INST_PRE=@CMAKE_INSTALL_PREFIX@ -CM_INST_LIB=@CMAKE_INSTALL_LIBDIR@ +COMP_BIN_DIR=@TOPLEVEL_INSTALL_PREFIX@/bin #For external builds +CME_LIB_DIR=@TOPLEVEL_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ +CMI_LIB_DIR=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ SIX_BIN_DIR=@JavaProtobufDataProduct_BINARY_DIR@ if test $WITHOUT_JAVA = OFF; then - export PATH=$PATH:$SD_BIN_DIR:$CM_INST_PRE/bin + export PATH=$PATH:$SD_BIN_DIR:$COMP_BIN_DIR export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ZMQ_LIB_DIR:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR ServiceDirectory & SDPID=$! - java -cp $JAVAPROTOBUF_DIR:$CM_INST_PRE/$CM_INST_LIB/gravity.jar:$SIX_BIN_DIR/JavaProtobufDataProduct.jar: -Djava.library.path=$CM_INST_PRE/$CM_INST_LIB:$ZMQ_PAR_DIR JavaProtobufDataProductPublisher & + java -cp $JAVAPROTOBUF_DIR:$CME_LIB_DIR/gravity.jar:$CMI_LIB_DIR/gravity.jar:$SIX_BIN_DIR/JavaProtobufDataProduct.jar: -Djava.library.path=$CME_LIB_DIR:$CMI_LIB_DIR:$ZMQ_PAR_DIR JavaProtobufDataProductPublisher & # sleep for a second to give the publisher a chance to register its data product sleep 1 - java -cp $JAVAPROTOBUF_DIR:$CM_INST_PRE/$CM_INST_LIB/gravity.jar:$SIX_BIN_DIR/JavaProtobufDataProduct.jar -Djava.library.path=$CM_INST_PRE/$CM_INST_LIB:$ZMQ_PAR_DIR JavaProtobufDataProductSubscriber + java -cp $JAVAPROTOBUF_DIR:$CME_LIB_DIR/gravity.jar:$CMI_LIB_DIR/gravity.jar:$SIX_BIN_DIR/JavaProtobufDataProduct.jar -Djava.library.path=$CME_LIB_DIR:$CMI_LIB_DIR:$ZMQ_PAR_DIR JavaProtobufDataProductSubscriber kill $SDPID kill $JDPPID diff --git a/test/examples/7-JavaBasicService/CMakeLists.txt b/test/examples/7-JavaBasicService/CMakeLists.txt index 77868bb91..cdd69b359 100644 --- a/test/examples/7-JavaBasicService/CMakeLists.txt +++ b/test/examples/7-JavaBasicService/CMakeLists.txt @@ -8,9 +8,10 @@ find_package(Gravity QUIET) set(LOCAL_PROTOBUF_JAR) if (Protobuf_SRC_ROOT_FOLDER) - set(LOCAL_PROTOBUF_JAR "C:/Users/jbarger/gravity/build/protobuf-java_external-prefix\src/:protobuf-java_external-build") + set(LOCAL_PROTOBUF_JAR "${JAVA_PROTOBUF_JAR}" "${Protobuf_SRC_ROOT_FOLDER}/java/core/target/protobuf-java-${Protobuf_VERSION}.jar") endif() -set(PUBLIC_JAR "C:/Users/jbarger/gravity/build/protobuf-java_external-prefix/src/protobuf-java_external-build/protobuf-java.jar" "${LOCAL_PROTOBUF_JAR}") +#Need prefix path here because build/install gets created at the end of the build process, and doesn't exist yet when this gets built +set(PUBLIC_JAR "${CMAKE_PREFIX_PATH}/${CMAKE_INSTALL_LIBDIR}/protobuf-java.jar" "${LOCAL_PROTOBUF_JAR}" CACHE OFF FILEPATH) find_package(GravityJava REQUIRED) include(UseJava) diff --git a/test/examples/7-JavaBasicService/run.sh.in b/test/examples/7-JavaBasicService/run.sh.in index 4b4a93b15..deeea64ff 100755 --- a/test/examples/7-JavaBasicService/run.sh.in +++ b/test/examples/7-JavaBasicService/run.sh.in @@ -25,26 +25,27 @@ ZMQ_PAR_DIR=@ZeroMQ_LIBRARY_DIRECTORY@ JAVAPROTOBUF_DIR=@PUBLIC_JAR_CACHE@ WITHOUT_JAVA=@SKIP_JAVA@ SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ -CM_INST_PRE=@CMAKE_INSTALL_PREFIX@ -CM_INST_LIB=@CMAKE_INSTALL_LIBDIR@ +CME_LIB_DIR=@TOPLEVEL_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ +CMI_LIB_DIR=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ +COMP_BIN_DIR=@TOPLEVEL_INSTALL_PREFIX@/bin #For external builds SEV_BIN_DIR=@JavaBasicService_BINARY_DIR@ if test $WITHOUT_JAVA = OFF; then - export PATH=$PATH:$SD_BIN_DIR:$CM_INST_PRE/bin + export PATH=$PATH:$SD_BIN_DIR:$COMP_BIN_DIR export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR ServiceDirectory & SDPID=$! - java -cp build:$JAVAPROTOBUF_DIR:$CM_INST_PRE/$CM_INST_LIB/gravity.jar:$SEV_BIN_DIR/JavaBasicService.jar:$JAVA_PROTOBUF_JAR -Djava.library.path=$CM_INST_PRE/$CM_INST_LIB:$ZMQ_PAR_DIR BasicServiceProvider & + java -cp build:$JAVAPROTOBUF_DIR:$CME_LIB_DIR/gravity.jar:$CMI_LIB_DIR/gravity.jar:$SEV_BIN_DIR/JavaBasicService.jar -Djava.library.path=$CME_LIB_DIR:$CMI_LIB_DIR:$ZMQ_PAR_DIR BasicServiceProvider & JDPPID=$! # sleep for a second to give the publisher a chance to register its data product sleep 1 - java -cp build:$JAVAPROTOBUF_DIR:$CM_INST_PRE/$CM_INST_LIB/gravity.jar:$SEV_BIN_DIR/JavaBasicService.jar:$JAVA_PROTOBUF_JAR -Djava.library.path=$CM_INST_PRE/$CM_INST_LIB:$ZMQ_PAR_DIR BasicServiceRequestor + java -cp build:$JAVAPROTOBUF_DIR:$CME_LIB_DIR/gravity.jar:$CMI_LIB_DIR/gravity.jar:$SEV_BIN_DIR/JavaBasicService.jar:$JAVA_PROTOBUF_JAR -Djava.library.path=$CME_LIB_DIR:$CMI_LIB_DIR:$ZMQ_PAR_DIR BasicServiceRequestor kill $SDPID kill $JDPPID diff --git a/test/examples/8-ConfigFile/run.sh.in b/test/examples/8-ConfigFile/run.sh.in index 4a8080221..a45bf6311 100755 --- a/test/examples/8-ConfigFile/run.sh.in +++ b/test/examples/8-ConfigFile/run.sh.in @@ -24,7 +24,7 @@ ZMQ_LIB_DIR=@ZeroMQ_LIBRARY_RELEASE@ EIGHT_BIN_DIR=@ConfigFile_BINARY_DIR@ SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ CS_BIN_DIR=@ConfigServer_BINARY_DIR@ -COMP_BIN_DIR=@CMAKE_INSTALL_PREFIX@/bin +COMP_BIN_DIR=@TOPLEVEL_INSTALL_PREFIX@/bin #For external builds export PATH=$PATH:$CS_BIN_DIR:$SD_BIN_DIR:$EIGHT_BIN_DIR:$COMP_BIN_DIR export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR diff --git a/test/examples/9-Domains/run.sh.in b/test/examples/9-Domains/run.sh.in index abcca1ead..d9690e83d 100755 --- a/test/examples/9-Domains/run.sh.in +++ b/test/examples/9-Domains/run.sh.in @@ -23,7 +23,7 @@ PROTOBUF_LIB_DIR=@Protobuf_LIBRARY_RELEASE@ ZMQ_LIB_DIR=@ZeroMQ_LIBRARY_RELEASE@ NINE_BIN_DIR=@Domains_BINARY_DIR@ SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ -COMP_BIN_DIR=@CMAKE_INSTALL_PREFIX@/bin +COMP_BIN_DIR=@TOPLEVEL_INSTALL_PREFIX@/bin #For external builds export PATH=$PATH:$NINE_BIN_DIR:$SD_BIN_DIR:$COMP_BIN_DIR export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR From 7a1c15de84067683aa30a0907f644084beb6767d Mon Sep 17 00:00:00 2001 From: APS VM Date: Thu, 26 Jun 2025 09:48:39 -0700 Subject: [PATCH 19/48] Removed absolute path from CMakeLists --- test/examples/7-JavaBasicService/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/examples/7-JavaBasicService/CMakeLists.txt b/test/examples/7-JavaBasicService/CMakeLists.txt index cdd69b359..df08c3aca 100644 --- a/test/examples/7-JavaBasicService/CMakeLists.txt +++ b/test/examples/7-JavaBasicService/CMakeLists.txt @@ -21,7 +21,7 @@ gravity_protobuf_generate(APPEND_PATH LANGUAGE java PROTOC_OUT_DIR "${CMAKE_CURR add_custom_target(${PROJECT_NAME}_protos ALL DEPENDS ${PROTO_SRCS}) -set(CMAKE_JAVA_INCLUDE_PATH "/home/flinker/Gravity/src/api/java/build/protobuf-java-${Protobuf_VERSION}.jar" ${PUBLIC_JAR}) +set(CMAKE_JAVA_INCLUDE_PATH ${PUBLIC_JAR_CACHE}) string(APPEND CMAKE_JAVA_INCLUDE_PATH_FINAL_RELEASE "${_UseJava_PATH_SEP}${ABS_GRAVITY_ROOT}/${CMAKE_INSTALL_LIBDIR}/gravity.jar${_UseJava_PATH_SEP}${CMAKE_BINARY_DIR}/src/api/java/gravity.jar") string(APPEND CMAKE_JAVA_INCLUDE_PATH_FINAL_DEBUG "${_UseJava_PATH_SEP}${ABS_GRAVITY_ROOT}/${CMAKE_INSTALL_LIBDIR}/gravity${CMAKE_DEBUG_POSTFIX}.jar${_UseJava_PATH_SEP}${CMAKE_BINARY_DIR}/src/api/java/gravity${CMAKE_DEBUG_POSTFIX}.jar") message(STATUS "CMAKE_JAVA_INCLUDE_PATH_FINAL_DEBUG: ${CMAKE_JAVA_INCLUDE_PATH_FINAL_DEBUG}") From 771ebff07ffd16b99f0a16b18e3a96be37497d02 Mon Sep 17 00:00:00 2001 From: APS VM Date: Thu, 26 Jun 2025 14:59:28 -0700 Subject: [PATCH 20/48] Java examples now compile in both Windows and Linux --- test/examples/6-JavaProtobufDataProduct/CMakeLists.txt | 6 +++++- test/examples/7-JavaBasicService/CMakeLists.txt | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt b/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt index 95dec8dff..b251426d0 100644 --- a/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt +++ b/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt @@ -23,7 +23,11 @@ gravity_protobuf_generate(APPEND_PATH LANGUAGE java PROTOC_OUT_DIR "${CMAKE_CURR add_custom_target(${PROJECT_NAME}_protos ALL DEPENDS ${PROTO_SRCS}) -set(CMAKE_JAVA_INCLUDE_PATH ${PUBLIC_JAR_CACHE}) +if(WIN32) + set(CMAKE_JAVA_INCLUDE_PATH ${PUBLIC_JAR}) #Takes semicolons as dividers +else() + set(CMAKE_JAVA_INCLUDE_PATH ${PUBLIC_JAR_CACHE}) #Linux takes colons as dividers +endif() string(APPEND CMAKE_JAVA_INCLUDE_PATH_FINAL_RELEASE "${_UseJava_PATH_SEP}${ABS_GRAVITY_ROOT}/${CMAKE_INSTALL_LIBDIR}/gravity.jar${_UseJava_PATH_SEP}${CMAKE_BINARY_DIR}/src/api/java/gravity.jar") string(APPEND CMAKE_JAVA_INCLUDE_PATH_FINAL_DEBUG "${_UseJava_PATH_SEP}${ABS_GRAVITY_ROOT}/${CMAKE_INSTALL_LIBDIR}/gravity${CMAKE_DEBUG_POSTFIX}.jar${_UseJava_PATH_SEP}${CMAKE_BINARY_DIR}/src/api/java/gravity${CMAKE_DEBUG_POSTFIX}.jar") message(STATUS "CMAKE_JAVA_INCLUDE_PATH_FINAL_DEBUG: ${CMAKE_JAVA_INCLUDE_PATH_FINAL_DEBUG}") diff --git a/test/examples/7-JavaBasicService/CMakeLists.txt b/test/examples/7-JavaBasicService/CMakeLists.txt index df08c3aca..12c850b2f 100644 --- a/test/examples/7-JavaBasicService/CMakeLists.txt +++ b/test/examples/7-JavaBasicService/CMakeLists.txt @@ -21,7 +21,11 @@ gravity_protobuf_generate(APPEND_PATH LANGUAGE java PROTOC_OUT_DIR "${CMAKE_CURR add_custom_target(${PROJECT_NAME}_protos ALL DEPENDS ${PROTO_SRCS}) -set(CMAKE_JAVA_INCLUDE_PATH ${PUBLIC_JAR_CACHE}) +if(WIN32) + set(CMAKE_JAVA_INCLUDE_PATH ${PUBLIC_JAR}) #Takes semicolons as dividers +else() + set(CMAKE_JAVA_INCLUDE_PATH ${PUBLIC_JAR_CACHE}) #Linux takes colons as dividers +endif() string(APPEND CMAKE_JAVA_INCLUDE_PATH_FINAL_RELEASE "${_UseJava_PATH_SEP}${ABS_GRAVITY_ROOT}/${CMAKE_INSTALL_LIBDIR}/gravity.jar${_UseJava_PATH_SEP}${CMAKE_BINARY_DIR}/src/api/java/gravity.jar") string(APPEND CMAKE_JAVA_INCLUDE_PATH_FINAL_DEBUG "${_UseJava_PATH_SEP}${ABS_GRAVITY_ROOT}/${CMAKE_INSTALL_LIBDIR}/gravity${CMAKE_DEBUG_POSTFIX}.jar${_UseJava_PATH_SEP}${CMAKE_BINARY_DIR}/src/api/java/gravity${CMAKE_DEBUG_POSTFIX}.jar") message(STATUS "CMAKE_JAVA_INCLUDE_PATH_FINAL_DEBUG: ${CMAKE_JAVA_INCLUDE_PATH_FINAL_DEBUG}") From cc6486d78562318dc0b6d58ed77e3e13a7fdd207 Mon Sep 17 00:00:00 2001 From: APS VM Date: Mon, 30 Jun 2025 09:58:43 -0700 Subject: [PATCH 21/48] Examples 2, 9 and 13 can now all be compiled together --- .../2-ProtobufDataProduct/CMakeLists.txt | 24 +++++++++---------- .../RunProtobufDataProductDebug.bat.in | 4 ++-- .../RunProtobufDataProductRelease.bat.in | 4 ++-- test/examples/2-ProtobufDataProduct/run.sh.in | 4 ++-- 4 files changed, 18 insertions(+), 18 deletions(-) mode change 100644 => 100755 test/examples/2-ProtobufDataProduct/RunProtobufDataProductDebug.bat.in mode change 100644 => 100755 test/examples/2-ProtobufDataProduct/RunProtobufDataProductRelease.bat.in diff --git a/test/examples/2-ProtobufDataProduct/CMakeLists.txt b/test/examples/2-ProtobufDataProduct/CMakeLists.txt index 994d8b05d..e72bdf558 100644 --- a/test/examples/2-ProtobufDataProduct/CMakeLists.txt +++ b/test/examples/2-ProtobufDataProduct/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.17) -project(ProtoBufDataProduct) +project(ProtobufDataProduct) # # see CMakeLists.txt on how to set up CMAKE_PREFIX_PATH and CMAKE_MODULE_PATH # @@ -19,17 +19,17 @@ gravity_protobuf_generate(APPEND_PATH PROTOC_OUT_DIR ${CMAKE_CURRENT_BINARY_DIR} add_custom_target(${PROJECT_NAME}_protos ALL DEPENDS ${PROTO_SRCS}) set(CMAKE_DEBUG_POSTFIX _d) -add_executable(ProtobufDataProductPublisher ProtobufDataProductPublisher.cpp ${PROTO_SRCS}) -set_target_properties(ProtobufDataProductPublisher PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) -target_link_libraries(ProtobufDataProductPublisher PUBLIC gravity PRIVATE spdlog::spdlog_header_only) -target_include_directories(ProtobufDataProductPublisher PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) -add_dependencies(ProtobufDataProductPublisher ${PROJECT_NAME}_protos) - -add_executable(ProtobufDataProductSubscriber ProtobufDataProductSubscriber.cpp ${PROTO_SRCS}) -set_target_properties(ProtobufDataProductSubscriber PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) -target_link_libraries(ProtobufDataProductSubscriber PUBLIC gravity PRIVATE spdlog::spdlog_header_only) -target_include_directories(ProtobufDataProductSubscriber PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) -add_dependencies(ProtobufDataProductSubscriber ${PROJECT_NAME}_protos) +add_executable(ProtobufDataProductPublisher2 ProtobufDataProductPublisher2.cpp ${PROTO_SRCS}) +set_target_properties(ProtobufDataProductPublisher2 PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) +target_link_libraries(ProtobufDataProductPublisher2 PUBLIC gravity PRIVATE spdlog::spdlog_header_only) +target_include_directories(ProtobufDataProductPublisher2 PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) +add_dependencies(ProtobufDataProductPublisher2 ${PROJECT_NAME}_protos) + +add_executable(ProtobufDataProductSubscriber2 ProtobufDataProductSubscriber2.cpp ${PROTO_SRCS}) +set_target_properties(ProtobufDataProductSubscriber2 PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) +target_link_libraries(ProtobufDataProductSubscriber2 PUBLIC gravity PRIVATE spdlog::spdlog_header_only) +target_include_directories(ProtobufDataProductSubscriber2 PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) +add_dependencies(ProtobufDataProductSubscriber2 ${PROJECT_NAME}_protos) configure_file(run.sh.in ${ProtobufDataProduct_SOURCE_DIR}/run.sh) configure_file(RunProtobufDataProductDebug.bat.in ${ProtobufDataProduct_SOURCE_DIR}/RunProtobufDataProductDebug.bat) diff --git a/test/examples/2-ProtobufDataProduct/RunProtobufDataProductDebug.bat.in b/test/examples/2-ProtobufDataProduct/RunProtobufDataProductDebug.bat.in old mode 100644 new mode 100755 index cffae5ea1..92dbad363 --- a/test/examples/2-ProtobufDataProduct/RunProtobufDataProductDebug.bat.in +++ b/test/examples/2-ProtobufDataProduct/RunProtobufDataProductDebug.bat.in @@ -11,6 +11,6 @@ set path=%Path%;@ProtobufDataProduct_BINARY_DIR@/Debug start ServiceDirectory@CMAKE_DEBUG_POSTFIX@.exe sleep 3 -start ProtobufDataProductPublisher@CMAKE_DEBUG_POSTFIX@.exe +start ProtobufDataProductPublisher2@CMAKE_DEBUG_POSTFIX@.exe sleep 3 -start ProtobufDataProductSubscriber@CMAKE_DEBUG_POSTFIX@.exe \ No newline at end of file +start ProtobufDataProductSubscriber2@CMAKE_DEBUG_POSTFIX@.exe diff --git a/test/examples/2-ProtobufDataProduct/RunProtobufDataProductRelease.bat.in b/test/examples/2-ProtobufDataProduct/RunProtobufDataProductRelease.bat.in old mode 100644 new mode 100755 index 5d4321ed8..688d1dd77 --- a/test/examples/2-ProtobufDataProduct/RunProtobufDataProductRelease.bat.in +++ b/test/examples/2-ProtobufDataProduct/RunProtobufDataProductRelease.bat.in @@ -12,6 +12,6 @@ set path=%Path%;@ProtobufDataProduct_BINARY_DIR@/Release start ServiceDirectory.exe sleep 3 -start ProtobufDataProductPublisher.exe +start ProtobufDataProductPublisher2.exe sleep 3 -start ProtobufDataProductSubscriber.exe \ No newline at end of file +start ProtobufDataProductSubscriber2.exe diff --git a/test/examples/2-ProtobufDataProduct/run.sh.in b/test/examples/2-ProtobufDataProduct/run.sh.in index 0f730e464..a84496335 100755 --- a/test/examples/2-ProtobufDataProduct/run.sh.in +++ b/test/examples/2-ProtobufDataProduct/run.sh.in @@ -45,10 +45,10 @@ SDPID=$! # sleep for a second to give the service directory a chance to start up sleep 1 -ProtobufDataProductPublisher & +ProtobufDataProductPublisher2 & PUBPID=$! # sleep for a second to give the publisher a chance to register its data product sleep 1 -ProtobufDataProductSubscriber +ProtobufDataProductSubscriber2 From 9a1e3720255635b16d8c096d99d7dbdc5c7b2a4f Mon Sep 17 00:00:00 2001 From: APS VM Date: Mon, 30 Jun 2025 10:31:35 -0700 Subject: [PATCH 22/48] 2, 9 and 13 files cont. --- ....cpp => ProtobufDataProductPublisher2.cpp} | 0 .../ProtobufDataProductSubscriber2.cpp | 69 ++++++++++++++++ test/examples/9-Domains/CMakeLists.txt | 22 ++--- .../ProtobufDataProductPublisher9.cpp | 78 ++++++++++++++++++ .../ProtobufDataProductSubscriber9.cpp | 80 +++++++++++++++++++ test/examples/9-Domains/run.sh.in | 4 +- test/examples/CMakeLists.txt | 4 +- 7 files changed, 242 insertions(+), 15 deletions(-) rename test/examples/2-ProtobufDataProduct/{ProtobufDataProductPublisher.cpp => ProtobufDataProductPublisher2.cpp} (100%) create mode 100644 test/examples/2-ProtobufDataProduct/ProtobufDataProductSubscriber2.cpp create mode 100644 test/examples/9-Domains/ProtobufDataProductPublisher9.cpp create mode 100644 test/examples/9-Domains/ProtobufDataProductSubscriber9.cpp diff --git a/test/examples/2-ProtobufDataProduct/ProtobufDataProductPublisher.cpp b/test/examples/2-ProtobufDataProduct/ProtobufDataProductPublisher2.cpp similarity index 100% rename from test/examples/2-ProtobufDataProduct/ProtobufDataProductPublisher.cpp rename to test/examples/2-ProtobufDataProduct/ProtobufDataProductPublisher2.cpp diff --git a/test/examples/2-ProtobufDataProduct/ProtobufDataProductSubscriber2.cpp b/test/examples/2-ProtobufDataProduct/ProtobufDataProductSubscriber2.cpp new file mode 100644 index 000000000..40d008ae5 --- /dev/null +++ b/test/examples/2-ProtobufDataProduct/ProtobufDataProductSubscriber2.cpp @@ -0,0 +1,69 @@ +/** (C) Copyright 2013, Applied Physical Sciences Corp., A General Dynamics Company + ** + ** Gravity is free software; you can redistribute it and/or modify + ** it under the terms of the GNU Lesser General Public License as published by + ** the Free Software Foundation; either version 3 of the License, or + ** (at your option) any later version. + ** + ** This program is distributed in the hope that it will be useful, + ** but WITHOUT ANY WARRANTY; without even the implied warranty of + ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + ** GNU Lesser General Public License for more details. + ** + ** You should have received a copy of the GNU Lesser General Public + ** License along with this program; + ** If not, see . + ** + */ + +#include +#include +#include +#include +#include +#include "spdlog/spdlog.h" +#include "BasicCounterDataProduct.pb.h" + +using namespace gravity; +using namespace std; + +//Declare class for receiving Published messages. +class SimpleGravityCounterSubscriber : public GravitySubscriber +{ +public: + virtual void subscriptionFilled(const std::vector >& dataProducts); +}; + +int main() +{ + GravityNode gn; + //Initialize gravity, giving this node a componentID. + gn.init("SimpleGravityComponentID2"); + + //Declare an object of type SimpleGravityCounterSubscriber (this also initilizes the total count to 0). + SimpleGravityCounterSubscriber counterSubscriber; + //Subscribe a SimpleGravityCounterSubscriber to the counter data product. + gn.subscribe("BasicCounterDataProduct", counterSubscriber); + + //Wait for us to exit (Ctrl-C or being killed). + gn.waitForExit(); + + //Currently this will never be hit because we will have been killed (unfortunately). + //But this shouldn't make a difference because the OS should close the socket and free all resources. + gn.unsubscribe("BasicCounterDataProduct", counterSubscriber); +} + +void SimpleGravityCounterSubscriber::subscriptionFilled( + const std::vector >& dataProducts) +{ + for (std::vector >::const_iterator i = dataProducts.begin(); + i != dataProducts.end(); i++) + { + //Get the protobuf object from the message + BasicCounterDataProductPB counterDataPB; + (*i)->populateMessage(counterDataPB); + + //Process the message + spdlog::warn("Current Count: {}", counterDataPB.count()); + } +} diff --git a/test/examples/9-Domains/CMakeLists.txt b/test/examples/9-Domains/CMakeLists.txt index 9541854a7..8e72aa492 100644 --- a/test/examples/9-Domains/CMakeLists.txt +++ b/test/examples/9-Domains/CMakeLists.txt @@ -19,16 +19,16 @@ gravity_protobuf_generate(APPEND_PATH PROTOC_OUT_DIR ${CMAKE_CURRENT_BINARY_DIR} add_custom_target(${PROJECT_NAME}_protos ALL DEPENDS ${PROTO_SRCS}) set(CMAKE_DEBUG_POSTFIX _d) -add_executable(ProtobufDataProductPublisher ProtobufDataProductPublisher.cpp ${PROTO_SRCS}) -set_target_properties(ProtobufDataProductPublisher PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) -target_link_libraries(ProtobufDataProductPublisher PUBLIC gravity PRIVATE spdlog::spdlog_header_only) -target_include_directories(ProtobufDataProductPublisher PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) -add_dependencies(ProtobufDataProductPublisher ${PROJECT_NAME}_protos) - -add_executable(ProtobufDataProductSubscriber ProtobufDataProductSubscriber.cpp ${PROTO_SRCS}) -set_target_properties(ProtobufDataProductSubscriber PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) -target_link_libraries(ProtobufDataProductSubscriber PUBLIC gravity PRIVATE spdlog::spdlog_header_only) -target_include_directories(ProtobufDataProductSubscriber PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) -add_dependencies(ProtobufDataProductSubscriber ${PROJECT_NAME}_protos) +add_executable(ProtobufDataProductPublisher9 ProtobufDataProductPublisher9.cpp ${PROTO_SRCS}) +set_target_properties(ProtobufDataProductPublisher9 PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) +target_link_libraries(ProtobufDataProductPublisher9 PUBLIC gravity PRIVATE spdlog::spdlog_header_only) +target_include_directories(ProtobufDataProductPublisher9 PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) +add_dependencies(ProtobufDataProductPublisher9 ${PROJECT_NAME}_protos) + +add_executable(ProtobufDataProductSubscriber9 ProtobufDataProductSubscriber9.cpp ${PROTO_SRCS}) +set_target_properties(ProtobufDataProductSubscriber9 PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) +target_link_libraries(ProtobufDataProductSubscriber9 PUBLIC gravity PRIVATE spdlog::spdlog_header_only) +target_include_directories(ProtobufDataProductSubscriber9 PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) +add_dependencies(ProtobufDataProductSubscriber9 ${PROJECT_NAME}_protos) configure_file(run.sh.in ${Domains_SOURCE_DIR}/run.sh) diff --git a/test/examples/9-Domains/ProtobufDataProductPublisher9.cpp b/test/examples/9-Domains/ProtobufDataProductPublisher9.cpp new file mode 100644 index 000000000..62468aab4 --- /dev/null +++ b/test/examples/9-Domains/ProtobufDataProductPublisher9.cpp @@ -0,0 +1,78 @@ +/** (C) Copyright 2013, Applied Physical Sciences Corp., A General Dynamics Company + ** + ** Gravity is free software; you can redistribute it and/or modify + ** it under the terms of the GNU Lesser General Public License as published by + ** the Free Software Foundation; either version 3 of the License, or + ** (at your option) any later version. + ** + ** This program is distributed in the hope that it will be useful, + ** but WITHOUT ANY WARRANTY; without even the implied warranty of + ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + ** GNU Lesser General Public License for more details. + ** + ** You should have received a copy of the GNU Lesser General Public + ** License along with this program; + ** If not, see . + ** + */ + +#include +#include +#include +#include +#include + +#include "BasicCounterDataProduct.pb.h" + +int main() +{ + using namespace gravity; + + GravityNode gn; + //Initialize gravity, giving this node a componentID. + GravityReturnCode grc = gn.init("ProtobufGravityComponentID"); + + // It's possible that the GravityNode fails to initialize when using Domains because + // it hasn't heard from the ServiceDirectory. Looping as we've done here ensures that + // the component has connected to the ServiceDirectory before it continues to other tasks. + while (grc != GravityReturnCodes::SUCCESS) + { + spdlog::warn("Unable to connect to ServiceDirectory, will try again in 1 second..."); + gravity::sleep(1000); + grc = gn.init("ProtobufGravityComponentID"); + } + + gn.registerDataProduct( + //This identifies the Data Product to the service directory so that others can + // subscribe to it. (See BasicDataProductSubscriber.cpp). + "BasicCounterDataProduct", + //Assign a transport type to the socket (almost always tcp, unless you are only + //using the gravity data product between two processes on the same computer). + GravityTransportTypes::TCP); + + bool quit = false; //TODO: set this when you want the program to quit if you need to clean up before exiting. + int count = 1; + while (!quit) + { + //Create a data product to send across the network of type "BasicCounterDataProduct". + GravityDataProduct counterDataProduct( + "BasicCounterDataProduct"); //In order to publish, the DataProductID must match one of the registered types. + + //Initialize our message + BasicCounterDataProductPB counterDataPB; + counterDataPB.set_count(count); + + //Put message into data product + counterDataProduct.setData(counterDataPB); + + //Publish the data product. + gn.publish(counterDataProduct); + + //Increment count + count++; + if (count > 50) count = 1; + + //Sleep for 1 second. + gravity::sleep(1000); + } +} diff --git a/test/examples/9-Domains/ProtobufDataProductSubscriber9.cpp b/test/examples/9-Domains/ProtobufDataProductSubscriber9.cpp new file mode 100644 index 000000000..602cd2585 --- /dev/null +++ b/test/examples/9-Domains/ProtobufDataProductSubscriber9.cpp @@ -0,0 +1,80 @@ +/** (C) Copyright 2013, Applied Physical Sciences Corp., A General Dynamics Company + ** + ** Gravity is free software; you can redistribute it and/or modify + ** it under the terms of the GNU Lesser General Public License as published by + ** the Free Software Foundation; either version 3 of the License, or + ** (at your option) any later version. + ** + ** This program is distributed in the hope that it will be useful, + ** but WITHOUT ANY WARRANTY; without even the implied warranty of + ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + ** GNU Lesser General Public License for more details. + ** + ** You should have received a copy of the GNU Lesser General Public + ** License along with this program; + ** If not, see . + ** + */ + +#include +#include +#include +#include +#include +#include + +#include "BasicCounterDataProduct.pb.h" + +using namespace gravity; +using namespace std; + +//Declare class for receiving Published messages. +class SimpleGravityCounterSubscriber : public GravitySubscriber +{ +public: + virtual void subscriptionFilled(const std::vector >& dataProducts); +}; + +int main() +{ + GravityNode gn; + //Initialize gravity, giving this node a componentID. + GravityReturnCode grc = gn.init("SimpleGravityComponentID2"); + + // It's possible that the GravityNode fails to initialize when using Domains because + // it hasn't heard from the ServiceDirectory. Looping as we've done here ensures that + // the component has connected to the ServiceDirectory before it continues to other tasks. + while (grc != GravityReturnCodes::SUCCESS) + { + spdlog::warn("Unable to connect to ServiceDirectory, will try again in 1 second..."); + gravity::sleep(1000); + grc = gn.init("SimpleGravityComponentID2"); + } + + //Declare an object of type SimpleGravityCounterSubscriber (this also initilizes the total count to 0). + SimpleGravityCounterSubscriber counterSubscriber; + //Subscribe a SimpleGravityCounterSubscriber to the counter data product. + gn.subscribe("BasicCounterDataProduct", counterSubscriber); + + //Wait for us to exit (Ctrl-C or being killed). + gn.waitForExit(); + + //Currently this will never be hit because we will have been killed (unfortunately). + //But this shouldn't make a difference because the OS should close the socket and free all resources. + gn.unsubscribe("BasicCounterDataProduct", counterSubscriber); +} + +void SimpleGravityCounterSubscriber::subscriptionFilled( + const std::vector >& dataProducts) +{ + for (std::vector >::const_iterator i = dataProducts.begin(); + i != dataProducts.end(); i++) + { + //Get the protobuf object from the message + BasicCounterDataProductPB counterDataPB; + (*i)->populateMessage(counterDataPB); + + //Process the message + spdlog::warn("Current Count: {}", counterDataPB.count()); + } +} diff --git a/test/examples/9-Domains/run.sh.in b/test/examples/9-Domains/run.sh.in index d9690e83d..38857bffd 100755 --- a/test/examples/9-Domains/run.sh.in +++ b/test/examples/9-Domains/run.sh.in @@ -40,10 +40,10 @@ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyval # trap keyboard interrupt (control-c) trap cleanup SIGINT -ProtobufDataProductPublisher & +ProtobufDataProductPublisher9 & PUBPID=$! -ProtobufDataProductSubscriber & +ProtobufDataProductSubscriber9 & SUBPID=$! sleep 20 diff --git a/test/examples/CMakeLists.txt b/test/examples/CMakeLists.txt index 7a3e4af43..389d0bf14 100644 --- a/test/examples/CMakeLists.txt +++ b/test/examples/CMakeLists.txt @@ -3,12 +3,12 @@ cmake_minimum_required(VERSION 3.17) project(GravityExamples) #Examples 2,9 and 13 all use source files with the same name, so only one can be built at a time add_subdirectory("1-BasicDataProduct") -#add_subdirectory("2-ProtobufDataProduct") +add_subdirectory("2-ProtobufDataProduct") add_subdirectory("3-MultipleDataProduct") add_subdirectory("4-BasicService") add_subdirectory("5-MiscFunctionality") add_subdirectory("8-ConfigFile") -#add_subdirectory("9-Domains") +add_subdirectory("9-Domains") add_subdirectory("10-Archiving") add_subdirectory("13-Relay") From 2c240de219de3a503a102d9af70087c82937a419 Mon Sep 17 00:00:00 2001 From: APS VM Date: Mon, 30 Jun 2025 11:39:02 -0700 Subject: [PATCH 23/48] Python fixes --- test/examples/11-PythonPubSub/run.sh.in | 2 +- test/examples/12-PythonBasicService/run.sh.in | 2 +- test/examples/14-AnomalyDetection/detect.py | 1 + test/examples/14-AnomalyDetection/detect.sh.in | 2 +- test/examples/14-AnomalyDetection/pub.py | 3 ++- test/examples/14-AnomalyDetection/train.py | 5 +++-- test/examples/14-AnomalyDetection/train.sh.in | 2 +- 7 files changed, 10 insertions(+), 7 deletions(-) diff --git a/test/examples/11-PythonPubSub/run.sh.in b/test/examples/11-PythonPubSub/run.sh.in index 0b2c1ceeb..04055d8df 100755 --- a/test/examples/11-PythonPubSub/run.sh.in +++ b/test/examples/11-PythonPubSub/run.sh.in @@ -33,7 +33,7 @@ if test $WITHOUT_PYTHON = OFF; then export PATH=$PATH:$SD_BIN_DIR:$COMP_BIN_DIR - export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ZMQ_LIB_DIR:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR + export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ZMQ_LIB_DIR:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR:$CME_LIB_DIR:$CMI_LIB_DIR export PYTHONPATH=$PYTHONPATH:$CME_LIB_DIR:$CMI_LIB_DIR ServiceDirectory & diff --git a/test/examples/12-PythonBasicService/run.sh.in b/test/examples/12-PythonBasicService/run.sh.in index ccb722381..5eeb32826 100755 --- a/test/examples/12-PythonBasicService/run.sh.in +++ b/test/examples/12-PythonBasicService/run.sh.in @@ -32,7 +32,7 @@ if test $WITHOUT_PYTHON = OFF; then export PATH=$PATH:$SD_BIN_DIR:$COMP_BIN_DIR - export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ZMQ_LIB_DIR:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR + export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ZMQ_LIB_DIR:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR:$CME_LIB_DIR:$CMI_LIB_DIR export PYTHONPATH=$CME_LIB_DIR:$CMI_LIB_DIR ServiceDirectory & diff --git a/test/examples/14-AnomalyDetection/detect.py b/test/examples/14-AnomalyDetection/detect.py index abaa0d495..87f1775c5 100755 --- a/test/examples/14-AnomalyDetection/detect.py +++ b/test/examples/14-AnomalyDetection/detect.py @@ -16,6 +16,7 @@ #** If not, see . #** +import logging import warnings warnings.simplefilter(action='ignore', category=FutureWarning) # quiet TensorFlow warnings diff --git a/test/examples/14-AnomalyDetection/detect.sh.in b/test/examples/14-AnomalyDetection/detect.sh.in index cf22f657c..9ec084725 100755 --- a/test/examples/14-AnomalyDetection/detect.sh.in +++ b/test/examples/14-AnomalyDetection/detect.sh.in @@ -34,7 +34,7 @@ if test $WITHOUT_PYTHON = OFF; then export PATH=$PATH:$SD_BIN_DIR:$COMP_BIN_DIR - export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ZMQ_LIB_DIR:$GRAVITY_ROOT/src/api/cpp:$GRAVITY_ROOT/src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR + export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ZMQ_LIB_DIR:$GRAVITY_ROOT/src/api/cpp:$GRAVITY_ROOT/src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR:$CME_LIB_DIR:$CMI_LIB_DIR export PYTHONPATH=$PYTHONPATH:$CME_LIB_DIR:$CMI_LIB_DIR protoc --proto_path=. --python_out=. DataPoint.proto || exit diff --git a/test/examples/14-AnomalyDetection/pub.py b/test/examples/14-AnomalyDetection/pub.py index 19b103834..8f14baeda 100755 --- a/test/examples/14-AnomalyDetection/pub.py +++ b/test/examples/14-AnomalyDetection/pub.py @@ -16,8 +16,9 @@ #** If not, see . #** +import logging import time,sys -from gravity import GravityNode, GravityDataProduct, gravity, GravitySubscriber, Log +from gravity import GravityNode, GravityDataProduct, gravity, GravitySubscriber, SpdLogHandler from DataPoint_pb2 import DataPointPB from datetime import datetime import numpy as np diff --git a/test/examples/14-AnomalyDetection/train.py b/test/examples/14-AnomalyDetection/train.py index 9f1d413cc..468553729 100755 --- a/test/examples/14-AnomalyDetection/train.py +++ b/test/examples/14-AnomalyDetection/train.py @@ -16,6 +16,7 @@ #** If not, see . #** +import logging import warnings warnings.simplefilter(action='ignore', category=FutureWarning) # quiet TensorFlow warnings @@ -57,7 +58,7 @@ def subscriptionFilled(self, dataProducts): self.subs += 1 if self.subs == 100: self.subs = 0 - Log.message("Received %d of %d training samples. "%([len(v) for v in training_data.values()][0], training_size)) + gravlogger.warning("Received %d of %d training samples. "%([len(v) for v in training_data.values()][0], training_size)) #Log.message("Training Subscriptions: " + str([(k,len(v)) for k,v in training_data.items()])) has_enough_data = True @@ -66,7 +67,7 @@ def subscriptionFilled(self, dataProducts): has_enough_data = False break if has_enough_data: - Log.message("Calling trainmodel") + gravlogger.warning("Calling trainmodel") self.train_state = TrainingState.TRAINING TrainModel(training_data, model_file, epochs=epochs) self.train_state = TrainingState.TRAINED diff --git a/test/examples/14-AnomalyDetection/train.sh.in b/test/examples/14-AnomalyDetection/train.sh.in index b3240a55d..41c7f2c2c 100755 --- a/test/examples/14-AnomalyDetection/train.sh.in +++ b/test/examples/14-AnomalyDetection/train.sh.in @@ -35,7 +35,7 @@ if test $WITHOUT_PYTHON = OFF; then export PATH=$PATH:$SD_BIN_DIR:$COMP_BIN_DIR - export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ZMQ_LIB_DIR:$GRAVITY_ROOT/src/api/cpp:$GRAVITY_ROOT/src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR + export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ZMQ_LIB_DIR:$GRAVITY_ROOT/src/api/cpp:$GRAVITY_ROOT/src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR:$CME_LIB_DIR:$CMI_LIB_DIR export PYTHONPATH=$PYTHONPATH:$CME_LIB_DIR:$CMI_LIB_DIR protoc --proto_path=. --python_out=. DataPoint.proto || exit From b57a2f958721a444be6c0cd4a91c11736a00d9b7 Mon Sep 17 00:00:00 2001 From: APS VM Date: Mon, 30 Jun 2025 12:42:30 -0700 Subject: [PATCH 24/48] Library path fixes --- test/examples/1-BasicDataProduct/run.sh.in | 4 +++- test/examples/10-Archiving/run.sh.in | 5 +++-- test/examples/13-Relay/run.sh.in | 4 +++- test/examples/2-ProtobufDataProduct/run.sh.in | 4 +++- test/examples/3-MultipleDataProduct/run.sh.in | 4 +++- test/examples/4-BasicService/run.sh.in | 4 +++- test/examples/5-MiscFunctionality/run.sh.in | 4 +++- test/examples/8-ConfigFile/run.sh.in | 4 +++- test/examples/9-Domains/run.sh.in | 4 +++- 9 files changed, 27 insertions(+), 10 deletions(-) diff --git a/test/examples/1-BasicDataProduct/run.sh.in b/test/examples/1-BasicDataProduct/run.sh.in index 65eab389f..5103fbab5 100755 --- a/test/examples/1-BasicDataProduct/run.sh.in +++ b/test/examples/1-BasicDataProduct/run.sh.in @@ -24,10 +24,12 @@ ZMQ_LIB_DIR=@ZeroMQ_LIBRARY_RELEASE@ ONE_BIN_DIR=@BasicDataProduct_BINARY_DIR@ SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ #For internal builds COMP_BIN_DIR=@TOPLEVEL_INSTALL_PREFIX@/bin #For external builds +CME_LIB_DIR=@TOPLEVEL_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ +CMI_LIB_DIR=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ export PATH=$PATH:$ONE_BIN_DIR:$SD_BIN_DIR:$COMP_BIN_DIR -export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR +export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR:$CME_LIB_DIR:$CMI_LIB_DIR control_c() # run if user hits control-c diff --git a/test/examples/10-Archiving/run.sh.in b/test/examples/10-Archiving/run.sh.in index c447c57f1..69603242a 100755 --- a/test/examples/10-Archiving/run.sh.in +++ b/test/examples/10-Archiving/run.sh.in @@ -26,10 +26,11 @@ SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ ARCH_BIN_DIR=@Archiver_BINARY_DIR@ PB_BIN_DIR=@Playback_BINARY_DIR@ COMP_BIN_DIR=@TOPLEVEL_INSTALL_PREFIX@/bin #For external builds - +CME_LIB_DIR=@TOPLEVEL_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ +CMI_LIB_DIR=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ export PATH=$PATH:$TEN_BIN_DIR:$SD_BIN_DIR:$ARCH_BIN_DIR:$PB_BIN_DIR:$COMP_BIN_DIR -export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR +export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR:$CME_LIB_DIR:$CMI_LIB_DIR cleanup() # run if user hits control-c diff --git a/test/examples/13-Relay/run.sh.in b/test/examples/13-Relay/run.sh.in index cbcab33ed..a3ea4cb7e 100755 --- a/test/examples/13-Relay/run.sh.in +++ b/test/examples/13-Relay/run.sh.in @@ -25,10 +25,12 @@ SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ REL_BIN_DIR=@Relay_BINARY_DIR@ RELEX_BIN_DIR=@RelayExample_BINARY_DIR@ COMP_BIN_DIR=@TOPLEVEL_INSTALL_PREFIX@/bin #For external builds +CME_LIB_DIR=@TOPLEVEL_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ +CMI_LIB_DIR=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ export PATH=$PATH:$SD_BIN_DIR:$REL_BIN_DIR:$RELEX_BIN_DIR:$COMP_BIN_DIR -export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR +export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR:$CME_LIB_DIR:$CMI_LIB_DIR cleanup() # run if user hits control-c diff --git a/test/examples/2-ProtobufDataProduct/run.sh.in b/test/examples/2-ProtobufDataProduct/run.sh.in index a84496335..1ac5c595f 100755 --- a/test/examples/2-ProtobufDataProduct/run.sh.in +++ b/test/examples/2-ProtobufDataProduct/run.sh.in @@ -24,9 +24,11 @@ ZMQ_LIB_DIR=@ZeroMQ_LIBRARY_RELEASE@ TWO_BIN_DIR=@ProtobufDataProduct_BINARY_DIR@ SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ COMP_BIN_DIR=@TOPLEVEL_INSTALL_PREFIX@/bin #For external builds +CME_LIB_DIR=@TOPLEVEL_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ +CMI_LIB_DIR=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ export PATH=$PATH:$TWO_BIN_DIR:$SD_BIN_DIR:$COMP_BIN_DIR -export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR +export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR:$CME_LIB_DIR:$CMI_LIB_DIR control_c() # run if user hits control-c diff --git a/test/examples/3-MultipleDataProduct/run.sh.in b/test/examples/3-MultipleDataProduct/run.sh.in index f3fdd1233..849a71cb2 100755 --- a/test/examples/3-MultipleDataProduct/run.sh.in +++ b/test/examples/3-MultipleDataProduct/run.sh.in @@ -24,9 +24,11 @@ ZMQ_LIB_DIR=@ZeroMQ_LIBRARY_RELEASE@ THREE_BIN_DIR=@MultipleDataProduct_BINARY_DIR@ SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ COMP_BIN_DIR=@TOPLEVEL_INSTALL_PREFIX@/bin #For external builds +CME_LIB_DIR=@TOPLEVEL_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ +CMI_LIB_DIR=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ export PATH=$PATH:$THREE_BIN_DIR:$SD_BIN_DIR:$COMP_BIN_DIR -export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR +export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR:$CME_LIB_DIR:$CMI_LIB_DIR control_c() # run if user hits control-c diff --git a/test/examples/4-BasicService/run.sh.in b/test/examples/4-BasicService/run.sh.in index 3886934d7..60f9a7449 100755 --- a/test/examples/4-BasicService/run.sh.in +++ b/test/examples/4-BasicService/run.sh.in @@ -24,9 +24,11 @@ ZMQ_LIB_DIR=@ZeroMQ_LIBRARY_RELEASE@ FOUR_BIN_DIR=@BasicService_BINARY_DIR@ SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ COMP_BIN_DIR=@TOPLEVEL_INSTALL_PREFIX@/bin #For external builds +CME_LIB_DIR=@TOPLEVEL_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ +CMI_LIB_DIR=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ export PATH=$PATH:$SD_BIN_DIR:$FOUR_BIN_DIR:$COMP_BIN_DIR -export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR +export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR:$CME_LIB_DIR:$CMI_LIB_DIR cleanup() # run if user hits control-c diff --git a/test/examples/5-MiscFunctionality/run.sh.in b/test/examples/5-MiscFunctionality/run.sh.in index b9e4ff6e8..d8dd6c48b 100755 --- a/test/examples/5-MiscFunctionality/run.sh.in +++ b/test/examples/5-MiscFunctionality/run.sh.in @@ -24,9 +24,11 @@ ZMQ_LIB_DIR=@ZeroMQ_LIBRARY_RELEASE@ FIVE_BIN_DIR=@MiscFunctionality_BINARY_DIR@ SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ COMP_BIN_DIR=@TOPLEVEL_INSTALL_PREFIX@/bin #For external builds +CME_LIB_DIR=@TOPLEVEL_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ +CMI_LIB_DIR=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ export PATH=$PATH:$FIVE_BIN_DIR:$SD_BIN_DIR:$COMP_BIN_DIR -export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR +export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR:$CME_LIB_DIR:$CMI_LIB_DIR control_c() # run if user hits control-c diff --git a/test/examples/8-ConfigFile/run.sh.in b/test/examples/8-ConfigFile/run.sh.in index a45bf6311..5f6fa4f4c 100755 --- a/test/examples/8-ConfigFile/run.sh.in +++ b/test/examples/8-ConfigFile/run.sh.in @@ -25,9 +25,11 @@ EIGHT_BIN_DIR=@ConfigFile_BINARY_DIR@ SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ CS_BIN_DIR=@ConfigServer_BINARY_DIR@ COMP_BIN_DIR=@TOPLEVEL_INSTALL_PREFIX@/bin #For external builds +CME_LIB_DIR=@TOPLEVEL_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ +CMI_LIB_DIR=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ export PATH=$PATH:$CS_BIN_DIR:$SD_BIN_DIR:$EIGHT_BIN_DIR:$COMP_BIN_DIR -export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR +export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR:$CME_LIB_DIR:$CMI_LIB_DIR cleanup() # run if user hits control-c diff --git a/test/examples/9-Domains/run.sh.in b/test/examples/9-Domains/run.sh.in index 38857bffd..a0c9af1fe 100755 --- a/test/examples/9-Domains/run.sh.in +++ b/test/examples/9-Domains/run.sh.in @@ -24,9 +24,11 @@ ZMQ_LIB_DIR=@ZeroMQ_LIBRARY_RELEASE@ NINE_BIN_DIR=@Domains_BINARY_DIR@ SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ COMP_BIN_DIR=@TOPLEVEL_INSTALL_PREFIX@/bin #For external builds +CME_LIB_DIR=@TOPLEVEL_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ +CMI_LIB_DIR=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ export PATH=$PATH:$NINE_BIN_DIR:$SD_BIN_DIR:$COMP_BIN_DIR -export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR +export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR:$CME_LIB_DIR:$CMI_LIB_DIR cleanup() # run if user hits control-c From 8f938ef37fa014410e3bfbd221fc7547a96be11d Mon Sep 17 00:00:00 2001 From: APS VM Date: Tue, 1 Jul 2025 06:15:41 -0700 Subject: [PATCH 25/48] More python fixes for dependencies --- test/examples/11-PythonPubSub/run.sh.in | 3 ++- test/examples/12-PythonBasicService/run.sh.in | 4 ++-- test/examples/14-AnomalyDetection/detect.sh.in | 3 ++- test/examples/14-AnomalyDetection/train.sh.in | 3 ++- 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/test/examples/11-PythonPubSub/run.sh.in b/test/examples/11-PythonPubSub/run.sh.in index 04055d8df..a4e7f0e10 100755 --- a/test/examples/11-PythonPubSub/run.sh.in +++ b/test/examples/11-PythonPubSub/run.sh.in @@ -27,6 +27,7 @@ SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ CME_LIB_DIR=@TOPLEVEL_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ CMI_LIB_DIR=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ COMP_BIN_DIR=@TOPLEVEL_INSTALL_PREFIX@/bin #For external builds +ELEV_BIN_DIR=@PythonPubSub_BINARY_DIR@ if test $WITHOUT_PYTHON = OFF; @@ -34,7 +35,7 @@ then export PATH=$PATH:$SD_BIN_DIR:$COMP_BIN_DIR export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ZMQ_LIB_DIR:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR:$CME_LIB_DIR:$CMI_LIB_DIR - export PYTHONPATH=$PYTHONPATH:$CME_LIB_DIR:$CMI_LIB_DIR + export PYTHONPATH=$PYTHONPATH:$CME_LIB_DIR:$CMI_LIB_DIR:$ELEV_BIN_DIR ServiceDirectory & SDPID=$! diff --git a/test/examples/12-PythonBasicService/run.sh.in b/test/examples/12-PythonBasicService/run.sh.in index 5eeb32826..28ebeb34b 100755 --- a/test/examples/12-PythonBasicService/run.sh.in +++ b/test/examples/12-PythonBasicService/run.sh.in @@ -27,13 +27,13 @@ SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ CME_LIB_DIR=@TOPLEVEL_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ CMI_LIB_DIR=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ COMP_BIN_DIR=@TOPLEVEL_INSTALL_PREFIX@/bin #For external builds - +TWEL_BIN_DIR=@PythonBasicService_BINARY_DIR@ if test $WITHOUT_PYTHON = OFF; then export PATH=$PATH:$SD_BIN_DIR:$COMP_BIN_DIR export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ZMQ_LIB_DIR:../../../src/api/cpp:../../../src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR:$CME_LIB_DIR:$CMI_LIB_DIR - export PYTHONPATH=$CME_LIB_DIR:$CMI_LIB_DIR + export PYTHONPATH=$CME_LIB_DIR:$CMI_LIB_DIR:$TWEL_BIN_DIR ServiceDirectory & SDPID=$! diff --git a/test/examples/14-AnomalyDetection/detect.sh.in b/test/examples/14-AnomalyDetection/detect.sh.in index 9ec084725..7badc7913 100755 --- a/test/examples/14-AnomalyDetection/detect.sh.in +++ b/test/examples/14-AnomalyDetection/detect.sh.in @@ -29,13 +29,14 @@ SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ CME_LIB_DIR=@TOPLEVEL_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ CMI_LIB_DIR=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ COMP_BIN_DIR=@TOPLEVEL_INSTALL_PREFIX@/bin #For external builds +FOURT_BIN_DIR=@AnomalyDetection_BINARY_DIR@ if test $WITHOUT_PYTHON = OFF; then export PATH=$PATH:$SD_BIN_DIR:$COMP_BIN_DIR export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ZMQ_LIB_DIR:$GRAVITY_ROOT/src/api/cpp:$GRAVITY_ROOT/src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR:$CME_LIB_DIR:$CMI_LIB_DIR - export PYTHONPATH=$PYTHONPATH:$CME_LIB_DIR:$CMI_LIB_DIR + export PYTHONPATH=$PYTHONPATH:$CME_LIB_DIR:$CMI_LIB_DIR:$FOURT_BIN_DIR protoc --proto_path=. --python_out=. DataPoint.proto || exit diff --git a/test/examples/14-AnomalyDetection/train.sh.in b/test/examples/14-AnomalyDetection/train.sh.in index 41c7f2c2c..b37630bd3 100755 --- a/test/examples/14-AnomalyDetection/train.sh.in +++ b/test/examples/14-AnomalyDetection/train.sh.in @@ -29,6 +29,7 @@ SD_BIN_DIR=@ServiceDirectory_BINARY_DIR@ CME_LIB_DIR=@TOPLEVEL_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ CMI_LIB_DIR=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ COMP_BIN_DIR=@TOPLEVEL_INSTALL_PREFIX@/bin #For external builds +FOURT_BIN_DIR=@AnomalyDetection_BINARY_DIR@ if test $WITHOUT_PYTHON = OFF; @@ -36,7 +37,7 @@ then export PATH=$PATH:$SD_BIN_DIR:$COMP_BIN_DIR export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ZMQ_LIB_DIR:$GRAVITY_ROOT/src/api/cpp:$GRAVITY_ROOT/src/keyvalue_parser:$ZMQ_LIB_DIR:$PROTOBUF_LIB_DIR:$CME_LIB_DIR:$CMI_LIB_DIR - export PYTHONPATH=$PYTHONPATH:$CME_LIB_DIR:$CMI_LIB_DIR + export PYTHONPATH=$PYTHONPATH:$CME_LIB_DIR:$CMI_LIB_DIR:$FOURT_BIN_DIR protoc --proto_path=. --python_out=. DataPoint.proto || exit From 0164812ef6a7774faa404b307ff5e4d92c00ee31 Mon Sep 17 00:00:00 2001 From: APS VM Date: Tue, 1 Jul 2025 08:39:32 -0700 Subject: [PATCH 26/48] ignores unnecessary files now --- test/examples/.gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/test/examples/.gitignore b/test/examples/.gitignore index ee49dfbbc..c75dbb4c4 100644 --- a/test/examples/.gitignore +++ b/test/examples/.gitignore @@ -1,3 +1,5 @@ run.sh cmake_build bin +*Debug.bat +*Release.bat From c084efd30d23601c0b8a1888ab57f832fcfc0d75 Mon Sep 17 00:00:00 2001 From: APS VM Date: Wed, 2 Jul 2025 06:24:48 -0700 Subject: [PATCH 27/48] Removed clutter from top level --- CMakeLists.txt | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ee44ff3e5..41d3556dc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -17,7 +17,6 @@ option(SKIP_PYTHON "Skip building Gravity Python wrapper") set(JAVA_HOME "" CACHE PATH "Path to JDK to use") set(Protobuf_SRC_ROOT_FOLDER "" CACHE PATH "Path to Protobuf source build") set(ZMQ_HOME "" CACHE PATH "Path to your local ZeroMQ installation") -#set(JAVA_PROTOBUF_JAR "" CACHE FILEPATH "Location of outside protobuf jar file") get_filename_component(ABS_CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}" ABSOLUTE BASE_DIR "${CMAKE_BINARY_DIR}") string(REPLACE "\"" "" ABS_CMAKE_INSTALL_PREFIX "${ABS_CMAKE_INSTALL_PREFIX}") @@ -157,6 +156,7 @@ set(GRAVITY_USING_EXTERNAL_PROTOBUF) if (Protobuf_FOUND AND NOT GRAVITY_USE_EXTERNAL_PROTOBUF) message(STATUS "Using local protobuf libraries") + else() message(STATUS "Using external protobuf build") set(GRAVITY_USING_EXTERNAL_PROTOBUF ON) @@ -255,9 +255,6 @@ elseif(NOT Protobuf_FOUND) -DGRAVITY_USE_EXTERNAL_PROTOBUF=${GRAVITY_USE_EXTERNAL_PROTOBUF} -DGRAVITY_USE_EXTERNAL_ZEROMQ=${GRAVITY_USE_EXTERNAL_ZEROMQ} -Dprotobuf_MODULE_COMPATIBLE=ON - -DPython_EXECUTABLE=${Python_EXECUTABLE} - -DPython_LIBRARY=${Python_LIBRARY} - -DPython_INCLUDE_DIR=${Python_INCLUDE_DIR} -DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH_ALT_SEP} ) list(APPEND depends py-protobufs-external) @@ -326,9 +323,6 @@ else() -DSKIP_PYTHON=${SKIP_PYTHON} -DProtobuf_SRC_ROOT_FOLDER=${Protobuf_SRC_ROOT_FOLDER} -Dprotobuf_MODULE_COMPATIBLE=ON - -DPython_EXECUTABLE=${Python_EXECUTABLE} - -DPython_LIBRARY=${Python_LIBRARY} - -DPython_INCLUDE_DIR=${Python_INCLUDE_DIR} -DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH_ALT_SEP} -DPThreadsWin32_INSTALL_DIR=${CMAKE_INSTALL_PREFIX} INSTALL_COMMAND "" From 5f6b3be982436a78cb49d69c1ae41f65903d744f Mon Sep 17 00:00:00 2001 From: flinker Date: Thu, 31 Jul 2025 08:11:50 -0700 Subject: [PATCH 28/48] Java protobuf jar default path set --- CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 41d3556dc..666057e6b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -17,6 +17,7 @@ option(SKIP_PYTHON "Skip building Gravity Python wrapper") set(JAVA_HOME "" CACHE PATH "Path to JDK to use") set(Protobuf_SRC_ROOT_FOLDER "" CACHE PATH "Path to Protobuf source build") set(ZMQ_HOME "" CACHE PATH "Path to your local ZeroMQ installation") +set(JAVA_PROTOBUF_JAR "/usr/share/java/protobuf.jar" CACHE PATH "Location of protobuf jar file") get_filename_component(ABS_CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}" ABSOLUTE BASE_DIR "${CMAKE_BINARY_DIR}") string(REPLACE "\"" "" ABS_CMAKE_INSTALL_PREFIX "${ABS_CMAKE_INSTALL_PREFIX}") From bccfb0b7e2eaa04d12ef2ef9c8837856930f98f4 Mon Sep 17 00:00:00 2001 From: flinker Date: Thu, 31 Jul 2025 09:14:53 -0700 Subject: [PATCH 29/48] Example 14 cmakelists modified --- test/examples/14-AnomalyDetection/CMakeLists.txt | 7 ------- 1 file changed, 7 deletions(-) diff --git a/test/examples/14-AnomalyDetection/CMakeLists.txt b/test/examples/14-AnomalyDetection/CMakeLists.txt index ee13432ba..fd15e65c7 100644 --- a/test/examples/14-AnomalyDetection/CMakeLists.txt +++ b/test/examples/14-AnomalyDetection/CMakeLists.txt @@ -17,13 +17,6 @@ set(PY_EXEC python3) if (WIN32) set(PY_EXEC python) endif() -add_test(NAME pybasicservice COMMAND ${PY_EXEC} requestor.py WORKING_DIRECTORY "${CMAKE_CURRENT_LIST_DIR}") -set_property(TEST pybasicservice PROPERTY ENVIRONMENT_MODIFICATION - "LD_LIBRARY_PATH=path_list_prepend:${ABS_GRAVITY_ROOT}/${CMAKE_INSTALL_LIBDIR}" - "PATH=path_list_prepend:${ABS_GRAVITY_ROOT}/${CMAKE_INSTALL_BINDIR}" - "PYTHONPATH=path_list_prepend:${CMAKE_CURRENT_BINARY_DIR}" - "PYTHONPATH=path_list_prepend:${ABS_GRAVITY_ROOT}/${CMAKE_INSTALL_LIBDIR}" -) configure_file(train.sh.in ${AnomalyDetection_SOURCE_DIR}/train.sh) configure_file(detect.sh.in ${AnomalyDetection_SOURCE_DIR}/detect.sh) From ba99c3766a56da343e438878977530c69363026d Mon Sep 17 00:00:00 2001 From: flinker Date: Thu, 31 Jul 2025 14:00:22 -0700 Subject: [PATCH 30/48] Alma build fix attempt 1 --- test/examples/6-JavaProtobufDataProduct/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt b/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt index b251426d0..03c0809ea 100644 --- a/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt +++ b/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt @@ -8,7 +8,7 @@ find_package(Gravity QUIET) set(LOCAL_PROTOBUF_JAR) if (Protobuf_SRC_ROOT_FOLDER) - set(LOCAL_PROTOBUF_JAR "${Protobuf_SRC_ROOT_FOLDER}/java/core/target/protobuf-java-${Protobuf_VERSION}.jar") + set(LOCAL_PROTOBUF_JAR "${Protobuf_SRC_ROOT_FOLDER}/java/target/protobuf-java-${Protobuf_VERSION}.jar") endif() #Need prefix path here because build/install gets created at the end of the build process, and doesn't exist yet when this gets built set(PUBLIC_JAR "${CMAKE_PREFIX_PATH}/lib/protobuf-java.jar" "${JAVA_PROTOBUF_JAR}" "${LOCAL_PROTOBUF_JAR}" CACHE ON STRING) From 14b257c9c1e35a468aa8e6493a6adc1bf3adf97a Mon Sep 17 00:00:00 2001 From: flinker Date: Thu, 31 Jul 2025 14:07:24 -0700 Subject: [PATCH 31/48] Attempt 2 --- .../6-JavaProtobufDataProduct/CMakeLists.txt | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt b/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt index 03c0809ea..2de9d26ab 100644 --- a/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt +++ b/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt @@ -7,9 +7,9 @@ include(GravitySupport) find_package(Gravity QUIET) set(LOCAL_PROTOBUF_JAR) -if (Protobuf_SRC_ROOT_FOLDER) - set(LOCAL_PROTOBUF_JAR "${Protobuf_SRC_ROOT_FOLDER}/java/target/protobuf-java-${Protobuf_VERSION}.jar") -endif() +#if (Protobuf_SRC_ROOT_FOLDER) +#set(LOCAL_PROTOBUF_JAR "${Protobuf_SRC_ROOT_FOLDER}/java/target/protobuf-java-${Protobuf_VERSION}.jar") +#endif() #Need prefix path here because build/install gets created at the end of the build process, and doesn't exist yet when this gets built set(PUBLIC_JAR "${CMAKE_PREFIX_PATH}/lib/protobuf-java.jar" "${JAVA_PROTOBUF_JAR}" "${LOCAL_PROTOBUF_JAR}" CACHE ON STRING) list(JOIN PUBLIC_JAR ":" PUBLIC_JAR_CACHE) @@ -23,10 +23,10 @@ gravity_protobuf_generate(APPEND_PATH LANGUAGE java PROTOC_OUT_DIR "${CMAKE_CURR add_custom_target(${PROJECT_NAME}_protos ALL DEPENDS ${PROTO_SRCS}) -if(WIN32) - set(CMAKE_JAVA_INCLUDE_PATH ${PUBLIC_JAR}) #Takes semicolons as dividers -else() - set(CMAKE_JAVA_INCLUDE_PATH ${PUBLIC_JAR_CACHE}) #Linux takes colons as dividers +#if(WIN32) +# set(CMAKE_JAVA_INCLUDE_PATH ${PUBLIC_JAR}) #Takes semicolons as dividers +#else() +# set(CMAKE_JAVA_INCLUDE_PATH ${PUBLIC_JAR_CACHE}) #Linux takes colons as dividers endif() string(APPEND CMAKE_JAVA_INCLUDE_PATH_FINAL_RELEASE "${_UseJava_PATH_SEP}${ABS_GRAVITY_ROOT}/${CMAKE_INSTALL_LIBDIR}/gravity.jar${_UseJava_PATH_SEP}${CMAKE_BINARY_DIR}/src/api/java/gravity.jar") string(APPEND CMAKE_JAVA_INCLUDE_PATH_FINAL_DEBUG "${_UseJava_PATH_SEP}${ABS_GRAVITY_ROOT}/${CMAKE_INSTALL_LIBDIR}/gravity${CMAKE_DEBUG_POSTFIX}.jar${_UseJava_PATH_SEP}${CMAKE_BINARY_DIR}/src/api/java/gravity${CMAKE_DEBUG_POSTFIX}.jar") From a03eb9db23ec4a79a9fc540f82f7077920fc2d3b Mon Sep 17 00:00:00 2001 From: flinker Date: Thu, 31 Jul 2025 14:09:21 -0700 Subject: [PATCH 32/48] 2AAA --- test/examples/6-JavaProtobufDataProduct/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt b/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt index 2de9d26ab..e7e158c10 100644 --- a/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt +++ b/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt @@ -27,7 +27,7 @@ add_custom_target(${PROJECT_NAME}_protos ALL DEPENDS ${PROTO_SRCS}) # set(CMAKE_JAVA_INCLUDE_PATH ${PUBLIC_JAR}) #Takes semicolons as dividers #else() # set(CMAKE_JAVA_INCLUDE_PATH ${PUBLIC_JAR_CACHE}) #Linux takes colons as dividers -endif() +#endif() string(APPEND CMAKE_JAVA_INCLUDE_PATH_FINAL_RELEASE "${_UseJava_PATH_SEP}${ABS_GRAVITY_ROOT}/${CMAKE_INSTALL_LIBDIR}/gravity.jar${_UseJava_PATH_SEP}${CMAKE_BINARY_DIR}/src/api/java/gravity.jar") string(APPEND CMAKE_JAVA_INCLUDE_PATH_FINAL_DEBUG "${_UseJava_PATH_SEP}${ABS_GRAVITY_ROOT}/${CMAKE_INSTALL_LIBDIR}/gravity${CMAKE_DEBUG_POSTFIX}.jar${_UseJava_PATH_SEP}${CMAKE_BINARY_DIR}/src/api/java/gravity${CMAKE_DEBUG_POSTFIX}.jar") message(STATUS "CMAKE_JAVA_INCLUDE_PATH_FINAL_DEBUG: ${CMAKE_JAVA_INCLUDE_PATH_FINAL_DEBUG}") From 67453fce03f7e32ae8bb5e274764546bc10f487c Mon Sep 17 00:00:00 2001 From: flinker Date: Thu, 31 Jul 2025 14:18:25 -0700 Subject: [PATCH 33/48] attempt 3 --- .../6-JavaProtobufDataProduct/CMakeLists.txt | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt b/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt index e7e158c10..752d2b849 100644 --- a/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt +++ b/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt @@ -6,12 +6,11 @@ include(GravitySupport) find_package(Gravity QUIET) -set(LOCAL_PROTOBUF_JAR) -#if (Protobuf_SRC_ROOT_FOLDER) -#set(LOCAL_PROTOBUF_JAR "${Protobuf_SRC_ROOT_FOLDER}/java/target/protobuf-java-${Protobuf_VERSION}.jar") -#endif() +if (Protobuf_SRC_ROOT_FOLDER) + set(LOCAL_PROTOBUF_JAR "${Protobuf_SRC_ROOT_FOLDER}/java/target/protobuf-java-${Protobuf_VERSION}.jar") +endif() #Need prefix path here because build/install gets created at the end of the build process, and doesn't exist yet when this gets built -set(PUBLIC_JAR "${CMAKE_PREFIX_PATH}/lib/protobuf-java.jar" "${JAVA_PROTOBUF_JAR}" "${LOCAL_PROTOBUF_JAR}" CACHE ON STRING) +set(PUBLIC_JAR "${JAVA_PROTOBUF_JAR}" "${LOCAL_PROTOBUF_JAR}" CACHE ON STRING) list(JOIN PUBLIC_JAR ":" PUBLIC_JAR_CACHE) set(PUBLIC_JAR_CACHE ${PUBLIC_JAR_CACHE} CACHE ON STRING) find_package(GravityJava REQUIRED) @@ -23,10 +22,10 @@ gravity_protobuf_generate(APPEND_PATH LANGUAGE java PROTOC_OUT_DIR "${CMAKE_CURR add_custom_target(${PROJECT_NAME}_protos ALL DEPENDS ${PROTO_SRCS}) -#if(WIN32) -# set(CMAKE_JAVA_INCLUDE_PATH ${PUBLIC_JAR}) #Takes semicolons as dividers -#else() -# set(CMAKE_JAVA_INCLUDE_PATH ${PUBLIC_JAR_CACHE}) #Linux takes colons as dividers +if(WIN32) + set(CMAKE_JAVA_INCLUDE_PATH ${PUBLIC_JAR}) #Takes semicolons as dividers +else() + set(CMAKE_JAVA_INCLUDE_PATH ${PUBLIC_JAR_CACHE}) #Linux takes colons as dividers #endif() string(APPEND CMAKE_JAVA_INCLUDE_PATH_FINAL_RELEASE "${_UseJava_PATH_SEP}${ABS_GRAVITY_ROOT}/${CMAKE_INSTALL_LIBDIR}/gravity.jar${_UseJava_PATH_SEP}${CMAKE_BINARY_DIR}/src/api/java/gravity.jar") string(APPEND CMAKE_JAVA_INCLUDE_PATH_FINAL_DEBUG "${_UseJava_PATH_SEP}${ABS_GRAVITY_ROOT}/${CMAKE_INSTALL_LIBDIR}/gravity${CMAKE_DEBUG_POSTFIX}.jar${_UseJava_PATH_SEP}${CMAKE_BINARY_DIR}/src/api/java/gravity${CMAKE_DEBUG_POSTFIX}.jar") From 239b029a4e313f0a8beafbebf2fa33aa47088ae5 Mon Sep 17 00:00:00 2001 From: flinker Date: Thu, 31 Jul 2025 14:20:21 -0700 Subject: [PATCH 34/48] 3A --- test/examples/6-JavaProtobufDataProduct/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt b/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt index 752d2b849..9a6c9f89b 100644 --- a/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt +++ b/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt @@ -26,7 +26,7 @@ if(WIN32) set(CMAKE_JAVA_INCLUDE_PATH ${PUBLIC_JAR}) #Takes semicolons as dividers else() set(CMAKE_JAVA_INCLUDE_PATH ${PUBLIC_JAR_CACHE}) #Linux takes colons as dividers -#endif() +endif() string(APPEND CMAKE_JAVA_INCLUDE_PATH_FINAL_RELEASE "${_UseJava_PATH_SEP}${ABS_GRAVITY_ROOT}/${CMAKE_INSTALL_LIBDIR}/gravity.jar${_UseJava_PATH_SEP}${CMAKE_BINARY_DIR}/src/api/java/gravity.jar") string(APPEND CMAKE_JAVA_INCLUDE_PATH_FINAL_DEBUG "${_UseJava_PATH_SEP}${ABS_GRAVITY_ROOT}/${CMAKE_INSTALL_LIBDIR}/gravity${CMAKE_DEBUG_POSTFIX}.jar${_UseJava_PATH_SEP}${CMAKE_BINARY_DIR}/src/api/java/gravity${CMAKE_DEBUG_POSTFIX}.jar") message(STATUS "CMAKE_JAVA_INCLUDE_PATH_FINAL_DEBUG: ${CMAKE_JAVA_INCLUDE_PATH_FINAL_DEBUG}") From 464de4ef51e262644922679d0272e78e7cf8fa0f Mon Sep 17 00:00:00 2001 From: flinker Date: Thu, 31 Jul 2025 14:28:53 -0700 Subject: [PATCH 35/48] 3C --- test/examples/6-JavaProtobufDataProduct/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt b/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt index 9a6c9f89b..46403f9bd 100644 --- a/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt +++ b/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt @@ -10,7 +10,7 @@ if (Protobuf_SRC_ROOT_FOLDER) set(LOCAL_PROTOBUF_JAR "${Protobuf_SRC_ROOT_FOLDER}/java/target/protobuf-java-${Protobuf_VERSION}.jar") endif() #Need prefix path here because build/install gets created at the end of the build process, and doesn't exist yet when this gets built -set(PUBLIC_JAR "${JAVA_PROTOBUF_JAR}" "${LOCAL_PROTOBUF_JAR}" CACHE ON STRING) +set(PUBLIC_JAR "${CMAKE_PREFIX_PATH}/lib/protobuf-java.jar" "${JAVA_PROTOBUF_JAR}" "${LOCAL_PROTOBUF_JAR}" CACHE ON STRING) list(JOIN PUBLIC_JAR ":" PUBLIC_JAR_CACHE) set(PUBLIC_JAR_CACHE ${PUBLIC_JAR_CACHE} CACHE ON STRING) find_package(GravityJava REQUIRED) From e24f5d77073c81f604f64251a1f3d200cbb6d108 Mon Sep 17 00:00:00 2001 From: flinker Date: Thu, 31 Jul 2025 14:45:42 -0700 Subject: [PATCH 36/48] 4 --- .../6-JavaProtobufDataProduct/CMakeLists.txt | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt b/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt index 46403f9bd..4af0fe587 100644 --- a/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt +++ b/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt @@ -10,9 +10,9 @@ if (Protobuf_SRC_ROOT_FOLDER) set(LOCAL_PROTOBUF_JAR "${Protobuf_SRC_ROOT_FOLDER}/java/target/protobuf-java-${Protobuf_VERSION}.jar") endif() #Need prefix path here because build/install gets created at the end of the build process, and doesn't exist yet when this gets built -set(PUBLIC_JAR "${CMAKE_PREFIX_PATH}/lib/protobuf-java.jar" "${JAVA_PROTOBUF_JAR}" "${LOCAL_PROTOBUF_JAR}" CACHE ON STRING) -list(JOIN PUBLIC_JAR ":" PUBLIC_JAR_CACHE) -set(PUBLIC_JAR_CACHE ${PUBLIC_JAR_CACHE} CACHE ON STRING) +set(PUBLIC_JAR "/usr/share/java/protobuf.java" "${LOCAL_PROTOBUF_JAR}") +#list(JOIN PUBLIC_JAR ":" PUBLIC_JAR_CACHE) +#set(PUBLIC_JAR_CACHE ${PUBLIC_JAR_CACHE} CACHE ON STRING) find_package(GravityJava REQUIRED) include(UseJava) @@ -22,11 +22,11 @@ gravity_protobuf_generate(APPEND_PATH LANGUAGE java PROTOC_OUT_DIR "${CMAKE_CURR add_custom_target(${PROJECT_NAME}_protos ALL DEPENDS ${PROTO_SRCS}) -if(WIN32) - set(CMAKE_JAVA_INCLUDE_PATH ${PUBLIC_JAR}) #Takes semicolons as dividers -else() +#if(WIN32) +#set(CMAKE_JAVA_INCLUDE_PATH ${PUBLIC_JAR}) #Takes semicolons as dividers +#else() set(CMAKE_JAVA_INCLUDE_PATH ${PUBLIC_JAR_CACHE}) #Linux takes colons as dividers -endif() + #endif() string(APPEND CMAKE_JAVA_INCLUDE_PATH_FINAL_RELEASE "${_UseJava_PATH_SEP}${ABS_GRAVITY_ROOT}/${CMAKE_INSTALL_LIBDIR}/gravity.jar${_UseJava_PATH_SEP}${CMAKE_BINARY_DIR}/src/api/java/gravity.jar") string(APPEND CMAKE_JAVA_INCLUDE_PATH_FINAL_DEBUG "${_UseJava_PATH_SEP}${ABS_GRAVITY_ROOT}/${CMAKE_INSTALL_LIBDIR}/gravity${CMAKE_DEBUG_POSTFIX}.jar${_UseJava_PATH_SEP}${CMAKE_BINARY_DIR}/src/api/java/gravity${CMAKE_DEBUG_POSTFIX}.jar") message(STATUS "CMAKE_JAVA_INCLUDE_PATH_FINAL_DEBUG: ${CMAKE_JAVA_INCLUDE_PATH_FINAL_DEBUG}") @@ -39,8 +39,8 @@ if (WIN32) get_target_property(Protobuf_LIBRARY_RELEASE protobuf::libprotobuf LOCATION_RELEASE) get_filename_component(LOCAL_PROTOBUF_RUNTIME_DIR "${Protobuf_LIBRARY_RELEASE}" DIRECTORY) - configure_file("${CMAKE_CURRENT_LIST_DIR}/RunJavaProtobufDataProductDebug.bat.in" "${CMAKE_BINARY_DIR}/RunJavaProtobufDataProductDebug.bat" @ONLY) - configure_file("${CMAKE_CURRENT_LIST_DIR}/RunJavaProtobufDataProductRelease.bat.in" "${CMAKE_BINARY_DIR}/RunJavaProtobufDataProductRelease.bat" @ONLY) + # configure_file("${CMAKE_CURRENT_LIST_DIR}/RunJavaProtobufDataProductDebug.bat.in" "${CMAKE_BINARY_DIR}/RunJavaProtobufDataProductDebug.bat" @ONLY) + #configure_file("${CMAKE_CURRENT_LIST_DIR}/RunJavaProtobufDataProductRelease.bat.in" "${CMAKE_BINARY_DIR}/RunJavaProtobufDataProductRelease.bat" @ONLY) endif() @@ -67,5 +67,5 @@ if (WIN32) endif() configure_file(run.sh.in ${JavaProtobufDataProduct_SOURCE_DIR}/run.sh) -configure_file(RunJavaProtobufDataProductDebug.bat.in ${JavaProtobufDataProduct_SOURCE_DIR}/RunJavaProtobufDataProductDebug.bat) -configure_file(RunJavaProtobufDataProductRelease.bat.in ${JavaProtobufDataProduct_SOURCE_DIR}/RunJavaProtobufDataProductRelease.bat) +#configure_file(RunJavaProtobufDataProductDebug.bat.in ${JavaProtobufDataProduct_SOURCE_DIR}/RunJavaProtobufDataProductDebug.bat) +#configure_file(RunJavaProtobufDataProductRelease.bat.in ${JavaProtobufDataProduct_SOURCE_DIR}/RunJavaProtobufDataProductRelease.bat) From 39bb30fd8934cdd6dd9b3bb4810e0f95d1164991 Mon Sep 17 00:00:00 2001 From: flinker Date: Thu, 31 Jul 2025 14:52:15 -0700 Subject: [PATCH 37/48] 4B --- test/examples/6-JavaProtobufDataProduct/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt b/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt index 4af0fe587..8ba1a44f7 100644 --- a/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt +++ b/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt @@ -10,7 +10,7 @@ if (Protobuf_SRC_ROOT_FOLDER) set(LOCAL_PROTOBUF_JAR "${Protobuf_SRC_ROOT_FOLDER}/java/target/protobuf-java-${Protobuf_VERSION}.jar") endif() #Need prefix path here because build/install gets created at the end of the build process, and doesn't exist yet when this gets built -set(PUBLIC_JAR "/usr/share/java/protobuf.java" "${LOCAL_PROTOBUF_JAR}") +set(PUBLIC_JAR "/usr/share/java/protobuf.jar" "${LOCAL_PROTOBUF_JAR}") #list(JOIN PUBLIC_JAR ":" PUBLIC_JAR_CACHE) #set(PUBLIC_JAR_CACHE ${PUBLIC_JAR_CACHE} CACHE ON STRING) find_package(GravityJava REQUIRED) From 8edb453b2960f565d75d51400098829ff90662ed Mon Sep 17 00:00:00 2001 From: flinker Date: Thu, 31 Jul 2025 14:57:56 -0700 Subject: [PATCH 38/48] 4C --- test/examples/6-JavaProtobufDataProduct/CMakeLists.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt b/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt index 8ba1a44f7..9d256c005 100644 --- a/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt +++ b/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt @@ -10,7 +10,7 @@ if (Protobuf_SRC_ROOT_FOLDER) set(LOCAL_PROTOBUF_JAR "${Protobuf_SRC_ROOT_FOLDER}/java/target/protobuf-java-${Protobuf_VERSION}.jar") endif() #Need prefix path here because build/install gets created at the end of the build process, and doesn't exist yet when this gets built -set(PUBLIC_JAR "/usr/share/java/protobuf.jar" "${LOCAL_PROTOBUF_JAR}") +set(PUBLIC_JAR "${JAVA_PROTOBUF_JAR}" "${LOCAL_PROTOBUF_JAR}") #list(JOIN PUBLIC_JAR ":" PUBLIC_JAR_CACHE) #set(PUBLIC_JAR_CACHE ${PUBLIC_JAR_CACHE} CACHE ON STRING) find_package(GravityJava REQUIRED) @@ -23,9 +23,9 @@ gravity_protobuf_generate(APPEND_PATH LANGUAGE java PROTOC_OUT_DIR "${CMAKE_CURR add_custom_target(${PROJECT_NAME}_protos ALL DEPENDS ${PROTO_SRCS}) #if(WIN32) -#set(CMAKE_JAVA_INCLUDE_PATH ${PUBLIC_JAR}) #Takes semicolons as dividers +set(CMAKE_JAVA_INCLUDE_PATH ${PUBLIC_JAR}) #Takes semicolons as dividers #else() - set(CMAKE_JAVA_INCLUDE_PATH ${PUBLIC_JAR_CACHE}) #Linux takes colons as dividers +#set(CMAKE_JAVA_INCLUDE_PATH ${PUBLIC_JAR_CACHE}) #Linux takes colons as dividers #endif() string(APPEND CMAKE_JAVA_INCLUDE_PATH_FINAL_RELEASE "${_UseJava_PATH_SEP}${ABS_GRAVITY_ROOT}/${CMAKE_INSTALL_LIBDIR}/gravity.jar${_UseJava_PATH_SEP}${CMAKE_BINARY_DIR}/src/api/java/gravity.jar") string(APPEND CMAKE_JAVA_INCLUDE_PATH_FINAL_DEBUG "${_UseJava_PATH_SEP}${ABS_GRAVITY_ROOT}/${CMAKE_INSTALL_LIBDIR}/gravity${CMAKE_DEBUG_POSTFIX}.jar${_UseJava_PATH_SEP}${CMAKE_BINARY_DIR}/src/api/java/gravity${CMAKE_DEBUG_POSTFIX}.jar") From a0dc6f68e76dcd601fd2913ed04e4e9bb5d260c8 Mon Sep 17 00:00:00 2001 From: flinker Date: Thu, 31 Jul 2025 15:08:17 -0700 Subject: [PATCH 39/48] 5 --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 666057e6b..0c5ada25c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -17,7 +17,7 @@ option(SKIP_PYTHON "Skip building Gravity Python wrapper") set(JAVA_HOME "" CACHE PATH "Path to JDK to use") set(Protobuf_SRC_ROOT_FOLDER "" CACHE PATH "Path to Protobuf source build") set(ZMQ_HOME "" CACHE PATH "Path to your local ZeroMQ installation") -set(JAVA_PROTOBUF_JAR "/usr/share/java/protobuf.jar" CACHE PATH "Location of protobuf jar file") +#set(JAVA_PROTOBUF_JAR "/usr/share/java/protobuf.jar" CACHE PATH "Location of protobuf jar file") get_filename_component(ABS_CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}" ABSOLUTE BASE_DIR "${CMAKE_BINARY_DIR}") string(REPLACE "\"" "" ABS_CMAKE_INSTALL_PREFIX "${ABS_CMAKE_INSTALL_PREFIX}") From 4b6e99b5019d87e358472ef59f64dca1018c3b5b Mon Sep 17 00:00:00 2001 From: flinker Date: Thu, 31 Jul 2025 15:10:42 -0700 Subject: [PATCH 40/48] 5B --- test/examples/6-JavaProtobufDataProduct/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt b/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt index 9d256c005..5c467ecae 100644 --- a/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt +++ b/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt @@ -10,7 +10,7 @@ if (Protobuf_SRC_ROOT_FOLDER) set(LOCAL_PROTOBUF_JAR "${Protobuf_SRC_ROOT_FOLDER}/java/target/protobuf-java-${Protobuf_VERSION}.jar") endif() #Need prefix path here because build/install gets created at the end of the build process, and doesn't exist yet when this gets built -set(PUBLIC_JAR "${JAVA_PROTOBUF_JAR}" "${LOCAL_PROTOBUF_JAR}") +set(PUBLIC_JAR "/usr/share/java/protobuf.jar" "${LOCAL_PROTOBUF_JAR}") #list(JOIN PUBLIC_JAR ":" PUBLIC_JAR_CACHE) #set(PUBLIC_JAR_CACHE ${PUBLIC_JAR_CACHE} CACHE ON STRING) find_package(GravityJava REQUIRED) From 5ac9cee15809c2405bad1452466565358403e5be Mon Sep 17 00:00:00 2001 From: flinker Date: Thu, 31 Jul 2025 15:24:59 -0700 Subject: [PATCH 41/48] 6 --- src/api/java/CMakeLists.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/api/java/CMakeLists.txt b/src/api/java/CMakeLists.txt index ecd8a21fa..875fb1ec5 100644 --- a/src/api/java/CMakeLists.txt +++ b/src/api/java/CMakeLists.txt @@ -8,7 +8,8 @@ include(UseJava) gravity_find_protobuf(ON) # TODO check GRAVITY_USING_EXTERNAL_PROTOBUF -set(PUBLIC_JAR "${JAVA_PROTOBUF_JAR}" "${Protobuf_SRC_ROOT_FOLDER}/java/core/target/protobuf-java-${Protobuf_VERSION}.jar") +set(PUBLIC_JAR "/usr/share/java/protobuf.jar" "${Protobuf_SRC_ROOT_FOLDER}/java/core/target/protobuf-java-${Protobuf_VERSION}.jar") +#set(PUBLIC_JAR "${JAVA_PROTOBUF_JAR}" "${Protobuf_SRC_ROOT_FOLDER}/java/core/target/protobuf-java-${Protobuf_VERSION}.jar") set(CMAKE_JAVA_INCLUDE_PATH "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/protobuf-java.jar" ${PUBLIC_JAR}) From ecbd4b78c2149c23437fd73f36363d37ab387fea Mon Sep 17 00:00:00 2001 From: flinker Date: Thu, 31 Jul 2025 15:33:59 -0700 Subject: [PATCH 42/48] 5c --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0c5ada25c..a2fe1e5bd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -315,8 +315,8 @@ else() CMAKE_ARGS -DGRAVITY_ROOT=${PUBLIC_STAGING_DIR} -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/test/examples - -DTOPLEVEL_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} - -DEXTERNAL_JAVA_JAR=${protobufs-java_BINARY_DIR} + #-DTOPLEVEL_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} + #-DEXTERNAL_JAVA_JAR=${protobufs-java_BINARY_DIR} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DCMAKE_MODULE_PATH=${CMAKE_MODULE_PATH} -DSKIP_JAVA=${SKIP_JAVA} From 51fb6c2eac96523f8551e301d108bf974f08bdc5 Mon Sep 17 00:00:00 2001 From: flinker Date: Thu, 31 Jul 2025 15:52:41 -0700 Subject: [PATCH 43/48] 6 --- src/api/java/CMakeLists.txt | 2 +- test/examples/6-JavaProtobufDataProduct/CMakeLists.txt | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/api/java/CMakeLists.txt b/src/api/java/CMakeLists.txt index 875fb1ec5..b464804c7 100644 --- a/src/api/java/CMakeLists.txt +++ b/src/api/java/CMakeLists.txt @@ -8,7 +8,7 @@ include(UseJava) gravity_find_protobuf(ON) # TODO check GRAVITY_USING_EXTERNAL_PROTOBUF -set(PUBLIC_JAR "/usr/share/java/protobuf.jar" "${Protobuf_SRC_ROOT_FOLDER}/java/core/target/protobuf-java-${Protobuf_VERSION}.jar") +set(PUBLIC_JAR "/usr/share/java/protobuf.jar" "${Protobuf_SRC_ROOT_FOLDER}/java/target/protobuf-java-${Protobuf_VERSION}.jar") #set(PUBLIC_JAR "${JAVA_PROTOBUF_JAR}" "${Protobuf_SRC_ROOT_FOLDER}/java/core/target/protobuf-java-${Protobuf_VERSION}.jar") set(CMAKE_JAVA_INCLUDE_PATH "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/protobuf-java.jar" ${PUBLIC_JAR}) diff --git a/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt b/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt index 5c467ecae..76bb5a23a 100644 --- a/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt +++ b/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt @@ -6,6 +6,7 @@ include(GravitySupport) find_package(Gravity QUIET) +set(LOCAL_PROTOBUF_JAR) if (Protobuf_SRC_ROOT_FOLDER) set(LOCAL_PROTOBUF_JAR "${Protobuf_SRC_ROOT_FOLDER}/java/target/protobuf-java-${Protobuf_VERSION}.jar") endif() @@ -22,8 +23,9 @@ gravity_protobuf_generate(APPEND_PATH LANGUAGE java PROTOC_OUT_DIR "${CMAKE_CURR add_custom_target(${PROJECT_NAME}_protos ALL DEPENDS ${PROTO_SRCS}) +set(CMAKE_JAVA_INCLUDE_PATH "${ABS_GRAVITY_ROOT}/${CMAKE_INSTALL_LIBDIR}/protobuf-java.jar" ${PUBLIC_JAR}) #if(WIN32) -set(CMAKE_JAVA_INCLUDE_PATH ${PUBLIC_JAR}) #Takes semicolons as dividers +#set(CMAKE_JAVA_INCLUDE_PATH ${PUBLIC_JAR}) #Takes semicolons as dividers #else() #set(CMAKE_JAVA_INCLUDE_PATH ${PUBLIC_JAR_CACHE}) #Linux takes colons as dividers #endif() From e1f31ac85fc2564cca9e63db938fdd404cbe8041 Mon Sep 17 00:00:00 2001 From: flinker Date: Thu, 31 Jul 2025 16:06:12 -0700 Subject: [PATCH 44/48] 7 --- CMakeLists.txt | 6 +++--- src/api/java/CMakeLists.txt | 4 ++-- test/examples/6-JavaProtobufDataProduct/CMakeLists.txt | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a2fe1e5bd..666057e6b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -17,7 +17,7 @@ option(SKIP_PYTHON "Skip building Gravity Python wrapper") set(JAVA_HOME "" CACHE PATH "Path to JDK to use") set(Protobuf_SRC_ROOT_FOLDER "" CACHE PATH "Path to Protobuf source build") set(ZMQ_HOME "" CACHE PATH "Path to your local ZeroMQ installation") -#set(JAVA_PROTOBUF_JAR "/usr/share/java/protobuf.jar" CACHE PATH "Location of protobuf jar file") +set(JAVA_PROTOBUF_JAR "/usr/share/java/protobuf.jar" CACHE PATH "Location of protobuf jar file") get_filename_component(ABS_CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}" ABSOLUTE BASE_DIR "${CMAKE_BINARY_DIR}") string(REPLACE "\"" "" ABS_CMAKE_INSTALL_PREFIX "${ABS_CMAKE_INSTALL_PREFIX}") @@ -315,8 +315,8 @@ else() CMAKE_ARGS -DGRAVITY_ROOT=${PUBLIC_STAGING_DIR} -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/test/examples - #-DTOPLEVEL_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} - #-DEXTERNAL_JAVA_JAR=${protobufs-java_BINARY_DIR} + -DTOPLEVEL_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} + -DEXTERNAL_JAVA_JAR=${protobufs-java_BINARY_DIR} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DCMAKE_MODULE_PATH=${CMAKE_MODULE_PATH} -DSKIP_JAVA=${SKIP_JAVA} diff --git a/src/api/java/CMakeLists.txt b/src/api/java/CMakeLists.txt index b464804c7..3607d729c 100644 --- a/src/api/java/CMakeLists.txt +++ b/src/api/java/CMakeLists.txt @@ -8,8 +8,8 @@ include(UseJava) gravity_find_protobuf(ON) # TODO check GRAVITY_USING_EXTERNAL_PROTOBUF -set(PUBLIC_JAR "/usr/share/java/protobuf.jar" "${Protobuf_SRC_ROOT_FOLDER}/java/target/protobuf-java-${Protobuf_VERSION}.jar") -#set(PUBLIC_JAR "${JAVA_PROTOBUF_JAR}" "${Protobuf_SRC_ROOT_FOLDER}/java/core/target/protobuf-java-${Protobuf_VERSION}.jar") +#set(PUBLIC_JAR "/usr/share/java/protobuf.jar" "${Protobuf_SRC_ROOT_FOLDER}/java/target/protobuf-java-${Protobuf_VERSION}.jar") +set(PUBLIC_JAR "${JAVA_PROTOBUF_JAR}" "${Protobuf_SRC_ROOT_FOLDER}/java/target/protobuf-java-${Protobuf_VERSION}.jar") set(CMAKE_JAVA_INCLUDE_PATH "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/protobuf-java.jar" ${PUBLIC_JAR}) diff --git a/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt b/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt index 76bb5a23a..ff953ef76 100644 --- a/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt +++ b/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt @@ -11,7 +11,7 @@ if (Protobuf_SRC_ROOT_FOLDER) set(LOCAL_PROTOBUF_JAR "${Protobuf_SRC_ROOT_FOLDER}/java/target/protobuf-java-${Protobuf_VERSION}.jar") endif() #Need prefix path here because build/install gets created at the end of the build process, and doesn't exist yet when this gets built -set(PUBLIC_JAR "/usr/share/java/protobuf.jar" "${LOCAL_PROTOBUF_JAR}") +set(PUBLIC_JAR "${JAVA_PROTOBUF_JAR}" "${LOCAL_PROTOBUF_JAR}") #list(JOIN PUBLIC_JAR ":" PUBLIC_JAR_CACHE) #set(PUBLIC_JAR_CACHE ${PUBLIC_JAR_CACHE} CACHE ON STRING) find_package(GravityJava REQUIRED) From a2ef678c90259e7ba3fd250ff6d7cd578d1ea86e Mon Sep 17 00:00:00 2001 From: flinker Date: Thu, 31 Jul 2025 16:13:17 -0700 Subject: [PATCH 45/48] 6 restored --- .../6-JavaProtobufDataProduct/CMakeLists.txt | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt b/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt index ff953ef76..8ea1c6b21 100644 --- a/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt +++ b/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt @@ -12,8 +12,8 @@ if (Protobuf_SRC_ROOT_FOLDER) endif() #Need prefix path here because build/install gets created at the end of the build process, and doesn't exist yet when this gets built set(PUBLIC_JAR "${JAVA_PROTOBUF_JAR}" "${LOCAL_PROTOBUF_JAR}") -#list(JOIN PUBLIC_JAR ":" PUBLIC_JAR_CACHE) -#set(PUBLIC_JAR_CACHE ${PUBLIC_JAR_CACHE} CACHE ON STRING) +list(JOIN PUBLIC_JAR ":" PUBLIC_JAR_CACHE) +set(PUBLIC_JAR_CACHE ${PUBLIC_JAR_CACHE} CACHE ON STRING) find_package(GravityJava REQUIRED) include(UseJava) @@ -24,11 +24,11 @@ gravity_protobuf_generate(APPEND_PATH LANGUAGE java PROTOC_OUT_DIR "${CMAKE_CURR add_custom_target(${PROJECT_NAME}_protos ALL DEPENDS ${PROTO_SRCS}) set(CMAKE_JAVA_INCLUDE_PATH "${ABS_GRAVITY_ROOT}/${CMAKE_INSTALL_LIBDIR}/protobuf-java.jar" ${PUBLIC_JAR}) -#if(WIN32) -#set(CMAKE_JAVA_INCLUDE_PATH ${PUBLIC_JAR}) #Takes semicolons as dividers -#else() -#set(CMAKE_JAVA_INCLUDE_PATH ${PUBLIC_JAR_CACHE}) #Linux takes colons as dividers - #endif() +if(WIN32) +set(CMAKE_JAVA_INCLUDE_PATH ${PUBLIC_JAR}) #Takes semicolons as dividers +else() +set(CMAKE_JAVA_INCLUDE_PATH ${PUBLIC_JAR_CACHE}) #Linux takes colons as dividers +endif() string(APPEND CMAKE_JAVA_INCLUDE_PATH_FINAL_RELEASE "${_UseJava_PATH_SEP}${ABS_GRAVITY_ROOT}/${CMAKE_INSTALL_LIBDIR}/gravity.jar${_UseJava_PATH_SEP}${CMAKE_BINARY_DIR}/src/api/java/gravity.jar") string(APPEND CMAKE_JAVA_INCLUDE_PATH_FINAL_DEBUG "${_UseJava_PATH_SEP}${ABS_GRAVITY_ROOT}/${CMAKE_INSTALL_LIBDIR}/gravity${CMAKE_DEBUG_POSTFIX}.jar${_UseJava_PATH_SEP}${CMAKE_BINARY_DIR}/src/api/java/gravity${CMAKE_DEBUG_POSTFIX}.jar") message(STATUS "CMAKE_JAVA_INCLUDE_PATH_FINAL_DEBUG: ${CMAKE_JAVA_INCLUDE_PATH_FINAL_DEBUG}") @@ -41,8 +41,8 @@ if (WIN32) get_target_property(Protobuf_LIBRARY_RELEASE protobuf::libprotobuf LOCATION_RELEASE) get_filename_component(LOCAL_PROTOBUF_RUNTIME_DIR "${Protobuf_LIBRARY_RELEASE}" DIRECTORY) - # configure_file("${CMAKE_CURRENT_LIST_DIR}/RunJavaProtobufDataProductDebug.bat.in" "${CMAKE_BINARY_DIR}/RunJavaProtobufDataProductDebug.bat" @ONLY) - #configure_file("${CMAKE_CURRENT_LIST_DIR}/RunJavaProtobufDataProductRelease.bat.in" "${CMAKE_BINARY_DIR}/RunJavaProtobufDataProductRelease.bat" @ONLY) + configure_file("${CMAKE_CURRENT_LIST_DIR}/RunJavaProtobufDataProductDebug.bat.in" "${CMAKE_BINARY_DIR}/RunJavaProtobufDataProductDebug.bat" @ONLY) + configure_file("${CMAKE_CURRENT_LIST_DIR}/RunJavaProtobufDataProductRelease.bat.in" "${CMAKE_BINARY_DIR}/RunJavaProtobufDataProductRelease.bat" @ONLY) endif() @@ -69,5 +69,5 @@ if (WIN32) endif() configure_file(run.sh.in ${JavaProtobufDataProduct_SOURCE_DIR}/run.sh) -#configure_file(RunJavaProtobufDataProductDebug.bat.in ${JavaProtobufDataProduct_SOURCE_DIR}/RunJavaProtobufDataProductDebug.bat) -#configure_file(RunJavaProtobufDataProductRelease.bat.in ${JavaProtobufDataProduct_SOURCE_DIR}/RunJavaProtobufDataProductRelease.bat) +configure_file(RunJavaProtobufDataProductDebug.bat.in ${JavaProtobufDataProduct_SOURCE_DIR}/RunJavaProtobufDataProductDebug.bat) +configure_file(RunJavaProtobufDataProductRelease.bat.in ${JavaProtobufDataProduct_SOURCE_DIR}/RunJavaProtobufDataProductRelease.bat) From 81a05ab93459a634b6308d85669f79f54252cb01 Mon Sep 17 00:00:00 2001 From: flinker Date: Thu, 31 Jul 2025 16:21:35 -0700 Subject: [PATCH 46/48] 6 again --- test/examples/6-JavaProtobufDataProduct/CMakeLists.txt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt b/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt index 8ea1c6b21..c7a1da48f 100644 --- a/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt +++ b/test/examples/6-JavaProtobufDataProduct/CMakeLists.txt @@ -23,11 +23,11 @@ gravity_protobuf_generate(APPEND_PATH LANGUAGE java PROTOC_OUT_DIR "${CMAKE_CURR add_custom_target(${PROJECT_NAME}_protos ALL DEPENDS ${PROTO_SRCS}) -set(CMAKE_JAVA_INCLUDE_PATH "${ABS_GRAVITY_ROOT}/${CMAKE_INSTALL_LIBDIR}/protobuf-java.jar" ${PUBLIC_JAR}) +#set(CMAKE_JAVA_INCLUDE_PATH "${ABS_GRAVITY_ROOT}/${CMAKE_INSTALL_LIBDIR}/protobuf-java.jar" ${PUBLIC_JAR}) if(WIN32) -set(CMAKE_JAVA_INCLUDE_PATH ${PUBLIC_JAR}) #Takes semicolons as dividers +set(CMAKE_JAVA_INCLUDE_PATH "${ABS_GRAVITY_ROOT}/${CMAKE_INSTALL_LIBDIR}/protobuf-java.jar" ${PUBLIC_JAR}) #Takes semicolons as dividers else() -set(CMAKE_JAVA_INCLUDE_PATH ${PUBLIC_JAR_CACHE}) #Linux takes colons as dividers +set(CMAKE_JAVA_INCLUDE_PATH "${ABS_GRAVITY_ROOT}/${CMAKE_INSTALL_LIBDIR}/protobuf-java.jar" ${PUBLIC_JAR_CACHE}) #Linux takes colons as dividers endif() string(APPEND CMAKE_JAVA_INCLUDE_PATH_FINAL_RELEASE "${_UseJava_PATH_SEP}${ABS_GRAVITY_ROOT}/${CMAKE_INSTALL_LIBDIR}/gravity.jar${_UseJava_PATH_SEP}${CMAKE_BINARY_DIR}/src/api/java/gravity.jar") string(APPEND CMAKE_JAVA_INCLUDE_PATH_FINAL_DEBUG "${_UseJava_PATH_SEP}${ABS_GRAVITY_ROOT}/${CMAKE_INSTALL_LIBDIR}/gravity${CMAKE_DEBUG_POSTFIX}.jar${_UseJava_PATH_SEP}${CMAKE_BINARY_DIR}/src/api/java/gravity${CMAKE_DEBUG_POSTFIX}.jar") @@ -69,5 +69,5 @@ if (WIN32) endif() configure_file(run.sh.in ${JavaProtobufDataProduct_SOURCE_DIR}/run.sh) -configure_file(RunJavaProtobufDataProductDebug.bat.in ${JavaProtobufDataProduct_SOURCE_DIR}/RunJavaProtobufDataProductDebug.bat) -configure_file(RunJavaProtobufDataProductRelease.bat.in ${JavaProtobufDataProduct_SOURCE_DIR}/RunJavaProtobufDataProductRelease.bat) +#configure_file(RunJavaProtobufDataProductDebug.bat.in ${JavaProtobufDataProduct_SOURCE_DIR}/RunJavaProtobufDataProductDebug.bat) +#configure_file(RunJavaProtobufDataProductRelease.bat.in ${JavaProtobufDataProduct_SOURCE_DIR}/RunJavaProtobufDataProductRelease.bat) From 68c8d50a681c52e967e461c8745dc024985b1720 Mon Sep 17 00:00:00 2001 From: flinker Date: Thu, 31 Jul 2025 17:17:56 -0700 Subject: [PATCH 47/48] 7 --- test/examples/7-JavaBasicService/CMakeLists.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/test/examples/7-JavaBasicService/CMakeLists.txt b/test/examples/7-JavaBasicService/CMakeLists.txt index 12c850b2f..6fc08e465 100644 --- a/test/examples/7-JavaBasicService/CMakeLists.txt +++ b/test/examples/7-JavaBasicService/CMakeLists.txt @@ -8,10 +8,10 @@ find_package(Gravity QUIET) set(LOCAL_PROTOBUF_JAR) if (Protobuf_SRC_ROOT_FOLDER) - set(LOCAL_PROTOBUF_JAR "${JAVA_PROTOBUF_JAR}" "${Protobuf_SRC_ROOT_FOLDER}/java/core/target/protobuf-java-${Protobuf_VERSION}.jar") + set(LOCAL_PROTOBUF_JAR "${Protobuf_SRC_ROOT_FOLDER}/java/target/protobuf-java-${Protobuf_VERSION}.jar") endif() #Need prefix path here because build/install gets created at the end of the build process, and doesn't exist yet when this gets built -set(PUBLIC_JAR "${CMAKE_PREFIX_PATH}/${CMAKE_INSTALL_LIBDIR}/protobuf-java.jar" "${LOCAL_PROTOBUF_JAR}" CACHE OFF FILEPATH) +set(PUBLIC_JAR "${JAVA_PROTOBUF_JAR}" "${LOCAL_PROTOBUF_JAR}") find_package(GravityJava REQUIRED) include(UseJava) @@ -22,9 +22,9 @@ gravity_protobuf_generate(APPEND_PATH LANGUAGE java PROTOC_OUT_DIR "${CMAKE_CURR add_custom_target(${PROJECT_NAME}_protos ALL DEPENDS ${PROTO_SRCS}) if(WIN32) - set(CMAKE_JAVA_INCLUDE_PATH ${PUBLIC_JAR}) #Takes semicolons as dividers + set(CMAKE_JAVA_INCLUDE_PATH "${ABS_GRAVITY_ROOT}/${CMAKE_INSTALL_LIBDIR}/protobuf-java.jar" ${PUBLIC_JAR}) #Takes semicolons as dividers else() - set(CMAKE_JAVA_INCLUDE_PATH ${PUBLIC_JAR_CACHE}) #Linux takes colons as dividers + set(CMAKE_JAVA_INCLUDE_PATH "${ABS_GRAVITY_ROOT}/${CMAKE_INSTALL_LIBDIR}/protobuf-java.jar" ${PUBLIC_JAR_CACHE}) #Linux takes colons as dividers endif() string(APPEND CMAKE_JAVA_INCLUDE_PATH_FINAL_RELEASE "${_UseJava_PATH_SEP}${ABS_GRAVITY_ROOT}/${CMAKE_INSTALL_LIBDIR}/gravity.jar${_UseJava_PATH_SEP}${CMAKE_BINARY_DIR}/src/api/java/gravity.jar") string(APPEND CMAKE_JAVA_INCLUDE_PATH_FINAL_DEBUG "${_UseJava_PATH_SEP}${ABS_GRAVITY_ROOT}/${CMAKE_INSTALL_LIBDIR}/gravity${CMAKE_DEBUG_POSTFIX}.jar${_UseJava_PATH_SEP}${CMAKE_BINARY_DIR}/src/api/java/gravity${CMAKE_DEBUG_POSTFIX}.jar") From a1d70723b6259a84dbb04d06a8c2521542591879 Mon Sep 17 00:00:00 2001 From: flinker Date: Fri, 1 Aug 2025 05:55:35 -0700 Subject: [PATCH 48/48] CMakeLists changes in files not already changed in merge --- test/examples/10-Archiving/CMakeLists.txt | 4 ++-- test/examples/13-Relay/CMakeLists.txt | 4 ++-- test/examples/3-MultipleDataProduct/CMakeLists.txt | 4 ++-- test/examples/4-BasicService/CMakeLists.txt | 4 ++-- test/examples/5-MiscFunctionality/CMakeLists.txt | 4 ++-- test/examples/8-ConfigFile/CMakeLists.txt | 2 +- test/examples/9-Domains/CMakeLists.txt | 4 ++-- 7 files changed, 13 insertions(+), 13 deletions(-) diff --git a/test/examples/10-Archiving/CMakeLists.txt b/test/examples/10-Archiving/CMakeLists.txt index cd43dd818..8e6af0f59 100644 --- a/test/examples/10-Archiving/CMakeLists.txt +++ b/test/examples/10-Archiving/CMakeLists.txt @@ -21,13 +21,13 @@ add_custom_target(${PROJECT_NAME}_protos ALL DEPENDS ${PROTO_SRCS}) set(CMAKE_DEBUG_POSTFIX _d) add_executable(ArchiveTest ArchiveTest.cpp ${PROTO_SRCS}) set_target_properties(ArchiveTest PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) -target_link_libraries(ArchiveTest PUBLIC gravity PRIVATE spdlog::spdlog_header_only) +target_link_libraries(ArchiveTest PRIVATE gravity spdlog::spdlog_header_only) target_include_directories(ArchiveTest PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) add_dependencies(ArchiveTest ${PROJECT_NAME}_protos) add_executable(ReplayTest ReplayTest.cpp ${PROTO_SRCS}) set_target_properties(ReplayTest PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) -target_link_libraries(ReplayTest PUBLIC gravity PRIVATE spdlog::spdlog_header_only) +target_link_libraries(ReplayTest PRIVATE gravity spdlog::spdlog_header_only) target_include_directories(ReplayTest PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) add_dependencies(ReplayTest ${PROJECT_NAME}_protos) diff --git a/test/examples/13-Relay/CMakeLists.txt b/test/examples/13-Relay/CMakeLists.txt index 95978cba0..8f4da54c7 100644 --- a/test/examples/13-Relay/CMakeLists.txt +++ b/test/examples/13-Relay/CMakeLists.txt @@ -21,13 +21,13 @@ add_custom_target(${PROJECT_NAME}_protos ALL DEPENDS ${PROTO_SRCS}) set(CMAKE_DEBUG_POSTFIX _d) add_executable(ProtobufDataProductPublisher ProtobufDataProductPublisher.cpp ${PROTO_SRCS}) set_target_properties(ProtobufDataProductPublisher PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) -target_link_libraries(ProtobufDataProductPublisher PUBLIC gravity PRIVATE spdlog::spdlog_header_only) +target_link_libraries(ProtobufDataProductPublisher PRIVATE gravity spdlog::spdlog_header_only) target_include_directories(ProtobufDataProductPublisher PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) add_dependencies(ProtobufDataProductPublisher ${PROJECT_NAME}_protos) add_executable(ProtobufDataProductSubscriber ProtobufDataProductSubscriber.cpp ${PROTO_SRCS}) set_target_properties(ProtobufDataProductSubscriber PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) -target_link_libraries(ProtobufDataProductSubscriber PUBLIC gravity PRIVATE spdlog::spdlog_header_only) +target_link_libraries(ProtobufDataProductSubscriber PRIVATE gravity spdlog::spdlog_header_only) target_include_directories(ProtobufDataProductSubscriber PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) add_dependencies(ProtobufDataProductSubscriber ${PROJECT_NAME}_protos) diff --git a/test/examples/3-MultipleDataProduct/CMakeLists.txt b/test/examples/3-MultipleDataProduct/CMakeLists.txt index 29c4a299b..a0138c4bd 100644 --- a/test/examples/3-MultipleDataProduct/CMakeLists.txt +++ b/test/examples/3-MultipleDataProduct/CMakeLists.txt @@ -21,13 +21,13 @@ add_custom_target(${PROJECT_NAME}_protos ALL DEPENDS ${PROTO_SRCS}) set(CMAKE_DEBUG_POSTFIX _d) add_executable(MultipleDataProductPublisher MultipleDataProductPublisher.cpp ${PROTO_SRCS}) set_target_properties(MultipleDataProductPublisher PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) -target_link_libraries(MultipleDataProductPublisher PUBLIC gravity PRIVATE spdlog::spdlog_header_only) +target_link_libraries(MultipleDataProductPublisher PRIVATE gravity spdlog::spdlog_header_only) target_include_directories(MultipleDataProductPublisher PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) add_dependencies(MultipleDataProductPublisher ${PROJECT_NAME}_protos) add_executable(MultipleDataProductSubscriber MultipleDataProductSubscriber.cpp ${PROTO_SRCS}) set_target_properties(MultipleDataProductSubscriber PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) -target_link_libraries(MultipleDataProductSubscriber PUBLIC gravity PRIVATE spdlog::spdlog_header_only) +target_link_libraries(MultipleDataProductSubscriber PRIVATE gravity spdlog::spdlog_header_only) target_include_directories(MultipleDataProductSubscriber PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) add_dependencies(MultipleDataProductSubscriber ${PROJECT_NAME}_protos) diff --git a/test/examples/4-BasicService/CMakeLists.txt b/test/examples/4-BasicService/CMakeLists.txt index 1a26bbbb0..f9dcc30d4 100644 --- a/test/examples/4-BasicService/CMakeLists.txt +++ b/test/examples/4-BasicService/CMakeLists.txt @@ -21,13 +21,13 @@ add_custom_target(${PROJECT_NAME}_protos ALL DEPENDS ${PROTO_SRCS}) set(CMAKE_DEBUG_POSTFIX _d) add_executable(BasicServiceProvider BasicServiceProvider.cpp ${PROTO_SRCS}) set_target_properties(BasicServiceProvider PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) -target_link_libraries(BasicServiceProvider PUBLIC gravity PRIVATE spdlog::spdlog_header_only) +target_link_libraries(BasicServiceProvider PRIVATE gravity spdlog::spdlog_header_only) target_include_directories(BasicServiceProvider PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) add_dependencies(BasicServiceProvider ${PROJECT_NAME}_protos) add_executable(BasicServiceRequestor BasicServiceRequestor.cpp ${PROTO_SRCS}) set_target_properties(BasicServiceRequestor PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) -target_link_libraries(BasicServiceRequestor PUBLIC gravity PRIVATE spdlog::spdlog_header_only) +target_link_libraries(BasicServiceRequestor PRIVATE gravity spdlog::spdlog_header_only) target_include_directories(BasicServiceRequestor PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) add_dependencies(BasicServiceRequestor ${PROJECT_NAME}_protos) diff --git a/test/examples/5-MiscFunctionality/CMakeLists.txt b/test/examples/5-MiscFunctionality/CMakeLists.txt index 0ba8148eb..93b4082cf 100644 --- a/test/examples/5-MiscFunctionality/CMakeLists.txt +++ b/test/examples/5-MiscFunctionality/CMakeLists.txt @@ -13,12 +13,12 @@ find_package(spdlog REQUIRED) set(CMAKE_DEBUG_POSTFIX _d) add_executable(MiscComponent1 MiscComponent1.cpp) set_target_properties(MiscComponent1 PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) -target_link_libraries(MiscComponent1 gravity spdlog::spdlog_header_only) +target_link_libraries(MiscComponent1 PRIVATE gravity spdlog::spdlog_header_only) add_executable(MiscComponent2 MiscComponent2.cpp) set_target_properties(MiscComponent2 PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) -target_link_libraries(MiscComponent2 gravity spdlog::spdlog_header_only) +target_link_libraries(MiscComponent2 PRIVATE gravity spdlog::spdlog_header_only) configure_file(run.sh.in ${MiscFunctionality_SOURCE_DIR}/run.sh) configure_file(RunMiscFunctionalityDebug.bat.in ${MiscFunctionality_SOURCE_DIR}/RunMiscFunctionalityDebug.bat) diff --git a/test/examples/8-ConfigFile/CMakeLists.txt b/test/examples/8-ConfigFile/CMakeLists.txt index 4a9a6cac2..916f61170 100644 --- a/test/examples/8-ConfigFile/CMakeLists.txt +++ b/test/examples/8-ConfigFile/CMakeLists.txt @@ -13,5 +13,5 @@ find_package(spdlog REQUIRED) set(CMAKE_DEBUG_POSTFIX _d) add_executable(ConfigFileExample ConfigFileExample.cpp) set_target_properties(ConfigFileExample PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) -target_link_libraries(ConfigFileExample gravity spdlog::spdlog_header_only) +target_link_libraries(ConfigFileExample PRIVATE gravity spdlog::spdlog_header_only) configure_file(run.sh.in ${ConfigFile_SOURCE_DIR}/run.sh) diff --git a/test/examples/9-Domains/CMakeLists.txt b/test/examples/9-Domains/CMakeLists.txt index 8e72aa492..09854027a 100644 --- a/test/examples/9-Domains/CMakeLists.txt +++ b/test/examples/9-Domains/CMakeLists.txt @@ -21,13 +21,13 @@ add_custom_target(${PROJECT_NAME}_protos ALL DEPENDS ${PROTO_SRCS}) set(CMAKE_DEBUG_POSTFIX _d) add_executable(ProtobufDataProductPublisher9 ProtobufDataProductPublisher9.cpp ${PROTO_SRCS}) set_target_properties(ProtobufDataProductPublisher9 PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) -target_link_libraries(ProtobufDataProductPublisher9 PUBLIC gravity PRIVATE spdlog::spdlog_header_only) +target_link_libraries(ProtobufDataProductPublisher9 PRIVATE gravity spdlog::spdlog_header_only) target_include_directories(ProtobufDataProductPublisher9 PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) add_dependencies(ProtobufDataProductPublisher9 ${PROJECT_NAME}_protos) add_executable(ProtobufDataProductSubscriber9 ProtobufDataProductSubscriber9.cpp ${PROTO_SRCS}) set_target_properties(ProtobufDataProductSubscriber9 PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) -target_link_libraries(ProtobufDataProductSubscriber9 PUBLIC gravity PRIVATE spdlog::spdlog_header_only) +target_link_libraries(ProtobufDataProductSubscriber9 PRIVATE gravity spdlog::spdlog_header_only) target_include_directories(ProtobufDataProductSubscriber9 PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) add_dependencies(ProtobufDataProductSubscriber9 ${PROJECT_NAME}_protos)