mirror of
https://github.com/fish-shell/fish-shell
synced 2024-12-26 12:53:13 +00:00
Factor out script to build commands.hdr
As part of factoring out the documentation building parts of the fish build, add a new file build_commands_hdr.sh that builds the commands.hdr file. Invoke it from both the Makefile and CMake build.
This commit is contained in:
parent
f044084f3a
commit
088450cbf5
3 changed files with 67 additions and 16 deletions
|
@ -4,7 +4,21 @@ FILE(GLOB COMPLETIONS_DIR_FILES share/completions/*.fish)
|
||||||
# Files in ./share/functions/
|
# Files in ./share/functions/
|
||||||
FILE(GLOB FUNCTIONS_DIR_FILES share/functions/*.fish)
|
FILE(GLOB FUNCTIONS_DIR_FILES share/functions/*.fish)
|
||||||
|
|
||||||
# Build lexicon_filter
|
# Files in doc_src
|
||||||
|
FILE(GLOB DOC_SRC_FILES doc_src/*)
|
||||||
|
|
||||||
|
# .txt files in doc_src
|
||||||
|
FILE(GLOB HELP_SRC doc_src/*.txt)
|
||||||
|
|
||||||
|
# These files are the source files, they contain a few @FOO@-style substitutions.
|
||||||
|
# Note that this order defines the order that they appear in the documentation.
|
||||||
|
SET(HDR_FILES_SRC doc_src/index.hdr.in doc_src/tutorial.hdr doc_src/design.hdr
|
||||||
|
doc_src/license.hdr doc_src/commands.hdr.in doc_src/faq.hdr)
|
||||||
|
|
||||||
|
# These are the generated result files.
|
||||||
|
STRING(REPLACE ".in" "" HDR_FILES ${HDR_FILES_SRC})
|
||||||
|
|
||||||
|
# Build lexicon_filter.
|
||||||
ADD_CUSTOM_COMMAND(OUTPUT lexicon_filter
|
ADD_CUSTOM_COMMAND(OUTPUT lexicon_filter
|
||||||
COMMAND build_tools/build_lexicon_filter.sh
|
COMMAND build_tools/build_lexicon_filter.sh
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/share/completions/
|
${CMAKE_CURRENT_SOURCE_DIR}/share/completions/
|
||||||
|
@ -17,3 +31,33 @@ ADD_CUSTOM_COMMAND(OUTPUT lexicon_filter
|
||||||
doc_src/commands.hdr lexicon_filter.in
|
doc_src/commands.hdr lexicon_filter.in
|
||||||
share/functions/__fish_config_interactive.fish
|
share/functions/__fish_config_interactive.fish
|
||||||
build_tools/build_lexicon_filter.sh)
|
build_tools/build_lexicon_filter.sh)
|
||||||
|
|
||||||
|
#
|
||||||
|
# commands.dr collects documentation on all commands, functions and
|
||||||
|
# builtins
|
||||||
|
#
|
||||||
|
|
||||||
|
ADD_CUSTOM_COMMAND(OUTPUT doc_src/commands.hdr
|
||||||
|
COMMAND build_tools/build_commands_hdr.sh ${HELP_SRC}
|
||||||
|
< doc_src/commands.hdr.in
|
||||||
|
> ${CMAKE_CURRENT_BINARY_DIR}/doc_src/commands.hdr
|
||||||
|
DEPENDS ${DOC_SRC_FILES} doc_src/commands.hdr.in build_tools/build_commands_hdr.sh)
|
||||||
|
|
||||||
|
# doc.h is a compilation of the various snipptes of text used both for
|
||||||
|
# the user documentation and for internal help functions into a single
|
||||||
|
# file that can be parsed by Doxygen to generate the user
|
||||||
|
# documentation.
|
||||||
|
ADD_CUSTOM_COMMAND(OUTPUT doc.h
|
||||||
|
COMMAND cat ${HDR_FILES} > ${CMAKE_CURRENT_BINARY_DIR}/doc.h
|
||||||
|
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
|
DEPENDS ${HDR_FILES})
|
||||||
|
|
||||||
|
ADD_CUSTOM_TARGET(doc
|
||||||
|
COMMAND "(cat Doxyfile.user; echo INPUT_FILTER=./lexicon_filter; echo PROJECT_NUMBER=${FISH_BUILD_VERSION} |\
|
||||||
|
/usr/bin/env sed 's/-.*//') | doxygen - && touch user_doc)"
|
||||||
|
DEPENDS ${HDR_FILES_SRC} Doxyfile.user ${DOC_SRC_FILES} doc.h $(HDR_FILES) lexicon_filter)
|
||||||
|
|
||||||
|
# doc: $(HDR_FILES_SRC) Doxyfile.user $(HTML_SRC) $(HELP_SRC) doc.h $(HDR_FILES) lexicon_filter
|
||||||
|
# @echo " doxygen $(em)user_doc$(sgr0)"
|
||||||
|
# $v (cat Doxyfile.user; echo INPUT_FILTER=./lexicon_filter; echo PROJECT_NUMBER=$(FISH_BUILD_VERSION) | $(SED) "s/-.*//") | doxygen - && touch user_doc
|
||||||
|
# $v rm -f $(wildcard $(addprefix ./user_doc/html/,arrow*.png bc_s.png bdwn.png closed.png doc.png folder*.png ftv2*.png nav*.png open.png splitbar.png sync_*.png tab*.* doxygen.* dynsections.js jquery.js pages.html))
|
17
Makefile.in
17
Makefile.in
|
@ -403,21 +403,8 @@ test_interactive: $(call filter_up_to,test_interactive,$(active_test_goals))
|
||||||
# commands.hdr collects documentation on all commands, functions and
|
# commands.hdr collects documentation on all commands, functions and
|
||||||
# builtins
|
# builtins
|
||||||
#
|
#
|
||||||
doc_src/commands.hdr:$(HELP_SRC) doc_src/commands.hdr.in |
|
doc_src/commands.hdr:$(HELP_SRC) doc_src/commands.hdr.in build_tools/build_commands_hdr.sh
|
||||||
@echo " CAT AWK $(em)$@$(sgr0)"
|
build_tools/build_commands_hdr.sh ${HELP_SRC} < doc_src/commands.hdr.in > $@
|
||||||
$v rm -f command_list.tmp command_list_toc.tmp $@
|
|
||||||
$v for i in `printf "%s\n" $(HELP_SRC) | LC_ALL=C.UTF-8 sort`; do \
|
|
||||||
echo "<hr>" >>command_list.tmp; \
|
|
||||||
cat $$i >>command_list.tmp; \
|
|
||||||
echo >>command_list.tmp; \
|
|
||||||
echo >>command_list.tmp; \
|
|
||||||
NAME=`basename $$i .txt`; \
|
|
||||||
echo '- <a href="#'$$NAME'">'$$NAME'</a>' >> command_list_toc.tmp; \
|
|
||||||
echo "Back to <a href='index.html#toc-commands'>command index</a>". >>command_list.tmp; \
|
|
||||||
done
|
|
||||||
$v mv command_list.tmp command_list.txt
|
|
||||||
$v mv command_list_toc.tmp command_list_toc.txt
|
|
||||||
$v cat $@.in | $(AWK) '{if ($$0 ~ /@command_list_toc@/) { system("cat command_list_toc.txt"); } else if ($$0 ~ /@command_list@/){ system("cat command_list.txt");} else{ print $$0;}}' >$@
|
|
||||||
|
|
||||||
toc.txt: $(HDR_FILES:index.hdr=index.hdr.in) | show-SED
|
toc.txt: $(HDR_FILES:index.hdr=index.hdr.in) | show-SED
|
||||||
@echo " SED $(em)$@$(sgr0)"
|
@echo " SED $(em)$@$(sgr0)"
|
||||||
|
|
20
build_tools/build_commands_hdr.sh
Executable file
20
build_tools/build_commands_hdr.sh
Executable file
|
@ -0,0 +1,20 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Builds the commands.hdr file.
|
||||||
|
# Usage: build_commands_hdr.sh ${HELP_SRC} < commands_hdr.in > commands.hdr
|
||||||
|
|
||||||
|
rm -f command_list.tmp command_list_toc.tmp
|
||||||
|
for i in `printf "%s\n" $@ | LC_ALL=C.UTF-8 sort`; do
|
||||||
|
echo "<hr>" >>command_list.tmp;
|
||||||
|
cat $i >>command_list.tmp;
|
||||||
|
echo >>command_list.tmp;
|
||||||
|
echo >>command_list.tmp;
|
||||||
|
NAME=`basename $i .txt`;
|
||||||
|
echo '- <a href="#'$NAME'">'$NAME'</a>' >> command_list_toc.tmp;
|
||||||
|
echo "Back to <a href='index.html#toc-commands'>command index</a>". >>command_list.tmp;
|
||||||
|
done
|
||||||
|
mv command_list.tmp command_list.txt
|
||||||
|
mv command_list_toc.tmp command_list_toc.txt
|
||||||
|
/usr/bin/env awk '{if ($0 ~ /@command_list_toc@/) { system("cat command_list_toc.txt"); }
|
||||||
|
else if ($0 ~ /@command_list@/){ system("cat command_list.txt");}
|
||||||
|
else{ print $0;}}'
|
Loading…
Reference in a new issue