diff --git a/Makefile.am b/Makefile.am index b69acc73a5..0f13358ccb 100644 --- a/Makefile.am +++ b/Makefile.am @@ -462,7 +462,7 @@ EXTRA_DIST += \ introspection/meson.build check-docs: - $(srcdir)/tools/check-docs.sh "$(srcdir)" + $(srcdir)/tools/check-docs.sh "$(srcdir)" "$(builddir)" check_local += check-docs diff --git a/docs/api/network-manager-docs.xml b/docs/api/network-manager-docs.xml index ec2712474b..06ac37415d 100644 --- a/docs/api/network-manager-docs.xml +++ b/docs/api/network-manager-docs.xml @@ -257,15 +257,6 @@ Types - - - diff --git a/docs/libnm/libnm-docs.xml b/docs/libnm/libnm-docs.xml index 3597d84972..eb4f6cf585 100644 --- a/docs/libnm/libnm-docs.xml +++ b/docs/libnm/libnm-docs.xml @@ -294,13 +294,6 @@ print ("NetworkManager version " + client.get_version())]]> - - Object Hierarchy diff --git a/docs/meson.build b/docs/meson.build index 1fb21fb47d..92e6d6e9b9 100644 --- a/docs/meson.build +++ b/docs/meson.build @@ -14,5 +14,5 @@ endif test( 'check-docs', find_program(join_paths(meson.source_root(), 'tools', 'check-docs.sh')), - args: [meson.source_root()] + args: [meson.source_root(), meson.build_root()] ) diff --git a/tools/check-docs.sh b/tools/check-docs.sh index b7623fed88..b6fca6e0d9 100755 --- a/tools/check-docs.sh +++ b/tools/check-docs.sh @@ -2,6 +2,8 @@ set -e +export LANG=C + die() { printf '%s\n' "$@" >&2 exit 1 @@ -15,25 +17,48 @@ word_regex() { } same_lines() { - diff <(printf "%s\n" "$1" | sed '/^$/d' | sort) \ - <(printf "%s\n%s\n" "$2" "$3" | sed '/^$/d' | sort) >&2 + diff <(printf "%s\n" "$1" | sed '/^$/d' | sort) \ + <(printf "%s\n" "$2" | sed '/^$/d' | sort) >&2 } +libnm_headers() { + ( + ls -1 "$1"libnm/*.h "$1"libnm-core/*.h + if [ -n "$2" ]; then + ls -1 "$2"/libnm/*.h "$2"/libnm-core/*.h + fi + ) | sort | uniq +} + + SOURCEDIR="$1" +BUILDDIR="$2" +if test "$SOURCEDIR" == "$BUILDDIR"; then + BUILDDIR= +fi [ -n "$SOURCEDIR" ] && SOURCEDIR="$SOURCEDIR/" + # Check that the D-Bus API docs contain all known interfaces F1="$(sed -n 's,^ $,\1,p' "$SOURCEDIR"docs/api/network-manager-docs.xml)" +F1_EXTRA=" +org.freedesktop.NetworkManager.Device.WiMax.xml +org.freedesktop.NetworkManager.WiMax.Nsp.xml +" F2="$(cd "$SOURCEDIR"introspection; ls -1 *.xml)" -if ! same_lines "$F1" "$F2" ; then +if ! same_lines "$F1"$'\n'"$F1_EXTRA" "$F2" ; then die "*** Error: D-Bus interfaces not included in docs/api/network-manager-docs.xml ***" fi + # Check that files that define types that are in public libnm API are included in libnm documentation. F1="$(sed -n 's/.*