From e605562427340b8e2faa880af47bc1e20f874d7c Mon Sep 17 00:00:00 2001 From: Noah Watkins Date: Fri, 4 Feb 2022 11:26:27 -0800 Subject: [PATCH] build: simplify admin server json handling Signed-off-by: Noah Watkins --- src/v/redpanda/CMakeLists.txt | 104 ++++++++-------------------------- 1 file changed, 24 insertions(+), 80 deletions(-) diff --git a/src/v/redpanda/CMakeLists.txt b/src/v/redpanda/CMakeLists.txt index e170df6ab9d2..37489c873fd1 100644 --- a/src/v/redpanda/CMakeLists.txt +++ b/src/v/redpanda/CMakeLists.txt @@ -1,84 +1,31 @@ -seastar_generate_swagger( - TARGET config_swagger - VAR config_swagger_file - IN_FILE ${CMAKE_CURRENT_SOURCE_DIR}/admin/api-doc/config.json - OUT_FILE ${CMAKE_CURRENT_BINARY_DIR}/admin/api-doc/config.json.h -) - -seastar_generate_swagger( - TARGET cluster_config_swagger - VAR cluster_config_swagger_file - IN_FILE ${CMAKE_CURRENT_SOURCE_DIR}/admin/api-doc/cluster_config.json - OUT_FILE ${CMAKE_CURRENT_BINARY_DIR}/admin/api-doc/cluster_config.json.h - -) - -seastar_generate_swagger( - TARGET raft_swagger - VAR raft_swagger_file - IN_FILE ${CMAKE_CURRENT_SOURCE_DIR}/admin/api-doc/raft.json - OUT_FILE ${CMAKE_CURRENT_BINARY_DIR}/admin/api-doc/raft.json.h -) - -seastar_generate_swagger( - TARGET security_swagger - VAR security_swagger_file - IN_FILE ${CMAKE_CURRENT_SOURCE_DIR}/admin/api-doc/security.json - OUT_FILE ${CMAKE_CURRENT_BINARY_DIR}/admin/api-doc/security.json.h -) - -seastar_generate_swagger( - TARGET status_swagger - VAR status_swagger_file - IN_FILE ${CMAKE_CURRENT_SOURCE_DIR}/admin/api-doc/status.json - OUT_FILE ${CMAKE_CURRENT_BINARY_DIR}/admin/api-doc/status.json.h -) - -seastar_generate_swagger( - TARGET features_swagger - VAR features_swagger_file - IN_FILE ${CMAKE_CURRENT_SOURCE_DIR}/admin/api-doc/features.json - OUT_FILE ${CMAKE_CURRENT_BINARY_DIR}/admin/api-doc/features.json.h -) - -seastar_generate_swagger( - TARGET broker_swagger - VAR broker_swagger_file - IN_FILE ${CMAKE_CURRENT_SOURCE_DIR}/admin/api-doc/broker.json - OUT_FILE ${CMAKE_CURRENT_BINARY_DIR}/admin/api-doc/broker.json.h -) - -seastar_generate_swagger( - TARGET partition_swagger - VAR partition_swagger_file - IN_FILE ${CMAKE_CURRENT_SOURCE_DIR}/admin/api-doc/partition.json - OUT_FILE ${CMAKE_CURRENT_BINARY_DIR}/admin/api-doc/partition.json.h -) - -seastar_generate_swagger( - TARGET hbadger_swagger - VAR hbadger_swagger_file - IN_FILE ${CMAKE_CURRENT_SOURCE_DIR}/admin/api-doc/hbadger.json - OUT_FILE ${CMAKE_CURRENT_BINARY_DIR}/admin/api-doc/hbadger.json.h -) - -seastar_generate_swagger( - TARGET transaction_swagger - VAR transaction_swagger_file - IN_FILE ${CMAKE_CURRENT_SOURCE_DIR}/admin/api-doc/transaction.json - OUT_FILE ${CMAKE_CURRENT_BINARY_DIR}/admin/api-doc/transaction.json.h -) - -seastar_generate_swagger( - TARGET debug_swagger - VAR debug_swagger_file - IN_FILE ${CMAKE_CURRENT_SOURCE_DIR}/admin/api-doc/debug.json - OUT_FILE ${CMAKE_CURRENT_BINARY_DIR}/admin/api-doc/debug.json.h -) +set(swags + config + cluster_config + raft + security + status + features + broker + partition + hbadger + transaction + debug) + +set(swag_files) +foreach(swag ${swags}) + seastar_generate_swagger( + TARGET ${swag}_swagger + VAR ${swag}_swagger_files + IN_FILE ${CMAKE_CURRENT_SOURCE_DIR}/admin/api-doc/${swag}.json + OUT_FILE ${CMAKE_CURRENT_BINARY_DIR}/admin/api-doc/${swag}.json.h + ) + list(APPEND swag_files ${${swag}_swagger_files}) +endforeach() v_cc_library( NAME application SRCS + ${swag_files} admin_server.cc request_auth.cc application.cc @@ -98,9 +45,6 @@ add_executable(redpanda ) target_link_libraries(redpanda PUBLIC v::application v::raft v::kafka) set_property(TARGET redpanda PROPERTY POSITION_INDEPENDENT_CODE ON) -add_dependencies(v_application config_swagger cluster_config_swagger raft_swagger - security_swagger status_swagger broker_swagger partition_swagger hbadger_swagger - transaction_swagger features_swagger debug_swagger) if(CMAKE_BUILD_TYPE MATCHES Release) include(CheckIPOSupported)