While trying to fix #404 , Michael and I noticed that the issue apparently runs deeper than initially thought. It seems that even without using the commands that were the topic there (like \usemhmodules), the build system still doesn't build all .sms dependencies properly. The use of --forceDeps does not change that.
So we believe that somewhere in the dependency handling, there is some wonky stuff going on.
I have created a test playground with the smallest breaking example that we could think of. That might be useful for anyone trying to fix this. You can find it here or install it via mmt lmh install stex-test.
There, we would expect to see that mmt make pdflatex notes.tex also makes the .sms dependencies of that file, namely bar.sms and baz.sms. I doesn't however.
It seems that only the first level of dependencies (i.e. those in notes.tex) are built: if we add an \importmhmodule[path=foobar]{foobar} to note.tex, then foobar.sms is built. So there seems to be a recursive call missing for the case for \mhinputref{foo} in notes.tex: even though there is only a physical dependency on foo.tex, we need to build all dependencies of foo.tex (i.e. bar.tex and baz.tex as well). I think adding this would fix the issue.
A greater overhaul of (this part of the) build system than originally anticipated might be necessary.
While trying to fix #404 , Michael and I noticed that the issue apparently runs deeper than initially thought. It seems that even without using the commands that were the topic there (like
\usemhmodules
), the build system still doesn't build all.sms
dependencies properly. The use of--forceDeps
does not change that. So we believe that somewhere in the dependency handling, there is some wonky stuff going on.I have created a test playground with the smallest breaking example that we could think of. That might be useful for anyone trying to fix this. You can find it here or install it via
mmt lmh install stex-test
. There, we would expect to see thatmmt make pdflatex notes.tex
also makes the.sms
dependencies of that file, namelybar.sms
andbaz.sms
. I doesn't however.It seems that only the first level of dependencies (i.e. those in
notes.tex
) are built: if we add an\importmhmodule[path=foobar]{foobar}
tonote.tex
, thenfoobar.sms
is built. So there seems to be a recursive call missing for the case for\mhinputref{foo}
innotes.tex
: even though there is only a physical dependency onfoo.tex
, we need to build all dependencies offoo.tex
(i.e.bar.tex
andbaz.tex
as well). I think adding this would fix the issue.A greater overhaul of (this part of the) build system than originally anticipated might be necessary.