UniFormal / MMT

The MMT Language and System
https://uniformal.github.io/
Other
68 stars 23 forks source link

SMS build process broken (missing recursion) #459

Closed lambdaTotoro closed 5 years ago

lambdaTotoro commented 5 years ago

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.

lambdaTotoro commented 5 years ago

Fixed as of commit 993b419.