.travis.yml: Generate and validate html documentation.

Install Doxygen when running on the linux environment to test
generation of the API documentation.

Run the included static html documentation as well as the
generated API documentation through xmllint to verify
it conforms to the declared DTD. Since this this will be very
slow or fail relying on network resources, also install
the w3c-sgml library so the xhtml1 DTDs are available locally.

We're checking the source files, not build results in the
particular environment, so it's fine to run this check
on only a subset of builds.

Don't validate on CMake builds since they're not currently
generating API documentation even when Doxygen is available.
This commit is contained in:
Ralph Giles 2019-07-30 10:30:21 -07:00 committed by Erik de Castro Lopo
parent fcabd81aba
commit e229fb4e56
1 changed files with 5 additions and 1 deletions

View File

@ -17,9 +17,13 @@ env:
- BUILD_SYSTEM="cmake" CONFIGURE_OPTS=
- BUILD_SYSTEM="cmake" CONFIGURE_OPTS=-DENABLE_64_BIT_WORDS=ON
install:
- if [ $TRAVIS_OS_NAME = linux ]; then sudo apt-get -y install libtool-bin libogg-dev; fi
- if [ $TRAVIS_OS_NAME = linux ]; then sudo apt-get -y install libtool-bin libogg-dev doxygen libxml2-utils w3c-sgml-lib; fi
- if [ $TRAVIS_OS_NAME = osx ]; then brew install libogg; fi
script:
- if [[ "${BUILD_SYSTEM}" == "autotools" ]]; then ./autogen.sh && ./configure $CONFIGURE_OPTS && make && make check; fi
- if [[ "${BUILD_SYSTEM}" == "cmake" ]]; then mkdir cmake-build && cd cmake-build && cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON $CONFIGURE_OPTS && cmake --build . && ctest -V; fi
- if [ $TRAVIS_OS_NAME = linux ] && [ ${BUILD_SYSTEM} = "autotools" ]; then
xmllint --valid --noout doc/html/*.html;
xmllint --valid --noout doc/html/api/*.html;
fi