Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

build: simplify admin server json handling #4400

Merged
merged 1 commit into from
Apr 25, 2022
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
104 changes: 24 additions & 80 deletions src/v/redpanda/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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)
Expand Down