[latex3-commits] [git/LaTeX3-latex3-l3build] standalone: Load build.lua 'late' if called directly (see #40) (06550c3)
Joseph Wright
joseph.wright at morningstar2.co.uk
Mon Mar 5 23:58:12 CET 2018
Repository : https://github.com/latex3/l3build
On branch : standalone
Link : https://github.com/latex3/l3build/commit/06550c3faee3ee1967a91e44c21928c5419a6201
>---------------------------------------------------------------
commit 06550c3faee3ee1967a91e44c21928c5419a6201
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date: Mon Mar 5 22:58:12 2018 +0000
Load build.lua 'late' if called directly (see #40)
This is the first key step to making a stand-alone script.
Note that one now needs to do "texlua l3build" or similar.
Various bits and pieces outstanding!
>---------------------------------------------------------------
06550c3faee3ee1967a91e44c21928c5419a6201
build.lua | 3 ---
l3build.lua | 20 ++++++++++++++++++++
2 files changed, 20 insertions(+), 3 deletions(-)
diff --git a/build.lua b/build.lua
index 40c56cc..520d301 100644
--- a/build.lua
+++ b/build.lua
@@ -38,6 +38,3 @@ function setversion_update_line(line, date, version)
end
return line
end
-
--- Load l3build itself: truly self-contained so no kpsewhich() here
-dofile("./l3build.lua")
diff --git a/l3build.lua b/l3build.lua
index 6cc402c..aa10692 100644
--- a/l3build.lua
+++ b/l3build.lua
@@ -33,6 +33,7 @@ local lfs = require("lfs")
local assert = assert
local ipairs = ipairs
local lookup = kpse.lookup
+local match = string.match
local next = next
local print = print
local select = select
@@ -66,6 +67,25 @@ build_require("stdmain")
-- Allow main function to be disabled 'higher up'
main = main or stdmain
+-- Load configuration file if running as a script
+if match(arg[0], "l3build(%.lua)$") then
+ -- Options which do not need any configuration
+ if options["help"] then
+ help()
+ exit(0)
+ -- Look for some configuration details
+ elseif fileexists("build.lua") then
+ -- Force these to be undefined: needed for the reloading step
+ dofile("build.lua")
+ -- Reload the variables to set things up correctly
+ -- Has to be dofile() as require() doesn't reload
+ dofile(lookup("l3build-variables.lua", { path = build_kpse_path } ))
+ else
+ print("Error: Cannot find configuration build.lua")
+ exit(1)
+ end
+end
+
--
-- Deal with multiple configs for tests
--
More information about the latex3-commits
mailing list