docs/Makefile:50 is:
dirhtml: setup
@$(javadoc)
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
javadoc is a target (docs/Makefile:55-57), not a variable, so $(javadoc) expands to
the empty string and the @ silences the resulting empty recipe line:
$ make --eval='proof:; @echo "[$(javadoc)]"' proof
[]
So make -C docs dirhtml has never generated api/, and never reported that it did not. The
only path that runs docs/_utils/javadoc.sh is make -C docs javadoc, directly or via
javadoc-multiversion.sh during a multiversion build.
CI is unaffected — the publish goes through multiversion.sh — but a local dirhtml preview
silently lacks javadoc, and any api/ present is left over from an earlier run.
Fix: make javadoc a prerequisite (dirhtml: setup javadoc) or call the script
explicitly. Worth checking whether dirhtml should depend on it at all, since the javadoc
build is slow and most local previews do not need it — in which case the dead line should just
go.
Found while working on #1118.
docs/Makefile:50is:javadocis a target (docs/Makefile:55-57), not a variable, so$(javadoc)expands tothe empty string and the
@silences the resulting empty recipe line:So
make -C docs dirhtmlhas never generatedapi/, and never reported that it did not. Theonly path that runs
docs/_utils/javadoc.shismake -C docs javadoc, directly or viajavadoc-multiversion.shduring a multiversion build.CI is unaffected — the publish goes through
multiversion.sh— but a localdirhtmlpreviewsilently lacks javadoc, and any
api/present is left over from an earlier run.Fix: make
javadoca prerequisite (dirhtml: setup javadoc) or call the scriptexplicitly. Worth checking whether
dirhtmlshould depend on it at all, since the javadocbuild is slow and most local previews do not need it — in which case the dead line should just
go.
Found while working on #1118.