In the following example, l3build doc fails with a complaint that it can't find file test.def which is included in test.sty using \input{test.def}.

I can build the documentation successfully manually (i.e., by running latex test.ins; pdflatex test.dtx; pdflatex test.dtx.

Any clue as to what I'm doing wrong? Or could this be a bug in l3build?

MWE

Sorry for the three files. Not sure how to do it more neatly.

build.lua

module = "test"

test.ins

\input l3docstrip.tex
\askforoverwritefalse
\generate{\file{test.sty}{\from{test.dtx}{package}}
          \file{test.def}{\from{test.dtx}{definitions}}
}
\endbatchfile

test.dtx

% \iffalse meta-comment
%<*driver>
\documentclass{l3doc}
\usepackage{test}
\begin{document}
\DocInput{\jobname.dtx}
\end{document}
%</driver>
% \fi
% \fillertext
%    \begin{macrocode}
%<*package>
\ProvidesPackage{test}
\input{test.def}
%</package>
%    \end{macrocode}
%    \begin{macrocode}
%<*definitions>
\ProvidesFile{test.def}
\def\fillertext{Filler text.}
%</definitions>
%    \end{macrocode}
up vote 6 down vote accepted

By design, l3build unpacks files in one place, and copies those requested to a different place for running tests and typesetting. So you need to tell it which files to make available. Here, you probably want the .def files in installfiles

installfiles = {"*.def", "*.sty"}

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.