[latex3-commits] [git/LaTeX3-latex3-latex3] drivers: Move driver code to separate bundle (39fe7a1)
Joseph Wright
joseph.wright at morningstar2.co.uk
Sat Jun 1 17:56:22 CEST 2019
Repository : https://github.com/latex3/latex3
On branch : drivers
Link : https://github.com/latex3/latex3/commit/39fe7a133c0e9bb017ee1918b0465afff0ac6014
>---------------------------------------------------------------
commit 39fe7a133c0e9bb017ee1918b0465afff0ac6014
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date: Sat Jun 1 16:45:12 2019 +0100
Move driver code to separate bundle
This allows a release schedule separate from l3kernel.
>---------------------------------------------------------------
39fe7a133c0e9bb017ee1918b0465afff0ac6014
README.md | 4 +-
build.lua | 4 +-
l3drivers/CHANGELOG.md | 17 +++++
l3drivers/README.md | 16 ++++
build-config.lua => l3drivers/build.lua | 67 +++++++++--------
{l3kernel => l3drivers}/l3drivers-basics.dtx | 2 +-
{l3kernel => l3drivers}/l3drivers-box.dtx | 2 +-
{l3kernel => l3drivers}/l3drivers-color.dtx | 2 +-
{l3kernel => l3drivers}/l3drivers-draw.dtx | 2 +-
{l3kernel => l3drivers}/l3drivers-graphics.dtx | 2 +-
{l3kernel => l3drivers}/l3drivers-pdf.dtx | 2 +-
{l3kernel => l3drivers}/l3drivers.dtx | 2 +-
l3kernel/l3.ins => l3drivers/l3drivers.ins | 93 +-----------------------
l3kernel/CHANGELOG.md | 4 +-
l3kernel/build.lua | 3 +-
l3kernel/l3.ins | 66 -----------------
l3kernel/source3body.tex | 12 ---
17 files changed, 87 insertions(+), 213 deletions(-)
diff --git a/README.md b/README.md
index 2bd1dbf..c70c9e0 100644
--- a/README.md
+++ b/README.md
@@ -13,6 +13,8 @@ The following directories contain experimental LaTeX3 code:
* `l3kernel`: code which is intended to eventually appear in a
stand-alone LaTeX3 format. Most of this material is also
usable on top of LaTeX2e when loading the `expl3` package.
+* `l3drivers`: driver (backend) dependent code needed by `l3kernel`
+ but released separately to allow more rapid development
* `l3packages`: code which is written to be used on top of
LaTeX2e to experiment with LaTeX3 concepts. The interfaces to these
higher-level packages are 'stable'.
@@ -84,4 +86,4 @@ LaTeX3 is developed by [The LaTeX3 Project](https://latex-project.org).
## Copyright
-This README file is copyright 2018 The LaTeX3 Project.
+This README file is copyright 2019 The LaTeX3 Project.
diff --git a/build.lua b/build.lua
index 9c8e6cb..045d4de 100644
--- a/build.lua
+++ b/build.lua
@@ -7,7 +7,7 @@ bundle = "LaTeX3"
module = ""
-- A couple of custom variables: the order here is set up for 'importance'
-bundles = {"l3kernel", "l3packages", "l3experimental", "l3trial"}
+bundles = {"l3drivers", "l3kernel", "l3packages", "l3experimental", "l3trial"}
checkbundles =
{
"l3kernel",
@@ -16,7 +16,7 @@ checkbundles =
"l3trial",
"contrib"
}
-ctanbundles = {"l3kernel", "l3packages", "l3experimental"}
+ctanbundles = {"l3drivers", "l3kernel", "l3packages", "l3experimental"}
-- Location of main directory: use Unix-style path separators
maindir = "."
diff --git a/l3drivers/CHANGELOG.md b/l3drivers/CHANGELOG.md
new file mode 100644
index 0000000..a5d6fd3
--- /dev/null
+++ b/l3drivers/CHANGELOG.md
@@ -0,0 +1,17 @@
+# Changelog
+All notable changes to the `l3drivers` bundle
+
+The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
+this project uses date-based 'snapshot' version identifiers.
+
+## [Unreleased]
+
+### Added
+
+- Driver support for anonymous objects
+
+### Changed
+
+- Driver code released as a separate bundle
+
+[Unreleased]: https://github.com/latex3/latex3/compare/2019-05-28...HEAD
diff --git a/l3drivers/README.md b/l3drivers/README.md
new file mode 100644
index 0000000..12c4f04
--- /dev/null
+++ b/l3drivers/README.md
@@ -0,0 +1,16 @@
+LaTeX3 Backend Drivers
+======================
+
+Release 2019-05-28
+
+This package forms parts of `expl3`, and contains the code used to interface
+with backends (drivers) across the `expl3` codebase. The functions here are
+defined differently depending on the engine in use. As such, these are
+distributed separately from `l3kernel` to allow this code to be updated
+on an independent schedule.
+
+-----
+
+<p>Copyright (C) 2019 The LaTeX3 Project <br />
+<a href="http://latex-project.org/">http://latex-project.org/</a> <br />
+All rights reserved.</p>
diff --git a/build-config.lua b/l3drivers/build.lua
similarity index 55%
copy from build-config.lua
copy to l3drivers/build.lua
index 1543bb8..ff62d8e 100644
--- a/build-config.lua
+++ b/l3drivers/build.lua
@@ -1,36 +1,30 @@
--- Common settings for LaTeX3 development repo, used by l3build script
+#!/usr/bin/env texlua
-checkdeps = checkdeps or {maindir .. "/l3kernel"}
-typesetdeps = typesetdeps or {maindir .. "/l3kernel"}
-unpackdeps = unpackdeps or {maindir .. "/l3kernel"}
+-- Build script for LaTeX3 "l3drivers" files
-checkengines = checkengines
- or {"pdftex", "xetex", "luatex", "ptex", "uptex"}
-checksuppfiles = checksuppfiles or
- {
- "CaseFolding.txt",
- "fontenc.sty",
- "minimal.cls",
- "ot1enc.def",
- "regression-test.cfg",
- "regression-test.tex",
- "SpecialCasing.txt",
- "UnicodeData.txt",
- }
-tagfiles = tagfiles or {"*.dtx", "README.md", "CHANGELOG.md"}
-unpacksuppfiles = unpacksuppfiles or {"docstrip.tex"}
+-- Identify the bundle and module
+module = "l3drivers"
+bundle = ""
+-- Location of main directory: use Unix-style path separators
+maindir = ".."
-packtdszip = true
+installfiles = {"*.def"}
+sourcefiles = {"*.dtx", "*.ins"}
+tagfiles = {"*.dtx", "CHANGELOG.md", "README.md"}
+typesetfiles = {"l3drivers.dtx"}
+unpackfiles = {"l3drivers.ins"}
-typesetcmds = typesetcmds or "\\AtBeginDocument{\\DisableImplementation}"
+-- As we need l3docstrip, a bit of 'fun'
+supportdir = maindir
+unpacksuppfiles = {"/support/docstrip.tex", "/l3kernel/l3docstrip.dtx"}
-if checksearch == nil then
- checksearch = false
-end
-if unpacksearch == nil then
- unpacksearch = false
-end
+-- No deps other than the test system
+unpackdeps = { }
+typesetdeps = {maindir .. "/l3packages/xparse"}
+
+-- Load the common build code
+dofile(maindir .. "/build-config.lua")
-- Detail how to set the version automatically
function update_tag(file,content,tagname,tagdate)
@@ -49,13 +43,15 @@ function update_tag(file,content,tagname,tagdate)
year - 2 .. "," .. year - 1 .. "," .. year,
year - 2 .. "-" .. year)
end
- if string.match(file,"%.dtx$") then
+ if string.match(file,"l3drivers%.dtx$") then
content = string.gsub(content,
- "\n\\ProvidesExpl" .. "(%w+ *{[^}]+} *){" .. iso .. "}",
- "\n\\ProvidesExpl%1{" .. tagname .. "}")
+ "\n ({l3%w+%.def}){" .. iso .. "}",
+ "\n %1{" .. tagname .. "}")
+ end
+ if string.match(file,"%.dtx$") or string.match(file,"%.tex$") then
return string.gsub(content,
- "\n%% \\date{Released " .. iso .. "}\n",
- "\n%% \\date{Released " .. tagname .. "}\n")
+ "\n(%%*%s*)\\date{Released " .. iso .. "}\n",
+ "\n%1\\date{Released " .. tagname .. "}\n")
elseif string.match(file, "%.md$") then
if string.match(file,"CHANGELOG.md") then
local previous = string.match(content,"compare/(" .. iso .. ")%.%.%.HEAD")
@@ -74,3 +70,10 @@ function update_tag(file,content,tagname,tagdate)
end
return content
end
+
+-- Find and run the build system
+kpse.set_program_name("kpsewhich")
+if not release_date then
+ dofile(kpse.lookup("l3build.lua"))
+end
+
diff --git a/l3kernel/l3drivers-basics.dtx b/l3drivers/l3drivers-basics.dtx
similarity index 99%
rename from l3kernel/l3drivers-basics.dtx
rename to l3drivers/l3drivers-basics.dtx
index 2ff21a9..3ac9310 100644
--- a/l3kernel/l3drivers-basics.dtx
+++ b/l3drivers/l3drivers-basics.dtx
@@ -11,7 +11,7 @@
%
% https://www.latex-project.org/lppl.txt
%
-% This file is part of the "l3kernel bundle" (The Work in LPPL)
+% This file is part of the "l3drivers bundle" (The Work in LPPL)
% and all files in that bundle must be distributed together.
%
% -----------------------------------------------------------------------
diff --git a/l3kernel/l3drivers-box.dtx b/l3drivers/l3drivers-box.dtx
similarity index 99%
rename from l3kernel/l3drivers-box.dtx
rename to l3drivers/l3drivers-box.dtx
index 945a93d..c9afdd8 100644
--- a/l3kernel/l3drivers-box.dtx
+++ b/l3drivers/l3drivers-box.dtx
@@ -11,7 +11,7 @@
%
% https://www.latex-project.org/lppl.txt
%
-% This file is part of the "l3kernel bundle" (The Work in LPPL)
+% This file is part of the "l3drivers bundle" (The Work in LPPL)
% and all files in that bundle must be distributed together.
%
% -----------------------------------------------------------------------
diff --git a/l3kernel/l3drivers-color.dtx b/l3drivers/l3drivers-color.dtx
similarity index 99%
rename from l3kernel/l3drivers-color.dtx
rename to l3drivers/l3drivers-color.dtx
index 4d5c224..d4d5e5c 100644
--- a/l3kernel/l3drivers-color.dtx
+++ b/l3drivers/l3drivers-color.dtx
@@ -11,7 +11,7 @@
%
% https://www.latex-project.org/lppl.txt
%
-% This file is part of the "l3kernel bundle" (The Work in LPPL)
+% This file is part of the "l3drivers bundle" (The Work in LPPL)
% and all files in that bundle must be distributed together.
%
% -----------------------------------------------------------------------
diff --git a/l3kernel/l3drivers-draw.dtx b/l3drivers/l3drivers-draw.dtx
similarity index 99%
rename from l3kernel/l3drivers-draw.dtx
rename to l3drivers/l3drivers-draw.dtx
index 1e21364..c1b1086 100644
--- a/l3kernel/l3drivers-draw.dtx
+++ b/l3drivers/l3drivers-draw.dtx
@@ -11,7 +11,7 @@
%
% https://www.latex-project.org/lppl.txt
%
-% This file is part of the "l3kernel bundle" (The Work in LPPL)
+% This file is part of the "l3drivers bundle" (The Work in LPPL)
% and all files in that bundle must be distributed together.
%
% -----------------------------------------------------------------------
diff --git a/l3kernel/l3drivers-graphics.dtx b/l3drivers/l3drivers-graphics.dtx
similarity index 99%
rename from l3kernel/l3drivers-graphics.dtx
rename to l3drivers/l3drivers-graphics.dtx
index 86bfcfe..b2b0ee2 100644
--- a/l3kernel/l3drivers-graphics.dtx
+++ b/l3drivers/l3drivers-graphics.dtx
@@ -11,7 +11,7 @@
%
% https://www.latex-project.org/lppl.txt
%
-% This file is part of the "l3kernel bundle" (The Work in LPPL)
+% This file is part of the "l3drivers bundle" (The Work in LPPL)
% and all files in that bundle must be distributed together.
%
% -----------------------------------------------------------------------
diff --git a/l3kernel/l3drivers-pdf.dtx b/l3drivers/l3drivers-pdf.dtx
similarity index 99%
rename from l3kernel/l3drivers-pdf.dtx
rename to l3drivers/l3drivers-pdf.dtx
index 527c0a1..33ad3c8 100644
--- a/l3kernel/l3drivers-pdf.dtx
+++ b/l3drivers/l3drivers-pdf.dtx
@@ -11,7 +11,7 @@
%
% https://www.latex-project.org/lppl.txt
%
-% This file is part of the "l3kernel bundle" (The Work in LPPL)
+% This file is part of the "l3drivers bundle" (The Work in LPPL)
% and all files in that bundle must be distributed together.
%
% -----------------------------------------------------------------------
diff --git a/l3kernel/l3drivers.dtx b/l3drivers/l3drivers.dtx
similarity index 99%
rename from l3kernel/l3drivers.dtx
rename to l3drivers/l3drivers.dtx
index 86b2930..60fb2ab 100644
--- a/l3kernel/l3drivers.dtx
+++ b/l3drivers/l3drivers.dtx
@@ -11,7 +11,7 @@
%
% https://www.latex-project.org/lppl.txt
%
-% This file is part of the "l3kernel bundle" (The Work in LPPL)
+% This file is part of the "l3drivers bundle" (The Work in LPPL)
% and all files in that bundle must be distributed together.
%
% -----------------------------------------------------------------------
diff --git a/l3kernel/l3.ins b/l3drivers/l3drivers.ins
similarity index 52%
copy from l3kernel/l3.ins
copy to l3drivers/l3drivers.ins
index 7977e03..49cf748 100644
--- a/l3kernel/l3.ins
+++ b/l3drivers/l3drivers.ins
@@ -1,8 +1,8 @@
\iffalse meta-comment
-File l3.ins
+File l3drivers.ins
-Copyright (C) 2011,2012,2014-2019 The LaTeX3 Project
+Copyright (C) 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
@@ -11,7 +11,7 @@ of this license is in the file
https://www.latex-project.org/lppl.txt
-This file is part of the "l3kernel bundle" (The Work in LPPL)
+This file is part of the "l3drivers bundle" (The Work in LPPL)
and all files in that bundle must be distributed together.
-----------------------------------------------------------------------
@@ -56,68 +56,6 @@ and all files in that bundle must be distributed together.
\generate
{
- \file{expl3-code.tex}
- {
- % ======== PACKAGE ONLY ========
- \from{expl3.dtx} {package}
- % ==============================
- \from{l3bootstrap.dtx} {package}
- \from{l3names.dtx} {package}
- \from{l3basics.dtx} {package}
- \from{l3expan.dtx} {package}
- \from{l3tl.dtx} {package}
- \from{l3str.dtx} {package}
- \from{l3quark.dtx} {package}
- \from{l3seq.dtx} {package}
- \from{l3int.dtx} {package}
- \from{l3flag.dtx} {package}
- \from{l3prg.dtx} {package}
- \from{l3sys.dtx} {package}
- \from{l3clist.dtx} {package}
- \from{l3token.dtx} {package}
- \from{l3prop.dtx} {package}
- \from{l3msg.dtx} {package}
- \from{l3file.dtx} {package}
- \from{l3skip.dtx} {package}
- \from{l3keys.dtx} {package}
- \from{l3intarray.dtx} {package}
- \from{l3fp.dtx} {package}
- \from{l3fp-aux.dtx} {package}
- \from{l3fp-traps.dtx} {package}
- \from{l3fp-round.dtx} {package}
- \from{l3fp-parse.dtx} {package}
- \from{l3fp-assign.dtx} {package}
- \from{l3fp-logic.dtx} {package}
- \from{l3fp-basics.dtx} {package}
- \from{l3fp-extended.dtx}{package}
- \from{l3fp-expo.dtx} {package}
- \from{l3fp-trig.dtx} {package}
- \from{l3fp-convert.dtx} {package}
- \from{l3fp-random.dtx} {package}
- \from{l3fparray.dtx} {package}
- \from{l3sort.dtx} {package}
- \from{l3tl-analysis.dtx}{package}
- \from{l3regex.dtx} {package}
- \from{l3box.dtx} {package}
- \from{l3color-base.dtx} {package}
- \from{l3coffins.dtx} {package}
- \from{l3luatex.dtx} {package,tex}
- \from{l3unicode.dtx} {package}
- \from{l3candidates.dtx} {package}
- \from{l3legacy.dtx} {package}
- \from{l3deprecation.dtx}{package}
- }
- }
-
-\generate{\file{expl3.sty} {\from{expl3.dtx} {package,loader}}}
-\generate{\file{expl3-generic.tex}{\from{expl3.dtx} {generic,loader}}}
-
-\generate{\file{l3doc.cls} {\from{l3doc.dtx} {class}}}
-% not distributed:
-%\generate{\file{l3doc.ist} {\from{l3doc.dtx} {docist}}}
-
-\generate
- {
\file{l3dvipdfmx.def}
{
\from{l3drivers.dtx} {package,dvipdfmx}
@@ -182,29 +120,4 @@ and all files in that bundle must be distributed together.
}
}
-\generate{\file{l3docstrip.tex} {\from{l3docstrip.dtx} {program}}}
-
-\generate{\file{l3names.def} {\from{l3names.dtx} {names}}}
-
-% Lua code
-
-\def\MetaPrefix{--}
-\preamble
-
-Copyright (C) 1990-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 license or (at your option) any later version. The latest
-version of this license is in the file:
-
- https://www.latex-project.org/lppl.txt
-
-This file is part of the "l3kernel bundle" (The Work in LPPL)
-and all files in that bundle must be distributed together.
-
-\endpreamble
-\nopostamble
-\generate{\file{expl3.lua}{\from{l3luatex.dtx}{package,lua}}}
-
\endbatchfile
diff --git a/l3kernel/CHANGELOG.md b/l3kernel/CHANGELOG.md
index 741bb46..6e9b60d 100644
--- a/l3kernel/CHANGELOG.md
+++ b/l3kernel/CHANGELOG.md
@@ -7,9 +7,9 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
-### Added
+### Changed
-- Driver support for anonymous objects
+- Moved driver code to a separate release schedule
## [2019-05-28]
diff --git a/l3kernel/build.lua b/l3kernel/build.lua
index 0c51c4e..93112e1 100644
--- a/l3kernel/build.lua
+++ b/l3kernel/build.lua
@@ -39,7 +39,8 @@ typesetruns = 3
unpackfiles = {"l3.ins"}
-- No deps other than the test system
-typesetdeps = {maindir .. "/l3packages/xparse"}
+typesetdeps = {maindir .. "/l3drivers", maindir .. "/l3packages/xparse"}
+checkdeps = {maindir .. "/l3drivers"}
unpackdeps = { }
-- Load the common build code
diff --git a/l3kernel/l3.ins b/l3kernel/l3.ins
index 7977e03..c8f54c4 100644
--- a/l3kernel/l3.ins
+++ b/l3kernel/l3.ins
@@ -116,72 +116,6 @@ and all files in that bundle must be distributed together.
% not distributed:
%\generate{\file{l3doc.ist} {\from{l3doc.dtx} {docist}}}
-\generate
- {
- \file{l3dvipdfmx.def}
- {
- \from{l3drivers.dtx} {package,dvipdfmx}
- \from{l3drivers-basics.dtx} {package,dvipdfmx}
- \from{l3drivers-color.dtx} {package,dvipdfmx}
- \from{l3drivers-box.dtx} {package,dvipdfmx}
- \from{l3drivers-draw.dtx} {package,dvipdfmx}
- \from{l3drivers-graphics.dtx}{package,dvipdfmx}
- \from{l3drivers-pdf.dtx} {package,dvipdfmx}
- }
- }
-\generate
- {
- \file{l3dvips.def}
- {
- \from{l3drivers.dtx} {package,dvips}
- \from{l3drivers-basics.dtx} {package,dvips}
- \from{l3drivers-color.dtx} {package,dvips}
- \from{l3drivers-box.dtx} {package,dvips}
- \from{l3drivers-draw.dtx} {package,dvips}
- \from{l3drivers-graphics.dtx}{package,dvips}
- \from{l3drivers-pdf.dtx} {package,dvips}
- }
- }
-\generate
- {
- \file{l3dvisvgm.def}
- {
- \from{l3drivers.dtx} {package,dvisvgm}
- \from{l3drivers-basics.dtx} {package,dvisvgm}
- \from{l3drivers-color.dtx} {package,dvisvgm}
- \from{l3drivers-box.dtx} {package,dvisvgm}
- \from{l3drivers-draw.dtx} {package,dvisvgm}
- \from{l3drivers-graphics.dtx}{package,dvisvgm}
- \from{l3drivers-pdf.dtx} {package,dvisvgm}
- }
- }
-\generate
- {
- \file{l3pdfmode.def}
- {
- \from{l3drivers.dtx} {package,pdfmode}
- \from{l3drivers-basics.dtx} {package,pdfmode}
- \from{l3drivers-color.dtx} {package,pdfmode}
- \from{l3drivers-box.dtx} {package,pdfmode}
- \from{l3drivers-draw.dtx} {package,pdfmode}
- \from{l3drivers-graphics.dtx}{package,pdfmode}
- \from{l3drivers-pdf.dtx} {package,pdfmode}
- }
- }
-\generate
- {
- \file{l3xdvipdfmx.def}
- {
- \from{l3drivers.dtx} {package,xdvipdfmx}
- \from{l3drivers-basics.dtx} {package,xdvipdfmx}
- \from{l3drivers-color.dtx} {package,xdvipdfmx}
- \from{l3drivers-box.dtx} {package,xdvipdfmx}
- \from{l3drivers-draw.dtx} {package,xdvipdfmx}
- \from{l3drivers-graphics.dtx}{package,xdvipdfmx}
- \from{l3drivers-pdf.dtx} {package,xdvipdfmx}
- }
- }
-
\generate{\file{l3docstrip.tex} {\from{l3docstrip.dtx} {program}}}
\generate{\file{l3names.def} {\from{l3names.dtx} {names}}}
diff --git a/l3kernel/source3body.tex b/l3kernel/source3body.tex
index 94f7426..9794534 100644
--- a/l3kernel/source3body.tex
+++ b/l3kernel/source3body.tex
@@ -484,18 +484,6 @@ used on top of \LaTeXe{} if \cs{outer} tokens are used in the arguments.
\DocInput{l3unicode.dtx}
\DocInput{l3legacy.dtx}
\DocInput{l3candidates.dtx}
-\DocInput{l3drivers.dtx}
-\ExplSyntaxOn
-\clist_gput_right:Nn \g_docinput_clist
- {
- l3drivers-basics.dtx ,
- l3drivers-color.dtx ,
- l3drivers-box.dtx ,
- l3drivers-draw.dtx ,
- l3drivers-graphics.dtx ,
- l3drivers-pdf.dtx
- }
-\ExplSyntaxOff
\ExplSyntaxOn
\clist_gput_right:Nn \g_docinput_clist { l3deprecation.dtx }
More information about the latex3-commits
mailing list