.travis.yml: Generate and validate html documentation.
authorRalph Giles <giles@thaumas.net>
Tue, 30 Jul 2019 17:30:21 +0000 (10:30 -0700)
committerErik de Castro Lopo <erikd@mega-nerd.com>
Sun, 4 Aug 2019 07:05:09 +0000 (17:05 +1000)
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.

.travis.yml

index 64fac31..40ddbe7 100644 (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