diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 00000000..70a6342b --- /dev/null +++ b/.gitmodules @@ -0,0 +1,4 @@ +[submodule "docca"] + path = doc/docca + url = https://github.com/vinniefalco/docca.git + branch = . diff --git a/CHANGELOG.md b/CHANGELOG.md index a5ee8d88..72ba1156 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,14 +1,19 @@ +Version 280: + +* Fix non-msvc cmake +* Use docca master branch + +-------------------------------------------------------------------------------- + Version 279: +* Use regular throw in test * Fix pragma warning -* Use superproject docca -------------------------------------------------------------------------------- Version 278: -* Update documentation -* Update docca submodule * Use regular throw in test -------------------------------------------------------------------------------- diff --git a/CMakeLists.txt b/CMakeLists.txt index ca291db8..9612c220 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -40,7 +40,7 @@ endfunction() # #------------------------------------------------------------------------------- -project (Beast VERSION 279) +project (Beast VERSION 277) set_property (GLOBAL PROPERTY USE_FOLDERS ON) option (Beast_BUILD_EXAMPLES "Build examples" ON) diff --git a/doc/Jamfile b/doc/Jamfile index 854a69cc..0cee1212 100644 --- a/doc/Jamfile +++ b/doc/Jamfile @@ -37,6 +37,34 @@ local sources = [ path.glob-tree ../include/boost/beast : *.hpp *.ipp : detail i #ECHO Using xsltproc from "$(.xsltproc)" ; +#------------------------------------------------------------------------------- +# +# Generate transform.xsl. This xsl transfomration takes as input +# the Doxygen-generated XML and produces QuickBook output. +# +make transform.xsl + : + docca/include/docca/doxygen.xsl + xsl/config.xsl + xsl/class_detail.xsl + xsl/includes.xsl + xsl/includes_foot.xsl + : + @make_transform + ; + +# Make a copy of the docca transform. Then, insert our +# customizations into the speciall marked locations using sed. +# +actions make_transform +{ + cp $(2[1]) $(1) + sed -i -e "//{r $(2[2])" -e "d}" $(1) + sed -i -e "//{r $(2[3])" -e "d}" $(1) + sed -i -e "//{r $(2[4])" -e "d}" $(1) + sed -i -e "//{r $(2[5])" -e "d}" $(1) +} + #------------------------------------------------------------------------------- # # Invoke Doxygen to process the header files and produce the XML @@ -78,140 +106,8 @@ else } } -#------------------------------------------------------------------------------- -# -# Copy all the XSLT modules to the target directory. -# -# FIXME: Change this so we can just specify a directory, -# rather than every file individually. -# -# Also, somehow force dependencies in a general way -# such that the XSLT has to be executed again -# if any of the modules change. For example, -# if base-extract-xml-pages.xml changes, then -# an invocation of extract-xml-pages.xsl (which -# imports the former) must be run again. -# -path-constant docca : ../../../tools/docca ; -make extract-xml-pages.xsl : $(docca)/include/docca/extract-xml-pages.xsl : @copy_script ; -make base-extract-xml-pages.xsl : $(docca)/include/docca/base-extract-xml-pages.xsl : @copy_script ; -make common.xsl : $(docca)/include/docca/common.xsl : @copy_script ; -make stage1.xsl : $(docca)/include/docca/stage1.xsl : @copy_script ; -make base-stage1.xsl : $(docca)/include/docca/base-stage1.xsl : @copy_script ; -make stage2.xsl : $(docca)/include/docca/stage2.xsl : @copy_script ; -make assemble-quickbook.xsl : $(docca)/include/docca/assemble-quickbook.xsl : @copy_script ; -make emphasized-types.xsl : $(docca)/include/docca/emphasized-types.xsl : @copy_script ; - -make config.xsl - : - $(docca)/include/docca/config.xsl - xsl/config.xsl - xsl/class_detail.xsl - xsl/includes.xsl - : - @make_config - ; - -actions make_config -{ - cp $(2[1]) $(1) - sed -i -e "//{r $(2[2])" -e "d}" $(1) - sed -i -e "//{r $(2[4])" -e "d}" $(1) -} - -# Make a copy of the given file. -# -actions copy_script -{ - cp $(2[1]) $(1) -} - - -# This is to initially create the directory as a side effect; I'm sure there's a better way... -make xml-pages/directory/placeholder : index.xml : @null_action ; - -#------------------------------------------------------------------------------- -# -# Run index.xml through the first transformation stage -# (assembling and splitting the XML into page-specific files). -# -make xml-pages.xml - : - index.xml - extract-xml-pages.xsl - - # Make bjam aware of additional dependencies - base-extract-xml-pages.xsl - config.xsl - common.xsl - : - saxonhe.saxonhe - ; - -# This is just to make the directory eligible as a source -make xml-pages : index.xml : @null_action ; - -# Not ready for prime time until I figure out how to get the xslt-visualizer code in place -#make stage1/code-trace-enabled/stage1.xsl -# : -# stage1.xsl -# xslt-visualizer/xsl/trace-enable.xsl -# : -# saxonhe.saxonhe -# ; - -# This is to initially create the directory as a side effect; I'm sure there's a better way... -make stage1/results/directory/placeholder : xml-pages.xml : @null_action ; -make stage2/results/directory/placeholder : xml-pages.xml : @null_action ; - -# TODO: figure out why this (and the following stage) get built every time -make stage1/results - : - xml-pages - stage1.xsl - - # additional dependencies - xml-pages.xml - base-stage1.xsl - config.xsl - common.xsl - : - saxonhe.saxonhe - ; - -make stage2/results - : - stage1/results - stage2.xsl - : - saxonhe.saxonhe - ; - -make reference.qbk - : - xml-pages.xml - assemble-quickbook.xsl - - # TODO: make this input to the XSLT somehow - # rather than relying on it being hard-coded - # in the XSLT (which it is!) - stage2/results - : - saxonhe.saxonhe - ; - -actions make_dir -{ - mkdir $(1) -} - make combine.xslt : index.xml : @null_action ; -actions touch_file -{ - touch $(1) ; -} - actions null_action { touch -c $(1) ; @@ -235,13 +131,13 @@ actions call-xsltproc # Produce the reference.qbk file by running # the reference xml through the transform. # -#make reference.qbk -# : -# reference.xml -# transform.xsl -# : -# saxonhe.saxonhe -# ; +make reference.qbk + : + reference.xml + transform.xsl + : + saxonhe.saxonhe + ; # We have to make a copy of reference.qbk and put it # in a place where the static .qbk files can find it @@ -305,4 +201,4 @@ alias boostdoc ; explicit boostdoc ; alias boostrelease : beast ; -explicit boostrelease ; \ No newline at end of file +explicit boostrelease ; diff --git a/doc/docca b/doc/docca new file mode 160000 index 00000000..77a24a56 --- /dev/null +++ b/doc/docca @@ -0,0 +1 @@ +Subproject commit 77a24a56c68ebb158f7d605cc3d5546510002c1c diff --git a/doc/xsl/config.xsl b/doc/xsl/config.xsl index cdbe93f7..798a532c 100644 --- a/doc/xsl/config.xsl +++ b/doc/xsl/config.xsl @@ -1,6 +1,6 @@ + - diff --git a/doc/xsl/includes.xsl b/doc/xsl/includes.xsl index 8660e7e1..a84b5e77 100644 --- a/doc/xsl/includes.xsl +++ b/doc/xsl/includes.xsl @@ -1,8 +1,5 @@ - -core.hpp -http.hpp -ssl.hpp -websocket.hpp -zlib.hpp - - + + Defined in header [include_file + + ] + diff --git a/doc/xsl/includes_foot.xsl b/doc/xsl/includes_foot.xsl new file mode 100644 index 00000000..f50c71d5 --- /dev/null +++ b/doc/xsl/includes_foot.xsl @@ -0,0 +1,19 @@ + + + + Convenience header [include_file boost/beast/core.hpp] + + + Convenience header [include_file boost/beast/http.hpp] + + + Convenience header [include_file boost/beast/ssl.hpp] + + + Convenience header [include_file boost/beast/websocket.hpp] + + + Convenience header [include_file boost/beast/zlib.hpp] + + + diff --git a/include/boost/beast/_experimental/unit_test/suite.hpp b/include/boost/beast/_experimental/unit_test/suite.hpp index 58f8598b..fd6e2a2f 100644 --- a/include/boost/beast/_experimental/unit_test/suite.hpp +++ b/include/boost/beast/_experimental/unit_test/suite.hpp @@ -11,6 +11,7 @@ #define BOOST_BEAST_UNIT_TEST_SUITE_HPP #include +#include #include #include #include @@ -565,7 +566,7 @@ fail(std::string const& reason) if(abort_) { aborted_ = true; - throw abort_exception(); + BOOST_THROW_EXCEPTION(abort_exception()); } } @@ -583,7 +584,7 @@ suite:: propagate_abort() { if(abort_ && aborted_) - throw abort_exception(); + BOOST_THROW_EXCEPTION(abort_exception()); } template diff --git a/include/boost/beast/version.hpp b/include/boost/beast/version.hpp index 2dcc4992..e6c1882e 100644 --- a/include/boost/beast/version.hpp +++ b/include/boost/beast/version.hpp @@ -20,7 +20,7 @@ This is a simple integer that is incremented by one every time a set of code changes is merged to the develop branch. */ -#define BOOST_BEAST_VERSION 279 +#define BOOST_BEAST_VERSION 277 #define BOOST_BEAST_VERSION_STRING "Boost.Beast/" BOOST_STRINGIZE(BOOST_BEAST_VERSION) diff --git a/include/boost/beast/websocket/stream_base.hpp b/include/boost/beast/websocket/stream_base.hpp index 8553e5a6..a214553f 100644 --- a/include/boost/beast/websocket/stream_base.hpp +++ b/include/boost/beast/websocket/stream_base.hpp @@ -159,12 +159,7 @@ struct stream_base } }; -private: - template< - class NextLayer, - bool deflateSupported> - friend class stream; - +protected: enum class status { //none, diff --git a/test/beast/core/saved_handler.cpp b/test/beast/core/saved_handler.cpp index e1a7b2cd..57a105c6 100644 --- a/test/beast/core/saved_handler.cpp +++ b/test/beast/core/saved_handler.cpp @@ -86,7 +86,7 @@ public: throwing_handler(throwing_handler&&) { - throw std::exception{}; + BOOST_THROW_EXCEPTION(std::exception{}); } void