diff --git a/include/BUILD b/include/BUILD deleted file mode 100644 index 47e97db..0000000 --- a/include/BUILD +++ /dev/null @@ -1,14 +0,0 @@ -package(default_visibility = ["//visibility:public"]) - -# Headers target -cc_library( - name = "openfeature_headers", - hdrs = glob(["**/*.h"]), - # Adds 'cpp-sdk/include' to the include path - includes = ["."], - deps = [ - "@abseil-cpp//absl/base:core_headers", - "@abseil-cpp//absl/status:statusor", - "@abseil-cpp//absl/synchronization", - ], -) diff --git a/openfeature/BUILD b/openfeature/BUILD new file mode 100644 index 0000000..ac0f8e4 --- /dev/null +++ b/openfeature/BUILD @@ -0,0 +1,110 @@ +package( + default_visibility = ["//visibility:public"], +) + +cc_library( + name = "client", + hdrs = ["client.h"], + deps = [ + ":evaluation_context", + ":features", + ":metadata", + ":provider_status", + ], +) + +cc_library( + name = "error_code", + hdrs = ["error_code.h"], +) + +cc_library( + name = "evaluation_context", + hdrs = ["evaluation_context.h"], +) + +cc_library( + name = "feature_provider_status_manager", + srcs = ["feature_provider_status_manager.cpp"], + hdrs = ["feature_provider_status_manager.h"], + deps = [ + "@abseil-cpp//absl/status", + "@abseil-cpp//absl/status:statusor", + ":evaluation_context", + ":provider", + ":provider_status", + ], +) + +cc_library( + name = "features", + hdrs = ["features.h"], + deps = [ + ":evaluation_context", + ], +) + +cc_library( + name = "flag_metadata", + hdrs = ["flag_metadata.h"], +) + +cc_library( + name = "metadata", + hdrs = ["metadata.h"], +) + +cc_library( + name = "noop_provider", + srcs = ["noop_provider.cpp"], + hdrs = ["noop_provider.h"], + deps = [ + ":evaluation_context", + ":metadata", + ":provider", + ":resolution_details", + ], +) + +cc_library( + name = "openfeature", + hdrs = ["openfeature.h"], + deps = [ + ":client", + ":evaluation_context", + ":metadata", + ":provider", + ], +) + +cc_library( + name = "provider_status", + hdrs = ["provider_status.h"], +) + +cc_library( + name = "provider", + hdrs = ["provider.h"], + deps = [ + "@abseil-cpp//absl/status", + ":evaluation_context", + ":metadata", + ":resolution_details", + ], +) + +cc_library( + name = "reason", + hdrs = ["reason.h"], +) + +cc_library( + name = "resolution_details", + srcs = ["resolution_details.cpp"], + hdrs = ["resolution_details.h"], + deps = [ + ":error_code", + ":flag_metadata", + ":reason", + ], +) diff --git a/include/openfeature/client.h b/openfeature/client.h similarity index 100% rename from include/openfeature/client.h rename to openfeature/client.h diff --git a/include/openfeature/error_code.h b/openfeature/error_code.h similarity index 100% rename from include/openfeature/error_code.h rename to openfeature/error_code.h diff --git a/include/openfeature/evaluation_context.h b/openfeature/evaluation_context.h similarity index 100% rename from include/openfeature/evaluation_context.h rename to openfeature/evaluation_context.h diff --git a/src/feature_provider_status_manager.cpp b/openfeature/feature_provider_status_manager.cpp similarity index 100% rename from src/feature_provider_status_manager.cpp rename to openfeature/feature_provider_status_manager.cpp diff --git a/include/openfeature/feature_provider_status_manager.h b/openfeature/feature_provider_status_manager.h similarity index 100% rename from include/openfeature/feature_provider_status_manager.h rename to openfeature/feature_provider_status_manager.h diff --git a/include/openfeature/features.h b/openfeature/features.h similarity index 100% rename from include/openfeature/features.h rename to openfeature/features.h diff --git a/include/openfeature/flag_metadata.h b/openfeature/flag_metadata.h similarity index 100% rename from include/openfeature/flag_metadata.h rename to openfeature/flag_metadata.h diff --git a/include/openfeature/metadata.h b/openfeature/metadata.h similarity index 100% rename from include/openfeature/metadata.h rename to openfeature/metadata.h diff --git a/src/noop_provider.cpp b/openfeature/noop_provider.cpp similarity index 90% rename from src/noop_provider.cpp rename to openfeature/noop_provider.cpp index 73c6707..1238397 100644 --- a/src/noop_provider.cpp +++ b/openfeature/noop_provider.cpp @@ -1,4 +1,4 @@ -#include "include/openfeature/noop_provider.h" +#include "openfeature/noop_provider.h" namespace openfeature { diff --git a/include/openfeature/noop_provider.h b/openfeature/noop_provider.h similarity index 100% rename from include/openfeature/noop_provider.h rename to openfeature/noop_provider.h diff --git a/include/openfeature/openfeature.h b/openfeature/openfeature.h similarity index 100% rename from include/openfeature/openfeature.h rename to openfeature/openfeature.h diff --git a/include/openfeature/provider.h b/openfeature/provider.h similarity index 100% rename from include/openfeature/provider.h rename to openfeature/provider.h diff --git a/include/openfeature/provider_status.h b/openfeature/provider_status.h similarity index 100% rename from include/openfeature/provider_status.h rename to openfeature/provider_status.h diff --git a/include/openfeature/reason.h b/openfeature/reason.h similarity index 100% rename from include/openfeature/reason.h rename to openfeature/reason.h diff --git a/src/resolution_details.cpp b/openfeature/resolution_details.cpp similarity index 100% rename from src/resolution_details.cpp rename to openfeature/resolution_details.cpp diff --git a/include/openfeature/resolution_details.h b/openfeature/resolution_details.h similarity index 100% rename from include/openfeature/resolution_details.h rename to openfeature/resolution_details.h diff --git a/src/BUILD b/src/BUILD deleted file mode 100644 index a10ec9f..0000000 --- a/src/BUILD +++ /dev/null @@ -1,42 +0,0 @@ -package(default_visibility = ["//visibility:public"]) - -cc_library( - name = "resolution_details", - srcs = ["resolution_details.cpp"], - deps = [ - "//include:openfeature_headers", - ], -) - -cc_library( - name = "noop_provider", - srcs = ["noop_provider.cpp"], - deps = [ - ":resolution_details", - "//include:openfeature_headers", - ], -) - -cc_library( - name = "feature_provider_status_manager", - srcs = ["feature_provider_status_manager.cpp"], - deps = [ - "//include:openfeature_headers", - "@abseil-cpp//absl/log:log", - "@abseil-cpp//absl/memory", - "@abseil-cpp//absl/status", - "@abseil-cpp//absl/status:statusor", - "@abseil-cpp//absl/synchronization", - ], -) - -# Main SDK library -cc_library( - name = "openfeature_cpp_sdk", - deps = [ - ":resolution_details", - ":noop_provider", - ":feature_provider_status_manager", - ], -) - diff --git a/test/BUILD b/test/BUILD index b35e3b2..9f96a74 100644 --- a/test/BUILD +++ b/test/BUILD @@ -1,19 +1,10 @@ -cc_test( - name = "resolution_details_test", - srcs = ["resolution_details_test.cpp"], - deps = [ - "//src:resolution_details", - "@googletest//:gtest_main", - ], -) - cc_library( name = "mock_feature_provider", testonly = True, hdrs = ["mocks/mock_feature_provider.h"], visibility = ["//test:__pkg__"], deps = [ - "//include:openfeature_headers", + "//openfeature:provider", "@googletest//:gtest", ], ) @@ -23,7 +14,16 @@ cc_test( srcs = ["feature_provider_status_manager_test.cpp"], deps = [ ":mock_feature_provider", - "//src:feature_provider_status_manager", + "//openfeature:feature_provider_status_manager", + "@googletest//:gtest_main", + ], +) + +cc_test( + name = "resolution_details_test", + srcs = ["resolution_details_test.cpp"], + deps = [ + "//openfeature:resolution_details", "@googletest//:gtest_main", ], ) @@ -32,7 +32,7 @@ cc_test( name = "noop_provider_test", srcs = ["noop_provider_test.cpp"], deps = [ - "//src:noop_provider", + "//openfeature:noop_provider", "@googletest//:gtest_main", ], )