From 2d19f1b5bc4b6806506b02f9a11f0a67e97ee647 Mon Sep 17 00:00:00 2001 From: Dmitry Arkhipov Date: Fri, 2 May 2025 13:55:56 +0300 Subject: [PATCH] use Python version of Docca --- .drone.star | 2 +- .drone/drone.sh | 9 +-- doc/Jamfile | 26 ++++---- doc/config.json | 12 ++++ doc/externals.hpp | 64 +++++++++++++++++++ doc/xsl/custom-overrides.xsl | 11 ---- include/boost/static_string/static_string.hpp | 2 +- 7 files changed, 93 insertions(+), 33 deletions(-) create mode 100644 doc/config.json create mode 100644 doc/externals.hpp delete mode 100644 doc/xsl/custom-overrides.xsl diff --git a/.drone.star b/.drone.star index e0e8f5e..e1a381d 100644 --- a/.drone.star +++ b/.drone.star @@ -64,7 +64,7 @@ def main(ctx): linux_cxx("S390x: Clang 12", "clang++-12", packages="clang-12 libstdc++-9-dev", llvm_os="focal", llvm_ver="12", buildtype="boost", buildscript="drone", image="cppalliance/droneubuntu2004:multiarch", environment={'B2_TOOLSET': 'clang-12', 'B2_CXXFLAGS': '-Werror', 'B2_CXXSTD': '17,20'}, arch="s390x", globalenv=globalenv), # Documentation - # linux_cxx("Docs", "g++", packages="docbook docbook-xml docbook-xsl xsltproc libsaxonhe-java default-jre-headless flex libfl-dev bison unzip rsync", buildtype="docs", buildscript="drone", image="cppalliance/droneubuntu1804:1", environment={'COMMENT': 'docs'}, globalenv=globalenv), + # linux_cxx("Docs", "g++", packages="docbook docbook-xml docbook-xsl python3-jinja2 xsltproc flex libfl-dev bison unzip rsync", buildtype="docs", buildscript="drone", image="cppalliance/droneubuntu1804:1", environment={'COMMENT': 'docs'}, globalenv=globalenv), # CMake tests (https://github.com/boostorg/boost-ci) ## Compiling as part of the boost superproject diff --git a/.drone/drone.sh b/.drone/drone.sh index 05d7ecd..0affbfd 100755 --- a/.drone/drone.sh +++ b/.drone/drone.sh @@ -58,12 +58,7 @@ elif [ "$DRONE_JOB_BUILDTYPE" == "docs" ]; then cmake -H. -Bbuild -DCMAKE_BUILD_TYPE=Release cd build sudo make install - cd ../.. - if [ ! -f saxonhe.zip ]; then wget -O saxonhe.zip https://sourceforge.net/projects/saxon/files/Saxon-HE/9.9/SaxonHE9-9-1-4J.zip/download && echo "not-cached"; else echo "cached"; fi - unzip -o saxonhe.zip - sudo rm /usr/share/java/Saxon-HE.jar - sudo cp saxon9he.jar /usr/share/java/Saxon-HE.jar - cd .. + cd ../../.. BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true git clone -b $BOOST_BRANCH https://github.com/boostorg/boost.git boost-root --depth 1 cd boost-root @@ -80,7 +75,7 @@ elif [ "$DRONE_JOB_BUILDTYPE" == "docs" ]; then echo '==================================> SCRIPT' - echo "using doxygen ; using boostbook ; using saxonhe ;" >tools/build/src/user-config.jam + echo "using doxygen ; using boostbook ; using python : : python3 ;" >tools/build/src/user-config.jam ./b2 -j3 libs/$SELF/doc//boostrelease elif [ "$DRONE_JOB_BUILDTYPE" == "codecov" ]; then diff --git a/doc/Jamfile b/doc/Jamfile index 25c9a6f..252e5a6 100644 --- a/doc/Jamfile +++ b/doc/Jamfile @@ -9,21 +9,23 @@ project static_string/doc ; +import-search /boost/docca ; + import boostbook ; -import type ; +import docca ; +import path ; import os ; -import ../../../tools/docca/docca.jam ; +import type ; -docca.reference reference.qbk +local include-prefix = [ path.root $(__file__:D) [ path.pwd ] ] ; +include-prefix = [ path.native $(include-prefix:D)/include ] ; + +docca.pyreference reference.qbk : - xsl/custom-overrides.xsl [ glob-tree-ex ../include/boost/static_string : *.hpp *.ipp : detail impl ] + externals.hpp : - PROJECT_NAME=StaticString - PROJECT_BRIEF="Static String Library" ALIASES="esafe=\"@par Exception Safety\"" - FILE_PATTERNS= - EXAMPLE_PATTERNS= DISTRIBUTE_GROUP_DOC=YES MACRO_EXPANSION=YES EXPAND_ONLY_PREDEF=YES @@ -40,19 +42,17 @@ docca.reference reference.qbk EXTRACT_ALL=YES EXTRACT_PRIVATE=YES EXTRACT_LOCAL_CLASSES=NO - SHOW_INCLUDE_FILES=NO INLINE_INFO=NO SORT_MEMBER_DOCS=NO SORT_MEMBERS_CTORS_1ST=YES - SHOW_USED_FILES=NO - SHOW_FILES=NO - SHOW_NAMESPACES=NO - CLASS_DIAGRAMS=NO + STRIP_FROM_PATH=$(include-prefix) # ALLOW_UNICODE_NAMES=NO # GROUP_NESTED_COMPOUNDS=NO # HIDE_COMPOUND_REFERENCE=NO # WARN_AS_ERROR=NO + + config.json ; #------------------------------------------------------------------------------- diff --git a/doc/config.json b/doc/config.json new file mode 100644 index 0000000..47ff971 --- /dev/null +++ b/doc/config.json @@ -0,0 +1,12 @@ +{ + "include_private": false, + "legacy_behavior": false, + "external_marker": "!EXTERNAL!", + "link_prefix": "static_string.ref.", + "default_namespace": "boost::static_strings", + "allowed_prefixes": ["boost::static_strings::", "std::"], + "convenience_header": "boost/static_string.hpp", + "replace_strings": { + "__see_below__": "``['see-below]``" + } +} diff --git a/doc/externals.hpp b/doc/externals.hpp new file mode 100644 index 0000000..ca3ef2d --- /dev/null +++ b/doc/externals.hpp @@ -0,0 +1,64 @@ +#pragma once + +namespace boost { + +/// !EXTERNAL! +/// +/// @see https://www.boost.org/doc/libs/release/libs/utility/doc/html/utility/utilities/string_view.html +template +struct basic_string_view {}; + +} // namespace boost + +namespace std { + +/// !EXTERNAL! +/// +/// @see https://en.cppreference.com/w/cpp/iterator/reverse_iterator +template +struct reverse_iterator {}; + +/// !EXTERNAL! +/// +/// @see https://en.cppreference.com/w/cpp/types/size_t +struct size_t {}; + +/// !EXTERNAL! +/// +/// @see https://en.cppreference.com/w/cpp/types/integer +struct uint64_t {}; + +/// !EXTERNAL! +/// +/// @see https://en.cppreference.com/w/cpp/types/integer +struct int64_t {}; + +/// !EXTERNAL! +/// +/// @see https://en.cppreference.com/w/cpp/types/nullptr_t +struct nullptr_t {}; + +/// !EXTERNAL! +/// +/// @see https://en.cppreference.com/w/cpp/types/ptrdiff_t +struct ptrdiff_t {}; + +/// !EXTERNAL! +/// +/// @see https://en.cppreference.com/w/cpp/utility/initializer_list +template +struct initializer_list {}; + +/// !EXTERNAL! +/// +/// @see https://en.cppreference.com/w/cpp/io/basic_ostream +template +struct basic_ostream {}; + +/// !EXTERNAL! +/// +/// @see https://en.cppreference.com/w/cpp/types/numeric_limits +template +struct numeric_limits {}; + +} // namespace std diff --git a/doc/xsl/custom-overrides.xsl b/doc/xsl/custom-overrides.xsl deleted file mode 100644 index 28ff3e4..0000000 --- a/doc/xsl/custom-overrides.xsl +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - diff --git a/include/boost/static_string/static_string.hpp b/include/boost/static_string/static_string.hpp index fce1ddb..a43d118 100644 --- a/include/boost/static_string/static_string.hpp +++ b/include/boost/static_string/static_string.hpp @@ -913,7 +913,7 @@ throw_exception(const char* msg) basic_static_string>; @endcode - @see to_static_string + @see @ref to_static_string. */ template>