Closed jlaurens closed 6 days ago
@zauguin Thoughts here?
One more situation to consider: real life testing. How would you build the various packages in the examples folder? Is it necessary to install the development version of l3build first? Can it be sandboxed?
always use
require"l3build-...
newzip = build_require"zip"
inl3build.lua
(another global variable) orl3build.newzip = build_require"zip"
inl3build.lua
(another global variable, but more friendly)make
build_require
global or call itl3build.require
Option 4 (which I'm in favor of): Add a searcher to make require'l3build-...' behave the same as
build_require`.
I think generally for l3build it's much nicer to always have a consistent set of versions without local replacements. Also this avoids picking up partially installed versions. That shouldn't depend on the call syntax though.
In
l3build.lua
we have a local functionbuild_require
to require various packages. Inl3build-ctan.lua
, we haverequire"l3build-zip"
. Consider next layoutIf you run
l3build
on this package, the locall3build-zip.lua
will replace the global one, but not the otherl3build-<whatever>.lua
.3 solutions
require"l3build-...
newzip = build_require"zip"
inl3build.lua
(another global variable) orl3build.newzip = build_require"zip"
inl3build.lua
(another global variable, but more friendly)build_require
global or call itl3build.require
solution 1 offers more possibilities.