doc: Find and post-process untracked SVG files.
Right now the UML template write many files which were not tracked by CMake. This caused them to be missing from the doc since the post-processing was added.
This commit is contained in:
parent
4bd90f0f35
commit
3510d96d6c
|
@ -292,7 +292,7 @@ if(GENERATE_DOC)
|
||||||
configure_file(${SOURCE_DIR}/docs/ldoc.ltp ${BUILD_DIR}/docs COPYONLY)
|
configure_file(${SOURCE_DIR}/docs/ldoc.ltp ${BUILD_DIR}/docs COPYONLY)
|
||||||
|
|
||||||
add_custom_target(ldoc ALL
|
add_custom_target(ldoc ALL
|
||||||
DEPENDS ${BUILD_DIR}/doc/index.html
|
DEPENDS ${BUILD_DIR}/doc/index.html DOC_EXAMPLES_PPOSTPROCESS_CLEANUP
|
||||||
)
|
)
|
||||||
|
|
||||||
if (STRICT_TESTS)
|
if (STRICT_TESTS)
|
||||||
|
|
|
@ -309,7 +309,6 @@ function(run_test test_path namespace escaped_content)
|
||||||
DEPENDS ${TARGET_NAME}_RAW "${TOP_SOURCE_DIR}/tests/examples/_postprocess.lua"
|
DEPENDS ${TARGET_NAME}_RAW "${TOP_SOURCE_DIR}/tests/examples/_postprocess.lua"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
if(NOT ${OUTPUT_RAW_IMAGE_PATH} STREQUAL "")
|
if(NOT ${OUTPUT_RAW_IMAGE_PATH} STREQUAL "")
|
||||||
file(RELATIVE_PATH rel_output "${TOP_SOURCE_DIR}" "${OUTPUT_RAW_IMAGE_PATH}")
|
file(RELATIVE_PATH rel_output "${TOP_SOURCE_DIR}" "${OUTPUT_RAW_IMAGE_PATH}")
|
||||||
if(tmp_content MATCHES "--DOC_GEN_OUTPUT")
|
if(tmp_content MATCHES "--DOC_GEN_OUTPUT")
|
||||||
|
@ -382,4 +381,11 @@ endforeach()
|
||||||
add_custom_target(generate-examples DEPENDS ${EXAMPLE_DOC_GENERATED_FILES})
|
add_custom_target(generate-examples DEPENDS ${EXAMPLE_DOC_GENERATED_FILES})
|
||||||
add_custom_target(check-examples DEPENDS ${EXAMPLE_DOC_TEST_TARGETS})
|
add_custom_target(check-examples DEPENDS ${EXAMPLE_DOC_TEST_TARGETS})
|
||||||
|
|
||||||
|
# Some tests produce multiple files, find them and post-process them.
|
||||||
|
add_custom_target(DOC_EXAMPLES_PPOSTPROCESS_CLEANUP
|
||||||
|
COMMAND "${TOP_SOURCE_DIR}/tests/examples/_postprocess_cleanup.lua" ${RAW_IMAGE_DIR} ${IMAGE_DIR} "${TOP_SOURCE_DIR}/tests/examples/_postprocess.lua"
|
||||||
|
VERBATIM
|
||||||
|
DEPENDS ${BUILD_DIR}/doc/index.html
|
||||||
|
)
|
||||||
|
|
||||||
# vim: filetype=cmake:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80:foldmethod=marker
|
# vim: filetype=cmake:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80:foldmethod=marker
|
||||||
|
|
|
@ -23,9 +23,8 @@ local i, o = io.open(input, "r"), io.open(output, "w")
|
||||||
|
|
||||||
if (not i) or (not o) then return end
|
if (not i) or (not o) then return end
|
||||||
|
|
||||||
local line, count = i:read("*line"), 0
|
local line = i:read("*line")
|
||||||
|
local count
|
||||||
local add_link = false
|
|
||||||
|
|
||||||
while line do
|
while line do
|
||||||
-- Deduplicate and concatenate the classes.
|
-- Deduplicate and concatenate the classes.
|
||||||
|
|
|
@ -0,0 +1,45 @@
|
||||||
|
#!/usr/bin/env lua
|
||||||
|
-- This script locate and post process all "dangling" files CMake
|
||||||
|
-- didn't track. This allows the `tests/examples/` file to save more
|
||||||
|
-- than one output artifact.
|
||||||
|
|
||||||
|
pcall(require, "luarocks.loader")
|
||||||
|
|
||||||
|
local gio = require("lgi").Gio
|
||||||
|
|
||||||
|
local name_attr = gio.FILE_ATTRIBUTE_STANDARD_NAME
|
||||||
|
local type_attr = gio.FILE_ATTRIBUTE_STANDARD_TYPE
|
||||||
|
|
||||||
|
local raw_path, processed_path, script_path = ...
|
||||||
|
|
||||||
|
local function list_svg(path)
|
||||||
|
local ret = {}
|
||||||
|
|
||||||
|
local enumerator = gio.File.new_for_path(path):enumerate_children(
|
||||||
|
table.concat({name_attr, type_attr}, ",") , 0, nil, nil
|
||||||
|
)
|
||||||
|
|
||||||
|
for file in function() return enumerator:next_file() end do
|
||||||
|
local file_name = file:get_attribute_as_string(name_attr)
|
||||||
|
local file_type = file:get_file_type()
|
||||||
|
local match_ext = file_name:match("[.]svg$")
|
||||||
|
|
||||||
|
if file_type == "REGULAR" and match_ext then
|
||||||
|
ret[file_name] = true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return ret
|
||||||
|
end
|
||||||
|
|
||||||
|
local raw_files, processed_files = list_svg(raw_path), list_svg(processed_path)
|
||||||
|
|
||||||
|
for file in pairs(raw_files) do
|
||||||
|
if not processed_files[file] then
|
||||||
|
os.execute(table.concat({
|
||||||
|
script_path,
|
||||||
|
raw_path .. "/" .. file,
|
||||||
|
processed_path .. "/" .. file
|
||||||
|
}, " "))
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in New Issue