diff options
author | Norbert Preining <norbert@preining.info> | 2020-03-26 03:02:49 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2020-03-26 03:02:49 +0000 |
commit | 2bd4f7f317b392c32ce18c70d03fd5ba9ddd9e6d (patch) | |
tree | 1031fd1abadb4f1ac0a0f2e904a911a36278cb50 /macros/latex/contrib/l3build/l3build-clean.lua | |
parent | e32477e40d853a81951c9811f8554455dbff4014 (diff) |
CTAN sync 202003260302
Diffstat (limited to 'macros/latex/contrib/l3build/l3build-clean.lua')
-rw-r--r-- | macros/latex/contrib/l3build/l3build-clean.lua | 26 |
1 files changed, 21 insertions, 5 deletions
diff --git a/macros/latex/contrib/l3build/l3build-clean.lua b/macros/latex/contrib/l3build/l3build-clean.lua index 01927a71d0..27ed42be9c 100644 --- a/macros/latex/contrib/l3build/l3build-clean.lua +++ b/macros/latex/contrib/l3build/l3build-clean.lua @@ -1,6 +1,6 @@ --[[ -File l3build-clean.lua Copyright (C) 2018 The LaTeX3 Project +File l3build-clean.lua Copyright (C) 2018,2020 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 @@ -34,12 +34,28 @@ function clean() cleandir(testdir) + cleandir(typesetdir) + cleandir(unpackdir) - for _,i in ipairs(cleanfiles) do - for _,dir in pairs(remove_duplicates({maindir, sourcefiledir, docfiledir})) do - errorlevel = rm(dir, i) + errorlevel + + if errorlevel ~= 0 then return errorlevel end + + local clean_list = { } + for _,dir in pairs(remove_duplicates({maindir,sourcefiledir,docfiledir})) do + for _,glob in pairs(cleanfiles) do + for file,_ in pairs(tree(dir,glob)) do + clean_list[file] = true + end + end + for _,glob in pairs(sourcefiles) do + for file,_ in pairs(tree(dir,glob)) do + clean_list[file] = nil + end + end + for file,_ in pairs(clean_list) do + errorlevel = rm(dir,file) + if errorlevel ~= 0 then return errorlevel end end end - return errorlevel + + return 0 end function bundleclean() |