mirror of
https://github.com/latentPrion/cppbessot.git
synced 2026-04-17 18:44:23 +00:00
Add auto-generation notices for generated files
This directs new devs to look for the source files instead of wasting time editing generated files.
This commit is contained in:
@@ -16,6 +16,7 @@ function(cppbessot_add_db_gen_zod_target version)
|
|||||||
set(_openapi_file "${_version_dir}/openapi/openapi.yaml")
|
set(_openapi_file "${_version_dir}/openapi/openapi.yaml")
|
||||||
set(_output_dir "${_version_dir}/generated-zod")
|
set(_output_dir "${_version_dir}/generated-zod")
|
||||||
set(_output_file "${_output_dir}/schemas.ts")
|
set(_output_file "${_output_dir}/schemas.ts")
|
||||||
|
set(_prepend_notice_script "${CMAKE_CURRENT_LIST_DIR}/scripts/prepend_cppbessot_notice.cmake")
|
||||||
|
|
||||||
add_custom_target(db_gen_zod
|
add_custom_target(db_gen_zod
|
||||||
COMMAND ${CMAKE_COMMAND} -E make_directory "${_output_dir}"
|
COMMAND ${CMAKE_COMMAND} -E make_directory "${_output_dir}"
|
||||||
@@ -23,6 +24,9 @@ function(cppbessot_add_db_gen_zod_target version)
|
|||||||
"${_openapi_file}"
|
"${_openapi_file}"
|
||||||
--output "${_output_file}"
|
--output "${_output_file}"
|
||||||
--export-schemas
|
--export-schemas
|
||||||
|
COMMAND ${CMAKE_COMMAND}
|
||||||
|
-DCPPBESSOT_TARGET_FILE="${_output_file}"
|
||||||
|
-P "${_prepend_notice_script}"
|
||||||
COMMENT "Generating Zod schemas for ${version}"
|
COMMENT "Generating Zod schemas for ${version}"
|
||||||
VERBATIM
|
VERBATIM
|
||||||
)
|
)
|
||||||
|
|||||||
20
cmake/scripts/prepend_cppbessot_notice.cmake
Normal file
20
cmake/scripts/prepend_cppbessot_notice.cmake
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
if(NOT DEFINED CPPBESSOT_TARGET_FILE OR "${CPPBESSOT_TARGET_FILE}" STREQUAL "")
|
||||||
|
message(FATAL_ERROR "CPPBESSOT_TARGET_FILE is required")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Some CMake command invocations can pass wrapped quotes through -D values.
|
||||||
|
set(_target_file "${CPPBESSOT_TARGET_FILE}")
|
||||||
|
string(REGEX REPLACE "^\"(.*)\"$" "\\1" _target_file "${_target_file}")
|
||||||
|
|
||||||
|
if(NOT EXISTS "${_target_file}")
|
||||||
|
message(FATAL_ERROR "Target file does not exist: ${_target_file}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
file(READ "${_target_file}" _content)
|
||||||
|
|
||||||
|
if(_content MATCHES "AUTO-GENERATED BY CppBeSsot")
|
||||||
|
return()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(_notice "/*\n * AUTO-GENERATED BY CppBeSsot.\n * Direct edits are pointless: this file is regenerated.\n * Update the OpenAPI schema and/or CppBeSsot templates, then regenerate generated-* outputs.\n */\n\n")
|
||||||
|
file(WRITE "${_target_file}" "${_notice}${_content}")
|
||||||
@@ -1,5 +1,10 @@
|
|||||||
{{#models}}
|
{{#models}}
|
||||||
{{#model}}
|
{{#model}}
|
||||||
|
/*
|
||||||
|
* AUTO-GENERATED BY CppBeSsot.
|
||||||
|
* Direct edits are pointless: this file is regenerated.
|
||||||
|
* Update the OpenAPI schema and/or CppBeSsot templates, then regenerate generated-* outputs.
|
||||||
|
*/
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
|
|||||||
@@ -1,5 +1,10 @@
|
|||||||
{{#models}}
|
{{#models}}
|
||||||
{{#model}}
|
{{#model}}
|
||||||
|
/*
|
||||||
|
* AUTO-GENERATED BY CppBeSsot.
|
||||||
|
* Direct edits are pointless: this file is regenerated.
|
||||||
|
* Update the OpenAPI schema and/or CppBeSsot templates, then regenerate generated-* outputs.
|
||||||
|
*/
|
||||||
#include "{{packageName}}/model/{{classname}}.h"
|
#include "{{packageName}}/model/{{classname}}.h"
|
||||||
|
|
||||||
namespace models {
|
namespace models {
|
||||||
|
|||||||
Reference in New Issue
Block a user