diff options
Diffstat (limited to 'Master')
-rw-r--r-- | Master/texmf-dist/doc/latex/l3build/CHANGELOG.md | 14 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/l3build/README.md | 2 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/l3build/l3build.pdf | bin | 693301 -> 697243 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/man/man1/l3build.1 | 2 | ||||
-rw-r--r-- | Master/texmf-dist/doc/man/man1/l3build.man1.pdf | bin | 15104 -> 15356 bytes | |||
-rw-r--r-- | Master/texmf-dist/scripts/l3build/l3build-arguments.lua | 17 | ||||
-rw-r--r-- | Master/texmf-dist/scripts/l3build/l3build-check.lua | 35 | ||||
-rw-r--r-- | Master/texmf-dist/scripts/l3build/l3build-upload.lua | 5 | ||||
-rwxr-xr-x | Master/texmf-dist/scripts/l3build/l3build.lua | 2 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/l3build/l3build.dtx | 70 |
10 files changed, 120 insertions, 27 deletions
diff --git a/Master/texmf-dist/doc/latex/l3build/CHANGELOG.md b/Master/texmf-dist/doc/latex/l3build/CHANGELOG.md index a93fef69cb1..5adace2012d 100644 --- a/Master/texmf-dist/doc/latex/l3build/CHANGELOG.md +++ b/Master/texmf-dist/doc/latex/l3build/CHANGELOG.md @@ -7,6 +7,17 @@ this project uses date-based 'snapshot' version identifiers. ## [Unreleased] +## [2019-06-18] + +### Added + +- Switch `--show-log-on-error` for use with `--halt-on-error`. Results in the `.log` file + being show in full on the console to aid in non-interactive debugging. + +### Changed + +- Moved LuaTeX-specific font cache normalisation + ## [2019-02-10] ### Fixed @@ -251,7 +262,8 @@ this project uses date-based 'snapshot' version identifiers. - Rationalise short option names: removed `-d`, `-E`, `-r` - Target `cmdcheck`: specific to LaTeX3 kernel work -[Unreleased]: https://github.com/latex3/l3build/compare/2019-02-10...HEAD +[Unreleased]: https://github.com/latex3/l3build/compare/2019-06-18...HEAD +[2019-06-18]: https://github.com/latex3/l3build/compare/2019-02-10...2019-06-18 [2019-02-10]: https://github.com/latex3/l3build/compare/2019-02-06...2019-02-10 [2019-02-06]: https://github.com/latex3/l3build/compare/2018-12-23...2019-02-06 [2018-12-23]: https://github.com/latex3/l3build/compare/2018-12-18...2018-12-23 diff --git a/Master/texmf-dist/doc/latex/l3build/README.md b/Master/texmf-dist/doc/latex/l3build/README.md index 49d1a4253e9..0c7eeb233e9 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 LaTeX3 ================================================= -Release 2019-02-10 +Release 2019-06-18 Overview -------- diff --git a/Master/texmf-dist/doc/latex/l3build/l3build.pdf b/Master/texmf-dist/doc/latex/l3build/l3build.pdf Binary files differindex 5304822630d..bddcaaf002e 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 bc2686d0b95..81d82a908c4 100644 --- a/Master/texmf-dist/doc/man/man1/l3build.1 +++ b/Master/texmf-dist/doc/man/man1/l3build.1 @@ -1,4 +1,4 @@ -.TH l3build 1 "2019-02-10" +.TH l3build 1 "2019-06-18" .SH NAME l3build \- Checking and building packages .SH SYNOPSIS 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 28aaae3e5fd..4cc0aa6c47c 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-arguments.lua b/Master/texmf-dist/scripts/l3build/l3build-arguments.lua index a6a13a43fee..cbf68c6254a 100644 --- a/Master/texmf-dist/scripts/l3build/l3build-arguments.lua +++ b/Master/texmf-dist/scripts/l3build/l3build-arguments.lua @@ -111,12 +111,6 @@ option_list = short = "h", type = "boolean" }, - quiet = - { - desc = "Suppresses TeX output when unpacking", - short = "q", - type = "boolean" - }, last = { desc = "Name of last test to run", @@ -128,11 +122,22 @@ option_list = short = "m", type = "string" }, + quiet = + { + desc = "Suppresses TeX output when unpacking", + short = "q", + type = "boolean" + }, rerun = { desc = "Skip setup: simply rerun tests", type = "boolean" }, + ["show-log-on-error"] = + { + desc = "If 'halt-on-error' stops, show the full log of the failure", + type = "boolean" + }, shuffle = { desc = "Shuffle order of tests", diff --git a/Master/texmf-dist/scripts/l3build/l3build-check.lua b/Master/texmf-dist/scripts/l3build/l3build-check.lua index 96c5d719949..301c0df1853 100644 --- a/Master/texmf-dist/scripts/l3build/l3build-check.lua +++ b/Master/texmf-dist/scripts/l3build/l3build-check.lua @@ -243,6 +243,9 @@ local function normalize_log(content,engine,errlevels) match(line, "^used structure >") then return "" end + -- The first time a new font is used by LuaTeX, it shows up + -- as being cached: make it appear loaded every time + line = gsub(line, "save cache:", "load cache:") -- A tidy-up to keep LuaTeX and other engines in sync line = gsub(line, utf8_char(127), "^^?") -- Unicode engines display chars in the upper half of the 8-bit range: @@ -345,9 +348,6 @@ local function normalize_lua_log(content,luatex) "Missing character: There is no (%^%^..) %(U%+(....)%)", "Missing character: There is no %1" ) - -- The first time a new font is used, it shows up - -- as being cached - line = gsub(line, "(save cache:", "(load cache:") -- LuaTeX from v1.07 logs kerns differently ... -- This block only applies to the output of LuaTeX itself, -- hence needing a flag to skip the case of the reference log @@ -544,9 +544,14 @@ function runcheck(name, hide) local function check_and_diff(ext,engine,comp,pdftest) runtest(name,engine,hide,ext,pdftest,true) local errorlevel = comp(name,engine) - if errorlevel ~= 0 and options["halt-on-error"] then + if errorlevel == 0 then + return errorlevel + end + if options["show-log-on-error"] then + showfailedlog(name) + end + if options["halt-on-error"] then showfaileddiff() - return 1 end return errorlevel end @@ -728,7 +733,7 @@ function runtest(name, engine, hide, ext, pdfmode, breakout) -- Ensure lines are of a known length os_setenv .. " max_print_line=" .. maxprintline .. os_concat .. - binary .. format + binary .. format .. " " .. asciiopt .. " " .. checkopts .. setup(lvtfile) .. (hide and (" > " .. os_null) or "") @@ -907,6 +912,20 @@ function checkdiff() print("") end +function showfailedlog(name) + print("\nCheck failed with log file") + for _,i in ipairs(filelist(testdir, name..".log")) do + print(" - " .. testdir .. "/" .. i) + print("") + local f = open(testdir .. "/" .. i,"r") + local content = f:read("*all") + close(f) + print("-----------------------------------------------------------------------------------") + print(content) + print("-----------------------------------------------------------------------------------") + end +end + function showfaileddiff() print("\nCheck failed with difference file") for _,i in ipairs(filelist(testdir, "*" .. os_diffext)) do @@ -927,7 +946,7 @@ function save(names) for _,name in pairs(names) do if testexists(name) then for _,engine in pairs(engines) do - local testengine = ((engine == stdengine and "") or "." .. engine) + local testengine = ((engine == stdengine and "") or "." .. engine) local function save_test(test_ext,gen_ext,out_ext,pdfmode) local out_file = name .. testengine .. out_ext local gen_file = name .. "." .. engine .. gen_ext @@ -956,7 +975,7 @@ function save(names) return 1 else print('Test "'.. name .. '"not found') - return 1 + return 1 end end return 0 diff --git a/Master/texmf-dist/scripts/l3build/l3build-upload.lua b/Master/texmf-dist/scripts/l3build/l3build-upload.lua index 4256ed0854f..de1899ad2cb 100644 --- a/Master/texmf-dist/scripts/l3build/l3build-upload.lua +++ b/Master/texmf-dist/scripts/l3build/l3build-upload.lua @@ -121,12 +121,13 @@ function upload(tagnames) -- curl file version - local curlopt=open(ctanzip .. ".curlopt","w") + local curloptfile = uploadconfig.curlopt_file or (ctanzip .. ".curlopt") + local curlopt=open(curloptfile,"w") output(curlopt) write(ctan_post) close(curlopt) - ctan_post=curlexe .. " --config " .. ctanzip .. ".curlopt" + ctan_post=curlexe .. " --config " .. curloptfile if options["debug"] then diff --git a/Master/texmf-dist/scripts/l3build/l3build.lua b/Master/texmf-dist/scripts/l3build/l3build.lua index 4c8cd86c075..9d51648553a 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 = "2019-02-10" +release_date = "2019-06-18" -- 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 7a662751323..4a5dc0f51cf 100644 --- a/Master/texmf-dist/source/latex/l3build/l3build.dtx +++ b/Master/texmf-dist/source/latex/l3build/l3build.dtx @@ -1,6 +1,6 @@ % \iffalse % -% File l3build.dtx (C) Copyright 2014-2018 The LaTeX3 Project +% File l3build.dtx (C) Copyright 2014-2019 The LaTeX3 Project % % It may be distributed and/or modified under the conditions of the % LaTeX Project Public License (LPPL), either version 1.3c of this @@ -227,7 +227,7 @@ % }^^A % } % -% \date{Released 2019-02-10} +% \date{Released 2019-06-18} % % \maketitle % \tableofcontents @@ -352,10 +352,12 @@ % \item |--halt-on-error| (|-H|) Specifies that checks % should stop as soon as possible, rather than running all requested % tests; the difference file is printed in the terminal directly in the case of failure -% \item |--last| Name of the last test to run +% \item |--last| Name of the last test to run % \item |--message| (|-m|) Text for upload announcement % \item |--quiet| (|-q|) Suppresses output from unpacking % \item |--rerun| Run tests without unpacking/set up +% \item |--show-log-on-error| To be used in addition to \texttt{--halt-on-error} and results +% in the full \texttt{.log} file of a failed test to be shown on the console % \item |--shuffle| Shuffle the order in which tests run % \item |--texmfhome| Sets the location of the user tree for installing % \end{itemize} @@ -1331,15 +1333,37 @@ % and a simple example of an extract from a \texttt{build.lua} file using this is shown % in Figure~\ref{fig:uploadconfig}. % -% Note that the \texttt{upload} target will \emph{not} execute the \texttt{ctan} target first. +% Note that the \texttt{upload} target will \emph{not} execute the +% \texttt{ctan} target first. +% +% This upload facility assumes availablity of |curl| on your +% system. In the case of Windows, the system curl will not be +% available if you are using a 32 bit \TeX\ implementation. Curl +% executables are available for a variety of operating systems from +% \url{https://curl.haxx.se/download.html}. % % \paragraph{Announcement text} % It can be convenient not to include the announcement text within the |build.lua| file % directly. The command line argument |--message| (|-m|) allows the announcement to be % included as part of the |l3build| arguments, and |--file| (|-F|) reads the announcement -% from a specified file. Note that if the announcement text is omitted a `silent update' +% from a specified file. The \texttt{build.lua} file may also specify that this text is to +% be taken from the file specified by +% |uploadconfig.announcement_file|, this allows the release-specific announcement to be +% specified outside the main |build.lua| file. If +% |uploadconfig.announcement_file| is |nil| or specifies a file that +% can not be read, and no announcement is provided by the +% |announcement| field or commandline arguments, |l3build| will +% interactively prompt for text (which may be empty). +% +% Note that if the announcement text is empty a `silent update' % is performed; this should usually be performed for minor bug or documentation fixes only. % +% \paragraph{Note text} +% This optional field is for passing notes to the CTAN maintainers. As +% for announcements, the text may be set in |uploadconfig.note| or +% perhaps more usefully, if |uploadconfig.note_file| is the filename of a +% readable file the file text is used as the note. +% % \paragraph{Uploader details} % The CTAN team use the uploader email address as a form of low-security sanity % check that the upload is coming from a reputable source. Therefore, it is advisable not @@ -1356,13 +1380,41 @@ % non-existing package or if you attempt to upload a new package with the same name as a % pre-existing one. % +% \paragraph{The \texttt{curl} options file} +% +% The \pkg{l3build} upload options are passed to |curl| by writing the +% fields to a text file with a default name being +% \meta{package}|-ctan.curlopt|. This is then passed to curl using its +% |--config| commandline option. (Using an intermediate file helps +% keep \pkg{l3build} portable between systems using different +% commandline quoting conventions.) +% +% By default the file is written into the current directory alongside +% the zip file to be uploaded. You may wish to specify that this file +% is ignored by any version control in that directory (using +% |.gitignore| or similar). Or alternatively you can use the +% |uploadconfig.curl_file| field in the |build.lua| file to specify an +% alternative name or location for this file. +% +% \paragraph{Debugging} % If you have have difficulty with the upload process, add the option |--debug| to divert -% the request from CTAN to a service that redirects the input back again so it can be examined. +% the request from CTAN to a service that redirects the input back +% again so it can be examined. +% It can also be useful to check the contents of the |curlopts| file which has a +% record of the options passed to curl. % % \begin{table}[p] % \def\YES{\textbullet} -% \caption{Fields used in the \texttt{uploadconfig} setup table. The first section of fields are \emph{required} and if they are omitted the user will be interactively prompted for further input. Most commands take string input, but those that are indicated with `Multi' accept more than one entry using an array of strings.} +% \caption{Fields used in the \texttt{uploadconfig} setup table. The +% first section of fields are \emph{required} and if they are +% omitted the user will be interactively prompted for further +% input. Most commands take string input, but those that are +% indicated with `Multi' accept more than one entry using an array +% of strings. Most of the fields correspond directly to the fields +% in the CTAN upload API, the last group relate to file use by +% \pkg{l3build}.} % \label{tab:upload-setup} +% \medskip % \begin{minipage}{\linewidth} % \begin{tabular}{@{}lccp{8cm}@{}} % \toprule @@ -1387,6 +1439,10 @@ % \texttt{support } & & \YES & URL(s) of support channels \\ % \texttt{topic } & & \YES & Topic(s)\footnote{See \url{https://ctan.org/topics/highscore}} \\ % \texttt{update } & & & Boolean \texttt{true} for an update, \texttt{false} for a new package \\ +% \midrule +% \texttt{announcement\_file} & & & Announcement text file \\ +% \texttt{note\_file} & & & Note text file \\ +% \texttt{curlopt\_file} & & & The filename containing the options passed to curl \\ % \bottomrule % \end{tabular} % \end{minipage} |