[latex3-commits] [l3svn] 02/07: l3build: Return errorlevel for unpack/install targets
noreply at latex-project.org
noreply at latex-project.org
Sat Sep 26 08:46:53 CEST 2015
This is an automated email from the git hooks/post-receive script.
joseph pushed a commit to branch master
in repository l3svn.
commit 95ef4b55bd4998e7afa0dc73e787b9f31152225e
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date: Fri Sep 25 22:39:34 2015 +0100
l3build: Return errorlevel for unpack/install targets
---
l3build/l3build.lua | 97 ++++++++++++++++++++++++++++++++++++++-------------
1 file changed, 72 insertions(+), 25 deletions(-)
diff --git a/l3build/l3build.lua b/l3build/l3build.lua
index 2388f28..7385f9c 100644
--- a/l3build/l3build.lua
+++ b/l3build/l3build.lua
@@ -571,7 +571,8 @@ end
function allmodules(target)
for _,i in ipairs(modules) do
print(
- "Running script " .. scriptname .. " with target \"" .. target .. "\" for module "
+ "Running script " .. scriptname .. " with target \"" .. target
+ .. "\" for module "
.. i
)
local engines = ""
@@ -687,10 +688,15 @@ end
-- Unpack files needed to support testing/typesetting/unpacking
function depinstall(deps)
+ local errorlevel
for _,i in ipairs(deps) do
print("Installing dependency: " .. i)
- run(i, "texlua " .. scriptname .. " unpack -q")
+ errorlevel = run(i, "texlua " .. scriptname .. " unpack -q")
+ if errorlevel ~= 0 then
+ return errorlevel
+ end
end
+ return 0
end
-- Convert the raw log file into one for comparison/storage: keeps only
@@ -1352,24 +1358,29 @@ function clean()
-- To make sure that distribdir never contains any stray subdirs,
-- it is entirely removed then recreated rather than simply deleting
-- all of the files
- rmdir(distribdir)
- mkdir(distribdir)
- cleandir(localdir)
- cleandir(testdir)
- cleandir(typesetdir)
- cleandir(unpackdir)
+ local errorlevel =
+ rmdir(distribdir) +
+ mkdir(distribdir) +
+ cleandir(localdir) +
+ cleandir(testdir) +
+ cleandir(typesetdir) +
+ cleandir(unpackdir)
for _,i in ipairs(cleanfiles) do
- rm(".", i)
+ errorlevel = rm(".", i) + errorlevel
end
+ return errorlevel
end
function bundleclean()
- allmodules("clean")
+ local errorlevel = allmodules("clean")
for _,i in ipairs(cleanfiles) do
- rm(".", i)
+ errorlevel = rm(".", i) + errorlevel
end
- rmdir(ctandir)
- rmdir(tdsdir)
+ return (
+ errorlevel +
+ rmdir(ctandir) +
+ rmdir(tdsdir)
+ )
end
-- Check commands are defined
@@ -1558,14 +1569,24 @@ end
-- Locally install files: only deals with those extracted, not docs etc.
function install()
- unpack()
+ local errorlevel = unpack()
+ if errorlevel ~= 0 then
+ return errorlevel
+ end
kpse.set_program_name("latex")
local texmfhome = kpse.var_value("TEXMFHOME")
local installdir = texmfhome .. "/tex/" .. moduledir
- cleandir(installdir)
+ errorlevel = cleandir(installdir)
+ if errorlevel ~= 0 then
+ return errorlevel
+ end
for _,i in ipairs(installfiles) do
- cp(i, unpackdir, installdir)
+ errorlevel = cp(i, unpackdir, installdir)
+ if errorlevel ~= 0 then
+ return errorlevel
+ end
end
+ return 0
end
function save(names)
@@ -1607,25 +1628,47 @@ end
-- Unpack the package files using an 'isolated' system: this requires
-- a copy of the 'basic' DocStrip program, which is used then removed
function unpack()
- depinstall(unpackdeps)
- bundleunpack()
+ local errorlevel = depinstall(unpackdeps)
+ if errorlevel ~= 0 then
+ return errorlevel
+ end
+ errorlevel = bundleunpack()
+ if errorlevel ~= 0 then
+ return errorlevel
+ end
for _,i in ipairs(installfiles) do
- cp(i, unpackdir, localdir)
+ errorlevel = cp(i, unpackdir, localdir)
+ if errorlevel ~= 0 then
+ return errorlevel
+ end
end
+ return 0
end
-- Split off from the main unpack so it can be used on a bundle and not
-- leave only one modules files
bundleunpack = bundleunpack or function(sourcedir)
- mkdir(localdir)
- cleandir(unpackdir)
+ local errorlevel = mkdir(localdir)
+ if errorlevel ~=0 then
+ return errorlevel
+ end
+ errorlevel = cleandir(unpackdir)
+ if errorlevel ~=0 then
+ return errorlevel
+ end
for _,i in ipairs(sourcedir or {"."}) do
for _,j in ipairs(sourcefiles) do
- cp(j, i, unpackdir)
+ errorlevel = cp(j, i, unpackdir)
+ if errorlevel ~=0 then
+ return errorlevel
+ end
end
end
for _,i in ipairs(unpacksuppfiles) do
- cp(i, supportdir, localdir)
+ errorlevel = cp(i, supportdir, localdir)
+ if errorlevel ~=0 then
+ return errorlevel
+ end
end
for _,i in ipairs(unpackfiles) do
for _,j in ipairs(filelist(unpackdir, i)) do
@@ -1636,7 +1679,7 @@ bundleunpack = bundleunpack or function(sourcedir)
-- stops, which confuses Lua)
os.execute(os_yes .. ">>" .. localdir .. "/yes")
local localdir = relpath(localdir, unpackdir)
- run(
+ errorlevel = run(
unpackdir,
os_setenv .. " TEXINPUTS=." .. os_pathsep
.. localdir .. (unpacksearch and os_pathsep or "") ..
@@ -1645,8 +1688,12 @@ bundleunpack = bundleunpack or function(sourcedir)
.. localdir .. "/yes"
.. (optquiet and (" > " .. os_null) or "")
)
+ if errorlevel ~=0 then
+ return errorlevel
+ end
end
end
+ return 0
end
function version()
@@ -1716,7 +1763,7 @@ function stdmain(target, files)
help()
end
elseif target == "unpack" then
- unpack()
+ errorlevel = unpack()
elseif target == "version" then
version()
else
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the latex3-commits
mailing list