diff --git a/services/backup/CMakeLists.txt b/services/backup/CMakeLists.txt --- a/services/backup/CMakeLists.txt +++ b/services/backup/CMakeLists.txt @@ -14,36 +14,44 @@ set(WITH_GTEST "Use Google Test" OFF) # FIND LIBS -include(./cmake-components/grpc.cmake) -include(./cmake-components/folly.cmake) -add_subdirectory(./lib/glog) +find_package(glog REQUIRED) +find_package(gRPC REQUIRED) +find_package(Folly REQUIRED) find_package(AWSSDK REQUIRED COMPONENTS core dynamodb) find_package(Boost 1.40 COMPONENTS program_options REQUIRED) +# blob will bring in everything else +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../blob + ${CMAKE_CURRENT_BINARY_DIR}/blob + EXCLUDE_FROM_ALL +) + # FIND FILES file(GLOB DOUBLE_CONVERSION_SOURCES "./lib/double-conversion/double-conversion/*.cc" ) -file(GLOB GENERATED_CODE "./_generated/*.cc") - file(GLOB_RECURSE SOURCE_CODE "./src/*.cpp") +file(GLOB COMMON_CODE "${CMAKE_CURRENT_SOURCE_DIR}/../lib/src/*.cpp") include_directories( - ./src - ./src/client-base-reactors - ./src/server-base-reactors - ./src/grpc-client - ./src/DatabaseEntities - ./src/Reactors - ./src/Reactors/server - ./src/Reactors/server/base-reactors - ./src/Reactors/client - ./src/Reactors/client/blob - ./src/Reactors/client/base-reactors - ./_generated - ${FOLLY_INCLUDES} - ./lib/double-conversion + ${CMAKE_CURRENT_SOURCE_DIR}/src + ${CMAKE_CURRENT_SOURCE_DIR}/src/client-base-reactors + ${CMAKE_CURRENT_SOURCE_DIR}/src/server-base-reactors + ${CMAKE_CURRENT_SOURCE_DIR}/src/grpc-client + ${CMAKE_CURRENT_SOURCE_DIR}/src/DatabaseEntities + ${CMAKE_CURRENT_SOURCE_DIR}/src/Reactors + ${CMAKE_CURRENT_SOURCE_DIR}/src/Reactors/server + ${CMAKE_CURRENT_SOURCE_DIR}/src/Reactors/server/base-reactors + ${CMAKE_CURRENT_SOURCE_DIR}/src/Reactors/client + ${CMAKE_CURRENT_SOURCE_DIR}/src/Reactors/client/blob + ${CMAKE_CURRENT_SOURCE_DIR}/src/Reactors/client/base-reactors + + # Ideally, we would add comm-services-common as a + # target link library, however, aws-sdk seems to not be able + # to be linked transitively + ${CMAKE_CURRENT_SOURCE_DIR}/../lib/src + ${Boost_INCLUDE_DIR} ) @@ -56,6 +64,7 @@ ${FOLLY_SOURCES} ${SOURCE_CODE} + ${COMMON_CODE} ) set( @@ -65,6 +74,13 @@ ${AWSSDK_LINK_LIBRARIES} ${Boost_LIBRARIES} glog::glog + Folly::folly + gRPC::grpc++ + + comm-blob-grpc + comm-backup-grpc + comm-client-base-reactors + comm-server-base-reactors ) target_link_libraries( diff --git a/services/backup/src/BackupServiceImpl.h b/services/backup/src/BackupServiceImpl.h --- a/services/backup/src/BackupServiceImpl.h +++ b/services/backup/src/BackupServiceImpl.h @@ -1,7 +1,7 @@ #pragma once -#include "../_generated/backup.grpc.pb.h" -#include "../_generated/backup.pb.h" +#include +#include #include diff --git a/services/backup/src/DatabaseEntities/DatabaseEntitiesTools.h b/services/backup/src/DatabaseEntities/DatabaseEntitiesTools.h deleted file mode 100644 --- a/services/backup/src/DatabaseEntities/DatabaseEntitiesTools.h +++ /dev/null @@ -1,22 +0,0 @@ -#pragma once - -#include "Item.h" - -#include "BackupItem.h" -#include "LogItem.h" - -#include -#include - -namespace comm { -namespace network { -namespace database { - -template std::shared_ptr createItemByType() { - static_assert(std::is_base_of::value, "T must inherit from Item"); - return std::make_shared(); -} - -} // namespace database -} // namespace network -} // namespace comm diff --git a/services/backup/src/DatabaseManager.h b/services/backup/src/DatabaseManager.h --- a/services/backup/src/DatabaseManager.h +++ b/services/backup/src/DatabaseManager.h @@ -1,8 +1,10 @@ #pragma once +#include "BackupItem.h" #include "DatabaseEntitiesTools.h" #include "DatabaseManagerBase.h" #include "DynamoDBTools.h" +#include "LogItem.h" #include #include diff --git a/services/backup/src/Reactors/client/blob/BlobGetClientReactor.h b/services/backup/src/Reactors/client/blob/BlobGetClientReactor.h --- a/services/backup/src/Reactors/client/blob/BlobGetClientReactor.h +++ b/services/backup/src/Reactors/client/blob/BlobGetClientReactor.h @@ -1,9 +1,9 @@ #pragma once -#include "../_generated/blob.grpc.pb.h" -#include "../_generated/blob.pb.h" +#include +#include -#include "ClientReadReactorBase.h" +#include #include #include diff --git a/services/backup/src/Reactors/server/PullBackupReactor.h b/services/backup/src/Reactors/server/PullBackupReactor.h --- a/services/backup/src/Reactors/server/PullBackupReactor.h +++ b/services/backup/src/Reactors/server/PullBackupReactor.h @@ -1,11 +1,13 @@ #pragma once +#include "BackupItem.h" #include "BlobGetClientReactor.h" #include "DatabaseEntitiesTools.h" +#include "LogItem.h" #include "ServiceBlobClient.h" -#include "../_generated/backup.grpc.pb.h" -#include "../_generated/backup.pb.h" +#include +#include #include "ServerWriteReactorBase.h" diff --git a/services/backup/src/grpc-client/ServiceBlobClient.h b/services/backup/src/grpc-client/ServiceBlobClient.h --- a/services/backup/src/grpc-client/ServiceBlobClient.h +++ b/services/backup/src/grpc-client/ServiceBlobClient.h @@ -3,8 +3,8 @@ #include "BlobGetClientReactor.h" #include "BlobPutClientReactor.h" -#include "../_generated/blob.grpc.pb.h" -#include "../_generated/blob.pb.h" +#include +#include #include