From 2a4c819f4f901d42641e07d3fcf0bea8346ef017 Mon Sep 17 00:00:00 2001 From: Kurt Sassenrath Date: Wed, 4 Oct 2023 21:23:36 -0700 Subject: [PATCH] Fix approach to include paths. This accommodates bazel's best practices a bit better. --- include/BUILD | 8 +++++ include/parselink/BUILD | 29 +++++++++++++++++++ .../include => include/parselink}/logging.h | 0 .../parselink}/logging/formatters.h | 0 .../parselink}/logging/level.h | 0 .../parselink}/logging/theme.h | 0 .../parselink}/logging/traits.h | 0 .../parselink/msgpack/core.h | 1 + .../parselink/msgpack/core/error.h | 0 .../parselink/msgpack/core/format.h | 0 .../parselink/msgpack/core/reader.h | 0 .../parselink/msgpack/core/writer.h | 0 .../parselink/msgpack}/msgpack.h | 3 +- .../parselink/msgpack/token.h | 0 .../parselink/msgpack/token/reader.h | 0 .../parselink/msgpack/token/type.h | 0 .../parselink/msgpack/util/endianness.h | 0 .../parselink/proto}/message.h | 0 .../include => include}/parselink/server.h | 0 .../parselink/utility/argparse.h | 0 source/BUILD | 22 +++----------- source/common/BUILD | 25 ---------------- source/logging/BUILD | 16 ++++++++++ source/{common/source => logging}/logging.cpp | 2 +- source/main.cpp | 2 +- source/server.cpp | 4 +-- tests/{common => logging}/BUILD | 2 +- tests/{common => logging}/logging.cpp | 2 +- tests/msgpack/BUILD | 2 +- tests/msgpack/test_reader_relaxed.cpp | 2 +- tests/msgpack/test_reader_strict.cpp | 2 +- tests/msgpack/test_token.cpp | 2 +- tests/msgpack/test_writer.cpp | 2 +- 33 files changed, 71 insertions(+), 55 deletions(-) create mode 100644 include/BUILD create mode 100644 include/parselink/BUILD rename {source/common/include => include/parselink}/logging.h (100%) rename {source/common/include => include/parselink}/logging/formatters.h (100%) rename {source/common/include => include/parselink}/logging/level.h (100%) rename {source/common/include => include/parselink}/logging/theme.h (100%) rename {source/common/include => include/parselink}/logging/traits.h (100%) rename {source/include => include}/parselink/msgpack/core.h (88%) rename {source/include => include}/parselink/msgpack/core/error.h (100%) rename {source/include => include}/parselink/msgpack/core/format.h (100%) rename {source/include => include}/parselink/msgpack/core/reader.h (100%) rename {source/include => include}/parselink/msgpack/core/writer.h (100%) rename {source/include/parselink => include/parselink/msgpack}/msgpack.h (73%) rename {source/include => include}/parselink/msgpack/token.h (100%) rename {source/include => include}/parselink/msgpack/token/reader.h (100%) rename {source/include => include}/parselink/msgpack/token/type.h (100%) rename {source/include => include}/parselink/msgpack/util/endianness.h (100%) rename {source/include/parselink/message => include/parselink/proto}/message.h (100%) rename {source/include => include}/parselink/server.h (100%) rename {source/include => include}/parselink/utility/argparse.h (100%) delete mode 100644 source/common/BUILD create mode 100644 source/logging/BUILD rename source/{common/source => logging}/logging.cpp (98%) rename tests/{common => logging}/BUILD (77%) rename tests/{common => logging}/logging.cpp (99%) diff --git a/include/BUILD b/include/BUILD new file mode 100644 index 0000000..3d17bb7 --- /dev/null +++ b/include/BUILD @@ -0,0 +1,8 @@ +# This rule is mainly used to expose parselink includes in a _somewhat_ sane +# manner while conforming to my stylistic preferences. + +cc_library( + name = "path", + includes = ["."], + visibility = ["//visibility:public"], +) diff --git a/include/parselink/BUILD b/include/parselink/BUILD new file mode 100644 index 0000000..ebcf67b --- /dev/null +++ b/include/parselink/BUILD @@ -0,0 +1,29 @@ + +cc_library( + name = "msgpack", + hdrs = glob(["msgpack/**/*.h"]), + includes = ["."], + deps = ["@expected", "//include:path"], + visibility = ["//visibility:public"], +) + +cc_library( + name = "logging", + hdrs = glob(["logging.h", "logging/**/*.h"]), + includes = ["."], + deps = ["@fmt", "@magic_enum", "//include:path"], + visibility = ["//visibility:public"], +) + +cc_library( + name = "utility", + hdrs = glob(["utility/**/*.h"]), + includes = ["."], + deps = ["//include:path"], + visibility = ["//visibility:public"], +) + +exports_files( + ["server.h"], + visibility = ["//visibility:public"], +) diff --git a/source/common/include/logging.h b/include/parselink/logging.h similarity index 100% rename from source/common/include/logging.h rename to include/parselink/logging.h diff --git a/source/common/include/logging/formatters.h b/include/parselink/logging/formatters.h similarity index 100% rename from source/common/include/logging/formatters.h rename to include/parselink/logging/formatters.h diff --git a/source/common/include/logging/level.h b/include/parselink/logging/level.h similarity index 100% rename from source/common/include/logging/level.h rename to include/parselink/logging/level.h diff --git a/source/common/include/logging/theme.h b/include/parselink/logging/theme.h similarity index 100% rename from source/common/include/logging/theme.h rename to include/parselink/logging/theme.h diff --git a/source/common/include/logging/traits.h b/include/parselink/logging/traits.h similarity index 100% rename from source/common/include/logging/traits.h rename to include/parselink/logging/traits.h diff --git a/source/include/parselink/msgpack/core.h b/include/parselink/msgpack/core.h similarity index 88% rename from source/include/parselink/msgpack/core.h rename to include/parselink/msgpack/core.h index 1a066d6..494a5fd 100644 --- a/source/include/parselink/msgpack/core.h +++ b/include/parselink/msgpack/core.h @@ -1,6 +1,7 @@ #ifndef msgpack_core_2e1a9d55129a666e #define msgpack_core_2e1a9d55129a666e +#include "core/error.h" #include "core/format.h" #include "core/reader.h" #include "core/writer.h" diff --git a/source/include/parselink/msgpack/core/error.h b/include/parselink/msgpack/core/error.h similarity index 100% rename from source/include/parselink/msgpack/core/error.h rename to include/parselink/msgpack/core/error.h diff --git a/source/include/parselink/msgpack/core/format.h b/include/parselink/msgpack/core/format.h similarity index 100% rename from source/include/parselink/msgpack/core/format.h rename to include/parselink/msgpack/core/format.h diff --git a/source/include/parselink/msgpack/core/reader.h b/include/parselink/msgpack/core/reader.h similarity index 100% rename from source/include/parselink/msgpack/core/reader.h rename to include/parselink/msgpack/core/reader.h diff --git a/source/include/parselink/msgpack/core/writer.h b/include/parselink/msgpack/core/writer.h similarity index 100% rename from source/include/parselink/msgpack/core/writer.h rename to include/parselink/msgpack/core/writer.h diff --git a/source/include/parselink/msgpack.h b/include/parselink/msgpack/msgpack.h similarity index 73% rename from source/include/parselink/msgpack.h rename to include/parselink/msgpack/msgpack.h index 32ad5dd..2a40f8b 100644 --- a/source/include/parselink/msgpack.h +++ b/include/parselink/msgpack/msgpack.h @@ -1,6 +1,7 @@ #ifndef msgpack_9865a64955e64703 #define msgpack_9865a64955e64703 -#include "msgpack/core.h" +#include "core.h" +#include "token.h" #endif // msgpack_9865a64955e64703 diff --git a/source/include/parselink/msgpack/token.h b/include/parselink/msgpack/token.h similarity index 100% rename from source/include/parselink/msgpack/token.h rename to include/parselink/msgpack/token.h diff --git a/source/include/parselink/msgpack/token/reader.h b/include/parselink/msgpack/token/reader.h similarity index 100% rename from source/include/parselink/msgpack/token/reader.h rename to include/parselink/msgpack/token/reader.h diff --git a/source/include/parselink/msgpack/token/type.h b/include/parselink/msgpack/token/type.h similarity index 100% rename from source/include/parselink/msgpack/token/type.h rename to include/parselink/msgpack/token/type.h diff --git a/source/include/parselink/msgpack/util/endianness.h b/include/parselink/msgpack/util/endianness.h similarity index 100% rename from source/include/parselink/msgpack/util/endianness.h rename to include/parselink/msgpack/util/endianness.h diff --git a/source/include/parselink/message/message.h b/include/parselink/proto/message.h similarity index 100% rename from source/include/parselink/message/message.h rename to include/parselink/proto/message.h diff --git a/source/include/parselink/server.h b/include/parselink/server.h similarity index 100% rename from source/include/parselink/server.h rename to include/parselink/server.h diff --git a/source/include/parselink/utility/argparse.h b/include/parselink/utility/argparse.h similarity index 100% rename from source/include/parselink/utility/argparse.h rename to include/parselink/utility/argparse.h diff --git a/source/BUILD b/source/BUILD index 994c91b..8193588 100644 --- a/source/BUILD +++ b/source/BUILD @@ -1,26 +1,11 @@ cc_library( name = "headers", hdrs = [ - "include/parselink/utility/argparse.h", - "include/parselink/server.h", + "//include/parselink:server.h", ], - strip_include_prefix = "include/parselink", visibility = ["//visibility:public"], ) -cc_library( - name = "msgpack", - hdrs = glob([ - "include/parselink/msgpack/**/*.h" - ]), - deps = [ - "@expected", - ], - strip_include_prefix = "include/parselink", - visibility = ["//visibility:public"], -) - - cc_binary( name = "parselinkd", srcs = [ @@ -29,8 +14,9 @@ cc_binary( ], deps = [ "headers", - "msgpack", + "//include/parselink:msgpack", + "//source/logging", + "//include/parselink:utility", "@boost//:beast", - "//source/common", ], ) diff --git a/source/common/BUILD b/source/common/BUILD deleted file mode 100644 index da0dad8..0000000 --- a/source/common/BUILD +++ /dev/null @@ -1,25 +0,0 @@ -# parselink - -cc_library( - name = "common", - srcs = [ - "source/logging.cpp", - ], - hdrs = [ - "include/logging.h", - "include/logging/level.h", - "include/logging/formatters.h", - "include/logging/theme.h", - "include/logging/traits.h", - ], - linkstatic = True, - includes = ["include"], - deps = [ - "@fmt//:fmt", - "@magic_enum//:magic_enum", - ], - visibility = [ - # TODO: Fix visibility - "//visibility:public", - ], -) diff --git a/source/logging/BUILD b/source/logging/BUILD new file mode 100644 index 0000000..cafb91e --- /dev/null +++ b/source/logging/BUILD @@ -0,0 +1,16 @@ +# parselink + +cc_library( + name = "logging", + srcs = [ + "logging.cpp", + ], + linkstatic = True, + deps = [ + "//include/parselink:logging", + ], + visibility = [ + # TODO: Fix visibility + "//visibility:public", + ], +) diff --git a/source/common/source/logging.cpp b/source/logging/logging.cpp similarity index 98% rename from source/common/source/logging.cpp rename to source/logging/logging.cpp index 5920404..f3510ca 100644 --- a/source/common/source/logging.cpp +++ b/source/logging/logging.cpp @@ -16,7 +16,7 @@ // License TBD. //----------------------------------------------------------------------------- -#include "logging.h" +#include "parselink/logging.h" #include diff --git a/source/main.cpp b/source/main.cpp index 66b44ba..e17e50d 100644 --- a/source/main.cpp +++ b/source/main.cpp @@ -1,4 +1,4 @@ -#include +#include "parselink/logging.h" #include #include diff --git a/source/server.cpp b/source/server.cpp index 9769363..b44a2ae 100644 --- a/source/server.cpp +++ b/source/server.cpp @@ -18,8 +18,8 @@ // License TBD. //----------------------------------------------------------------------------- -#include -#include +#include "parselink/logging.h" +#include "parselink/server.h" #include #include diff --git a/tests/common/BUILD b/tests/logging/BUILD similarity index 77% rename from tests/common/BUILD rename to tests/logging/BUILD index 611ea55..bb1383f 100644 --- a/tests/common/BUILD +++ b/tests/logging/BUILD @@ -2,7 +2,7 @@ cc_test( name = "logging", srcs = ["logging.cpp"], deps = [ - "//source/common", + "//source/logging", "@ut", ], ) diff --git a/tests/common/logging.cpp b/tests/logging/logging.cpp similarity index 99% rename from tests/common/logging.cpp rename to tests/logging/logging.cpp index 378976e..67e5bc9 100644 --- a/tests/common/logging.cpp +++ b/tests/logging/logging.cpp @@ -16,7 +16,7 @@ // License TBD. //----------------------------------------------------------------------------- -#include +#include "parselink/logging.h" #include diff --git a/tests/msgpack/BUILD b/tests/msgpack/BUILD index 5562a3f..7e6d918 100644 --- a/tests/msgpack/BUILD +++ b/tests/msgpack/BUILD @@ -6,7 +6,7 @@ cc_library( "rng.h" ], deps = [ - "//source:msgpack", + "//include/parselink:msgpack", "@expected", "@fmt", "@magic_enum", diff --git a/tests/msgpack/test_reader_relaxed.cpp b/tests/msgpack/test_reader_relaxed.cpp index 56bf03d..dd6b58a 100644 --- a/tests/msgpack/test_reader_relaxed.cpp +++ b/tests/msgpack/test_reader_relaxed.cpp @@ -1,4 +1,4 @@ -#include +#include "parselink/msgpack/core/reader.h" #include diff --git a/tests/msgpack/test_reader_strict.cpp b/tests/msgpack/test_reader_strict.cpp index 4618831..9cb7d56 100644 --- a/tests/msgpack/test_reader_strict.cpp +++ b/tests/msgpack/test_reader_strict.cpp @@ -1,4 +1,4 @@ -#include +#include "parselink/msgpack/core/reader.h" #include "rng.h" #include diff --git a/tests/msgpack/test_token.cpp b/tests/msgpack/test_token.cpp index 332b210..2d3ee02 100644 --- a/tests/msgpack/test_token.cpp +++ b/tests/msgpack/test_token.cpp @@ -1,4 +1,4 @@ -#include +#include "parselink/msgpack/token.h" #include diff --git a/tests/msgpack/test_writer.cpp b/tests/msgpack/test_writer.cpp index f865bfc..b8815bb 100644 --- a/tests/msgpack/test_writer.cpp +++ b/tests/msgpack/test_writer.cpp @@ -1,4 +1,4 @@ -#include +#include "parselink/msgpack/core/writer.h" #include