diff options
author | Karl Berry <karl@freefriends.org> | 2024-05-27 19:30:08 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2024-05-27 19:30:08 +0000 |
commit | ab7200a827c60dd7e1684b60f79c1a60a1c0c5bc (patch) | |
tree | 7400ea9171470a2fb1d94f2ad9d2104addfac060 /Master/texmf-dist | |
parent | 76576e2aa4eae12ccb2c8886d7a7c26091860173 (diff) |
l3build (27may24)
git-svn-id: svn://tug.org/texlive/trunk@71371 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r-- | Master/texmf-dist/doc/latex/l3build/CHANGELOG.md | 12 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/l3build/README.md | 2 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/l3build/l3build.pdf | bin | 750889 -> 750224 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/man/man1/l3build.1 | 154 | ||||
-rw-r--r-- | Master/texmf-dist/doc/man/man1/l3build.man1.pdf | bin | 15764 -> 16007 bytes | |||
-rw-r--r-- | Master/texmf-dist/scripts/l3build/l3build-aux.lua | 16 | ||||
-rw-r--r-- | Master/texmf-dist/scripts/l3build/l3build-check.lua | 9 | ||||
-rw-r--r-- | Master/texmf-dist/scripts/l3build/l3build-help.lua | 2 | ||||
-rw-r--r-- | Master/texmf-dist/scripts/l3build/l3build-typesetting.lua | 5 | ||||
-rwxr-xr-x | Master/texmf-dist/scripts/l3build/l3build.lua | 2 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/l3build/l3build.dtx | 8 |
11 files changed, 103 insertions, 107 deletions
diff --git a/Master/texmf-dist/doc/latex/l3build/CHANGELOG.md b/Master/texmf-dist/doc/latex/l3build/CHANGELOG.md index ea466dfcccd..f2231144d8b 100644 --- a/Master/texmf-dist/doc/latex/l3build/CHANGELOG.md +++ b/Master/texmf-dist/doc/latex/l3build/CHANGELOG.md @@ -7,6 +7,15 @@ this project uses date-based 'snapshot' version identifiers. ## [Unreleased] +## [2024-05-27] + +### Changed +- Respect `--rerun` in `doc` target (issue \#112) + +### Fixed +- Skip unknown engines correctly in `l3build save` +- Handling of environment settings in some cases (issue \#353) + ## [2024-02-08] ### Changed @@ -776,7 +785,8 @@ this project uses date-based 'snapshot' version identifiers. - Rationalise short option names: removed `-d`, `-E`, `-r` - Target `cmdcheck`: specific to LaTeX kernel work -[Unreleased]: https://github.com/latex3/l3build/compare/2024-02-08...HEAD +[Unreleased]: https://github.com/latex3/l3build/compare/2024-05-27...HEAD +[2024-05-27]: https://github.com/latex3/l3build/compare/2024-02-08...2024-05-27 [2024-02-08]: https://github.com/latex3/l3build/compare/2024-01-18...2024-02-08 [2024-01-18]: https://github.com/latex3/l3build/compare/2024-01-09...2024-01-18 [2024-01-09]: https://github.com/latex3/l3build/compare/2024-01-04...2024-01-09 diff --git a/Master/texmf-dist/doc/latex/l3build/README.md b/Master/texmf-dist/doc/latex/l3build/README.md index b5172bbf210..1b49dc0b0c2 100644 --- a/Master/texmf-dist/doc/latex/l3build/README.md +++ b/Master/texmf-dist/doc/latex/l3build/README.md @@ -1,7 +1,7 @@ l3build: a testing and building system for LaTeX ================================================= -Release 2024-02-08 +Release 2024-05-27 Overview -------- diff --git a/Master/texmf-dist/doc/latex/l3build/l3build.pdf b/Master/texmf-dist/doc/latex/l3build/l3build.pdf Binary files differindex af2c8688f0b..93f4b8f3abe 100644 --- a/Master/texmf-dist/doc/latex/l3build/l3build.pdf +++ b/Master/texmf-dist/doc/latex/l3build/l3build.pdf diff --git a/Master/texmf-dist/doc/man/man1/l3build.1 b/Master/texmf-dist/doc/man/man1/l3build.1 index b983494b73d..d42e486f3ca 100644 --- a/Master/texmf-dist/doc/man/man1/l3build.1 +++ b/Master/texmf-dist/doc/man/man1/l3build.1 @@ -1,91 +1,71 @@ -.TH l3build 1 "2024-02-08" +.TH L3BUILD 1 "2024-05-27" "LaTeX" + .SH NAME -l3build \- Checking and building packages +l3build + .SH SYNOPSIS -l3build <target> [<options>] [<names>] + Usage l3build <target> [<options>] [<names>] + .SH DESCRIPTION -The l3build system is a Lua script for building TeX packages, with particular -emphasis on regression testing. It is written in cross-platform Lua code, so -can be used by any modern TeX distribution with the texlua interpreter. A -package for building with l3build can be written in any TeX dialect; its -defaults are set up for LaTeX packages written in the DocStrip style. -.PP -The standard l3build targets are: -.IP check -Runs all automated tests -.IP clean -Cleans out directory tree -.IP ctan -Creates CTAN-ready archive -.IP doc -Typesets all documentation files -.IP install -Installs files into the local texmf tree -.IP manifest -Creates a manifest file -.IP save -Saves test validation log -.IP tag -Updates release tags in files -.IP uninstall -Uninstalls files from the local texmf tree -.IP unpack -Unpacks the source files into the build tree -.IP upload -Sends archive to CTAN for public release +------ + +The l3build module is designed to support the development of +high-quality LaTeX code by providing: +* A unit testing system +* Automated typesetting of code sources +* A reliable packaging system for CTAN releases + +The bundle consists of a Lua script to run the tasks and a +.tex file which provides the testing environment. These were +originally developed for supporting LaTeX development but +are designed such that they can be readily used by others. Full +documentation is provided. + +.SH COMMANDS +Valid targets are: + check Runs all automated tests + clean Cleans out directory tree + ctan Creates CTAN-ready archive + doc Typesets all documentation files + install Installs files into the local texmf tree + manifest Creates a manifest file + save Saves test validation log + tag Updates release tags in files + uninstall Uninstalls files from the local texmf tree + unpack Unpacks the source files into the build tree + upload Sends archive to CTAN for public release + .SH OPTIONS -Various options apply -.IP --config|-c -Sets the config(s) used for running tests -.IP --date -Sets the date to insert into sources -.IP --debug -Runs target in debug mode -.IP --dirty -Skips cleaning up the test area -.IP --dry-run -Dry run for install or upload -.IP --email -Email address of CTAN uploader -.IP --engine|-e -Sets the engine(s) to use for running test -.IP --epoch -Sets the epoch for tests and typesetting -.IP --file|-F -Takes the upload announcement from the given file -.IP --first -Name of first test to run -.IP --full -Installs all files -.IP --halt-on-error|-H -Stops running tests after the first failure -.IP --help|-h -Prints help message and exits -.IP --last -Name of last test to run -.IP --message|-m -Text for upload announcement message -.IP --quiet|-q -Suppresses TeX output when unpacking -.IP --rerun -Skips setup: simply reruns tests -.IP --show-log-on-error -Shows the full log of the failure with 'halt-on-error' -.IP --show-saves|-S -Shows the invocation to update failing .tlg files -.IP --shuffle -Shuffles order of tests -.IP --stdengine|-s -Run tests with the std engine (config dependent) -.IP --texmfhome -Location of user texmf tree -.IP --version -Prints version information and exits -.SH BUGS -.SH AUTHOR -The LaTeX Project (latex-team@latex-project.org) -.PP -Please log issues on the GitHub homepage: -https://github.com/latex3/l3build/issues. -.SH SEE ALSO -See l3build.pdf for more details. +Valid options are: + --config|-c Sets the config(s) used for running tests + --date Sets the date to insert into sources + --debug Runs target in debug mode + --dirty Skips cleaning up the test area + --dry-run Dry run for install or upload + --email Email address of CTAN uploader + --engine|-e Sets the engine(s) to use for running test + --epoch Sets the epoch for tests and typesetting + --file|-F Takes the upload announcement from the given file + --first Name of first test to run + --full Installs all files + --halt-on-error|-H Stops running tests after the first failure + --help|-h Prints this message and exits + --last Name of last test to run + --message|-m Text for upload announcement message + --quiet|-q Suppresses TeX output when unpacking + --rerun Skips setup: simply reruns tests + --show-log-on-error Shows the full log of the failure with 'halt-on-error' + --show-saves|-S Shows the invocation to update failing .tlg files + --shuffle Shuffles order of tests + --stdengine|-s Run tests with the std engine (config dependent) + --texmfhome Location of user texmf tree + --version Prints version information and exits + +.SH "SEE ALSO" +Full manual available via 'texdoc l3build'. + +Repository : https://github.com/latex3/l3build + +Bug tracker : https://github.com/latex3/l3build/issues +.SH AUTHORS +Copyright (C) 2014-2024 The LaTeX Project diff --git a/Master/texmf-dist/doc/man/man1/l3build.man1.pdf b/Master/texmf-dist/doc/man/man1/l3build.man1.pdf Binary files differindex 76bd5b2e58c..037e91e199d 100644 --- a/Master/texmf-dist/doc/man/man1/l3build.man1.pdf +++ b/Master/texmf-dist/doc/man/man1/l3build.man1.pdf diff --git a/Master/texmf-dist/scripts/l3build/l3build-aux.lua b/Master/texmf-dist/scripts/l3build/l3build-aux.lua index dd8c410fc09..bf0b85c6989 100644 --- a/Master/texmf-dist/scripts/l3build/l3build-aux.lua +++ b/Master/texmf-dist/scripts/l3build/l3build-aux.lua @@ -189,9 +189,9 @@ function runcmd(cmd,dir,vars) dir = abspath(dir) vars = vars or {} -- Allow for local texmf files - local env = "" - if not match(checkformat,"^context$") then - env = os_setenv .. " TEXMFCNF=." .. os_pathsep .. os_concat + local env + if checkformat ~= "context" then + env = os_setenv .. " TEXMFCNF=." .. os_pathsep end local envpaths = "." .. localtexmf() .. os_pathsep .. abspath(localdir) .. os_pathsep @@ -201,11 +201,9 @@ function runcmd(cmd,dir,vars) envpaths = gsub(envpaths,'"','') end for _,var in pairs(vars) do - if env ~= "" then - env = env .. os_setenv .. " " .. var .. "=" .. envpaths .. os_concat - else - env = os_setenv .. " " .. var .. "=" .. envpaths - end + env = (env and (env .. os_concat) or "") + .. os_setenv .. " " .. var .. "=" .. envpaths end - return run(dir,set_epoch_cmd(epoch, forcedocepoch) .. env .. cmd) + return run(dir,set_epoch_cmd(epoch, forcedocepoch) + .. (env and (env .. os_concat) or "") .. cmd) end diff --git a/Master/texmf-dist/scripts/l3build/l3build-check.lua b/Master/texmf-dist/scripts/l3build/l3build-check.lua index 812187123a4..d6d30e3e2aa 100644 --- a/Master/texmf-dist/scripts/l3build/l3build-check.lua +++ b/Master/texmf-dist/scripts/l3build/l3build-check.lua @@ -778,7 +778,7 @@ function runtest(name, engine, hide, ext, test_type, breakout) local function setup(file) return " -jobname=" .. name .. tokens .. ' "\\input ' .. file .. '" ' end - if match(checkformat,"^context$") then + if checkformat == "context" then function setup(file) return tokens .. ' "' .. file .. '" ' end end if match(binary,"make4ht") then @@ -1119,7 +1119,12 @@ function save(names) return errorlevel end end - local engines = options["engine"] or {stdengine} + local engines + if options["engine"] then + engines = checkengines -- sanitized by check_engines() + else + engines = {stdengine} + end if names == nil then print("Arguments are required for the save command") return 1 diff --git a/Master/texmf-dist/scripts/l3build/l3build-help.lua b/Master/texmf-dist/scripts/l3build/l3build-help.lua index 46b0bc45b39..9cad7135ddb 100644 --- a/Master/texmf-dist/scripts/l3build/l3build-help.lua +++ b/Master/texmf-dist/scripts/l3build/l3build-help.lua @@ -59,7 +59,7 @@ function help() if not (match(arg[0], "l3build%.lua$") or match(arg[0],"l3build$")) then scriptname = arg[0] end - print("usage: " .. scriptname .. " <target> [<options>] [<names>]") + print("\nUsage: " .. scriptname .. " <target> [<options>] [<names>]") print("") print("Valid targets are:") local longest,t = setup_list(target_list) diff --git a/Master/texmf-dist/scripts/l3build/l3build-typesetting.lua b/Master/texmf-dist/scripts/l3build/l3build-typesetting.lua index 8de57f3718d..eaffbe6ae95 100644 --- a/Master/texmf-dist/scripts/l3build/l3build-typesetting.lua +++ b/Master/texmf-dist/scripts/l3build/l3build-typesetting.lua @@ -181,7 +181,10 @@ function docinit_hook() return 0 end -- Typeset all required documents -- Uses a set of dedicated auxiliaries that need to be available to others function doc(files) - local errorlevel = docinit() + local errorlevel = 0 + if not options["rerun"] then + errorlevel = docinit() + end if errorlevel ~= 0 then return errorlevel end local done = {} local files_unknown = {} diff --git a/Master/texmf-dist/scripts/l3build/l3build.lua b/Master/texmf-dist/scripts/l3build/l3build.lua index 5b40bc51115..bb53a2ce55a 100755 --- a/Master/texmf-dist/scripts/l3build/l3build.lua +++ b/Master/texmf-dist/scripts/l3build/l3build.lua @@ -25,7 +25,7 @@ for those people who are interested. --]] -- Version information -release_date = "2024-02-08" +release_date = "2024-05-27" -- File operations are aided by the LuaFileSystem module local lfs = require("lfs") diff --git a/Master/texmf-dist/source/latex/l3build/l3build.dtx b/Master/texmf-dist/source/latex/l3build/l3build.dtx index 96c1f0ead88..2433c7a3115 100644 --- a/Master/texmf-dist/source/latex/l3build/l3build.dtx +++ b/Master/texmf-dist/source/latex/l3build/l3build.dtx @@ -251,7 +251,7 @@ % }^^A % } % -% \date{Released 2024-02-08} +% \date{Released 2024-05-27} % % \maketitle % \tableofcontents @@ -1227,9 +1227,9 @@ % \subsection{Settings in \texttt{texmf.cnf}} % % To allow application of non-standard \TeX{} trees or similar non-standard -% settings, \pkg{l3build} enables searching for a \texttt{texmf.cnf} file -% by setting the envirnmental variable \texttt{TEXMFCNF}. This might -% for example be used with a file containing +% settings, \pkg{l3build} sets the environment variable \texttt{TEXMFCNF} +% to allow reading of any \texttt{texmf.cnf} file present in the support folder. +% This might for example be used with a file containing % \begin{verbatim} % TEXMFAUXTREES = ../../texmf, % \end{verbatim} |