[latex3-commits] [git/LaTeX3-latex3-latex3] master: Move l3backend files to a separate dir (74df50b)

Joseph Wright joseph.wright at morningstar2.co.uk
Mon Jun 3 15:58:20 CEST 2019


Repository : https://github.com/latex3/latex3
On branch  : master
Link       : https://github.com/latex3/latex3/commit/74df50b9f2ae0883801e2cb4b32468cdec614e94

>---------------------------------------------------------------

commit 74df50b9f2ae0883801e2cb4b32468cdec614e94
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date:   Mon Jun 3 14:58:20 2019 +0100

    Move l3backend files to a separate dir
    
    Probably the names should be "l3backend-XXXX.def",
    as for l3str-end-XXXX.def.


>---------------------------------------------------------------

74df50b9f2ae0883801e2cb4b32468cdec614e94
 build.lua                                          |    4 +-
 l3backend/CHANGELOG.md                             |   18 +++
 l3backend/README.md                                |   16 +++
 build-config.lua => l3backend/build.lua            |   66 +++++------
 {l3kernel => l3backend}/l3backend-basics.dtx       |    0
 {l3kernel => l3backend}/l3backend-box.dtx          |    0
 .../l3backend-code.tex                             |   11 +-
 {l3kernel => l3backend}/l3backend-color.dtx        |    2 +-
 {l3kernel => l3backend}/l3backend-draw.dtx         |    0
 {l3kernel => l3backend}/l3backend-graphics.dtx     |    0
 {l3kernel => l3backend}/l3backend-pdf.dtx          |    0
 l3backend/l3backend.ins                            |  118 ++++++++++++++++++++
 l3kernel/CHANGELOG.md                              |    3 +-
 l3kernel/build.lua                                 |    8 +-
 l3kernel/l3.ins                                    |   61 ----------
 l3kernel/l3format.ins                              |   61 ----------
 l3kernel/source3body.tex                           |   11 --
 17 files changed, 200 insertions(+), 179 deletions(-)

diff --git a/build.lua b/build.lua
index 9c8e6cb..4020acc 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      = {"l3backend", "l3kernel", "l3packages", "l3experimental", "l3trial"}
 checkbundles =
   {
     "l3kernel",
@@ -16,7 +16,7 @@ checkbundles =
     "l3trial",
     "contrib"
   }
-ctanbundles  = {"l3kernel", "l3packages", "l3experimental"}
+ctanbundles  = {"l3backend", "l3kernel", "l3packages", "l3experimental"}
 
 -- Location of main directory: use Unix-style path separators
 maindir = "."
diff --git a/l3backend/CHANGELOG.md b/l3backend/CHANGELOG.md
new file mode 100644
index 0000000..24508f4
--- /dev/null
+++ b/l3backend/CHANGELOG.md
@@ -0,0 +1,18 @@
+# Changelog
+All notable changes to the `l3backend` bundle will be documented in this file.
+
+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
+
+- Moved backend code to separate release module `l3backend`
+- Moved backend code to internal for each 'parent' module
+
+[Unreleased]: https://github.com/latex3/latex3/compare/2019-05-28...HEAD
diff --git a/l3backend/README.md b/l3backend/README.md
new file mode 100644
index 0000000..bba9833
--- /dev/null
+++ b/l3backend/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>
\ No newline at end of file
diff --git a/build-config.lua b/l3backend/build.lua
similarity index 55%
copy from build-config.lua
copy to l3backend/build.lua
index 1543bb8..db803e0 100644
--- a/build-config.lua
+++ b/l3backend/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 "l3backend" 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 = "l3backend"
+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 = {"l3backend-code.tex"}
+unpackfiles  = {"l3backend.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,"l3backend%.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,9 @@ 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
\ No newline at end of file
diff --git a/l3kernel/l3backend-basics.dtx b/l3backend/l3backend-basics.dtx
similarity index 100%
rename from l3kernel/l3backend-basics.dtx
rename to l3backend/l3backend-basics.dtx
diff --git a/l3kernel/l3backend-box.dtx b/l3backend/l3backend-box.dtx
similarity index 100%
rename from l3kernel/l3backend-box.dtx
rename to l3backend/l3backend-box.dtx
diff --git a/l3trial/l3hooks/l3hooks-code.tex b/l3backend/l3backend-code.tex
similarity index 79%
copy from l3trial/l3hooks/l3hooks-code.tex
copy to l3backend/l3backend-code.tex
index b7baeeb..62a6bf5 100644
--- a/l3trial/l3hooks/l3hooks-code.tex
+++ b/l3backend/l3backend-code.tex
@@ -1,6 +1,6 @@
 \iffalse meta-comment
 
-File: l3hooks-code.tex
+File: l3backend-code.tex
 
 Copyright (C) 2019 The LaTeX3 Project
 
@@ -11,7 +11,7 @@ of this license is in the file
 
    https://www.latex-project.org/lppl.txt
 
-This file is part of the "l3trial bundle" (The Work in LPPL)
+This file is part of the "l3backend bundle" (The Work in LPPL)
 and all files in that bundle must be distributed together.
 
 The released version of this bundle is available from CTAN.
@@ -38,7 +38,12 @@ for those people who are interested.
 \ExplSyntaxOn
 \clist_gput_right:Nn \g_docinput_clist
   {
-    l3hooks.dtx ,
+    l3backend-basics.dtx   ,
+    l3backend-box.dtx      ,
+    l3backend-color.dtx    ,
+    l3backend-draw.dtx     ,
+    l3backend-graphics.dtx ,
+    l3backend-pdf.dtx
   }
 \ExplSyntaxOff
 
diff --git a/l3kernel/l3backend-color.dtx b/l3backend/l3backend-color.dtx
similarity index 99%
rename from l3kernel/l3backend-color.dtx
rename to l3backend/l3backend-color.dtx
index 63e1f66..d4280fb 100644
--- a/l3kernel/l3backend-color.dtx
+++ b/l3backend/l3backend-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 "l3backend bundle" (The Work in LPPL)
 % and all files in that bundle must be distributed together.
 %
 % -----------------------------------------------------------------------
diff --git a/l3kernel/l3backend-draw.dtx b/l3backend/l3backend-draw.dtx
similarity index 100%
rename from l3kernel/l3backend-draw.dtx
rename to l3backend/l3backend-draw.dtx
diff --git a/l3kernel/l3backend-graphics.dtx b/l3backend/l3backend-graphics.dtx
similarity index 100%
rename from l3kernel/l3backend-graphics.dtx
rename to l3backend/l3backend-graphics.dtx
diff --git a/l3kernel/l3backend-pdf.dtx b/l3backend/l3backend-pdf.dtx
similarity index 100%
rename from l3kernel/l3backend-pdf.dtx
rename to l3backend/l3backend-pdf.dtx
diff --git a/l3backend/l3backend.ins b/l3backend/l3backend.ins
new file mode 100644
index 0000000..f18a542
--- /dev/null
+++ b/l3backend/l3backend.ins
@@ -0,0 +1,118 @@
+\iffalse meta-comment
+
+File l3backend.ins
+
+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
+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 "l3backend bundle" (The Work in LPPL)
+and all files in that bundle must be distributed together.
+
+-----------------------------------------------------------------------
+
+The development version of the bundle can be found at
+
+   https://github.com/latex3/latex3
+
+for those people who are interested.
+
+-----------------------------------------------------------------------
+
+Any modification of this file should ensure that the copyright and
+license information is placed in the derived files.
+
+\fi
+
+\let\jobname\relax
+\input l3docstrip.dtx
+\askforoverwritefalse
+
+\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 "l3backend bundle" (The Work in LPPL)
+and all files in that bundle must be distributed together.
+
+\endpreamble
+% stop docstrip adding \endinput
+\postamble
+\endpostamble
+
+\keepsilent
+
+\generate
+  {
+    \file{l3dvipdfmx.def}
+      {
+        \from{l3backend-basics.dtx}  {package,dvipdfmx}
+        \from{l3backend-color.dtx}   {package,dvipdfmx}
+        \from{l3backend-box.dtx}     {package,dvipdfmx}
+        \from{l3backend-draw.dtx}    {package,dvipdfmx}
+        \from{l3backend-graphics.dtx}{package,dvipdfmx}
+        \from{l3backend-pdf.dtx}     {package,dvipdfmx}
+      }
+  }
+\generate
+  {
+    \file{l3dvips.def}
+      {
+        \from{l3backend-basics.dtx}  {package,dvips}
+        \from{l3backend-color.dtx}   {package,dvips}
+        \from{l3backend-box.dtx}     {package,dvips}
+        \from{l3backend-draw.dtx}    {package,dvips}
+        \from{l3backend-graphics.dtx}{package,dvips}
+        \from{l3backend-pdf.dtx}     {package,dvips}
+      }
+  }
+\generate
+  {
+    \file{l3dvisvgm.def}
+      {
+        \from{l3backend-basics.dtx}  {package,dvisvgm}
+        \from{l3backend-color.dtx}   {package,dvisvgm}
+        \from{l3backend-box.dtx}     {package,dvisvgm}
+        \from{l3backend-draw.dtx}    {package,dvisvgm}
+        \from{l3backend-graphics.dtx}{package,dvisvgm}
+        \from{l3backend-pdf.dtx}     {package,dvisvgm}
+      }
+  }
+\generate
+  {
+    \file{l3pdfmode.def}
+      {
+        \from{l3backend-basics.dtx}  {package,pdfmode}
+        \from{l3backend-color.dtx}   {package,pdfmode}
+        \from{l3backend-box.dtx}     {package,pdfmode}
+        \from{l3backend-draw.dtx}    {package,pdfmode}
+        \from{l3backend-graphics.dtx}{package,pdfmode}
+        \from{l3backend-pdf.dtx}     {package,pdfmode}
+      }
+  }
+\generate
+  {
+    \file{l3xdvipdfmx.def}
+      {
+        \from{l3backend-basics.dtx}  {package,xdvipdfmx}
+        \from{l3backend-color.dtx}   {package,xdvipdfmx}
+        \from{l3backend-box.dtx}     {package,xdvipdfmx}
+        \from{l3backend-draw.dtx}    {package,xdvipdfmx}
+        \from{l3backend-graphics.dtx}{package,xdvipdfmx}
+        \from{l3backend-pdf.dtx}     {package,xdvipdfmx}
+      }
+  }
+
+\endbatchfile
diff --git a/l3kernel/CHANGELOG.md b/l3kernel/CHANGELOG.md
index b5cee0f..77e7758 100644
--- a/l3kernel/CHANGELOG.md
+++ b/l3kernel/CHANGELOG.md
@@ -9,14 +9,13 @@ this project uses date-based 'snapshot' version identifiers.
 
 ### Added
 
-- Driver support for anonymous objects
 - Moved `lstr-convert` module to `l3kernel`
 
 ### Changed
 
 - Ensure `\msg_fatal:nn` ends the TeX run if used inside an
   hbox (see #587)
-- Moved driver code to internal for each 'parent' module
+- Moved backend code to a separate release schedule
 
 ## [2019-05-28]
 
diff --git a/l3kernel/build.lua b/l3kernel/build.lua
index 566454a..dcdf586 100644
--- a/l3kernel/build.lua
+++ b/l3kernel/build.lua
@@ -39,8 +39,8 @@ typesetskipfiles = {"source3-body.tex"}
 typesetruns      = 3
 unpackfiles      = {"l3.ins"}
 
--- No deps other than the test system
-typesetdeps = {maindir .. "/l3packages/xparse"}
+checkdeps   = {maindir .. "/l3backend"}
+typesetdeps = {maindir .. "/l3backend", maindir .. "/l3packages/xparse"}
 unpackdeps  = { }
 
 -- Load the common build code
@@ -67,10 +67,6 @@ function update_tag(file,content,tagname,tagdate)
     content = string.gsub(content,
       "\n\\def\\ExplFileDate{" .. iso .. "}%%\n",
       "\n\\def\\ExplFileDate{" .. tagname .. "}%%\n")
-  elseif string.match(file,"l3drivers%.dtx$") then
-    content = string.gsub(content,
-      "\n  ({l3%w+%.def}){" .. iso .. "}",
-      "\n  %1{" .. tagname .. "}")
   end
   if string.match(file,"%.dtx$") or string.match(file,"%.tex$") then
     return string.gsub(content,
diff --git a/l3kernel/l3.ins b/l3kernel/l3.ins
index d17b495..8affab2 100644
--- a/l3kernel/l3.ins
+++ b/l3kernel/l3.ins
@@ -117,67 +117,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{l3backend-basics.dtx}  {package,dvipdfmx}
-        \from{l3backend-color.dtx}   {package,dvipdfmx}
-        \from{l3backend-box.dtx}     {package,dvipdfmx}
-        \from{l3backend-draw.dtx}    {package,dvipdfmx}
-        \from{l3backend-graphics.dtx}{package,dvipdfmx}
-        \from{l3backend-pdf.dtx}     {package,dvipdfmx}
-      }
-  }
-\generate
-  {
-    \file{l3dvips.def}
-      {
-        \from{l3backend-basics.dtx}  {package,dvips}
-        \from{l3backend-color.dtx}   {package,dvips}
-        \from{l3backend-box.dtx}     {package,dvips}
-        \from{l3backend-draw.dtx}    {package,dvips}
-        \from{l3backend-graphics.dtx}{package,dvips}
-        \from{l3backend-pdf.dtx}     {package,dvips}
-      }
-  }
-\generate
-  {
-    \file{l3dvisvgm.def}
-      {
-        \from{l3backend-basics.dtx}  {package,dvisvgm}
-        \from{l3backend-color.dtx}   {package,dvisvgm}
-        \from{l3backend-box.dtx}     {package,dvisvgm}
-        \from{l3backend-draw.dtx}    {package,dvisvgm}
-        \from{l3backend-graphics.dtx}{package,dvisvgm}
-        \from{l3backend-pdf.dtx}     {package,dvisvgm}
-      }
-  }
-\generate
-  {
-    \file{l3pdfmode.def}
-      {
-        \from{l3backend-basics.dtx}  {package,pdfmode}
-        \from{l3backend-color.dtx}   {package,pdfmode}
-        \from{l3backend-box.dtx}     {package,pdfmode}
-        \from{l3backend-draw.dtx}    {package,pdfmode}
-        \from{l3backend-graphics.dtx}{package,pdfmode}
-        \from{l3backend-pdf.dtx}     {package,pdfmode}
-      }
-  }
-\generate
-  {
-    \file{l3xdvipdfmx.def}
-      {
-        \from{l3backend-basics.dtx}  {package,xdvipdfmx}
-        \from{l3backend-color.dtx}   {package,xdvipdfmx}
-        \from{l3backend-box.dtx}     {package,xdvipdfmx}
-        \from{l3backend-draw.dtx}    {package,xdvipdfmx}
-        \from{l3backend-graphics.dtx}{package,xdvipdfmx}
-        \from{l3backend-pdf.dtx}     {package,xdvipdfmx}
-      }
-  }
-
 % ISO-8859 encodings.
 \generate{%
   \file{l3str-enc-iso88591.def}  {\from{l3str-convert.dtx}{iso88591}}%
diff --git a/l3kernel/l3format.ins b/l3kernel/l3format.ins
index ae3621a..35279ca 100644
--- a/l3kernel/l3format.ins
+++ b/l3kernel/l3format.ins
@@ -112,67 +112,6 @@ and all files in that bundle must be distributed together.
       }
   }
 
-\generate
-  {
-    \file{l3dvipdfmx.ltx}
-      {
-        \from{l3backend-basics.dtx}  {initex,dvipdfmx}
-        \from{l3backend-color.dtx}   {initex,dvipdfmx}
-        \from{l3backend-box.dtx}     {initex,dvipdfmx}
-        \from{l3backend-draw.dtx}    {initex,dvipdfmx}
-        \from{l3backend-graphics.dtx}{initex,dvipdfmx}
-        \from{l3backend-pdf.dtx}     {initex,dvipdfmx}
-      }
-  }
-\generate
-  {
-    \file{l3dvips.ltx}
-      {
-        \from{l3backend-basics.dtx}  {initex,dvips}
-        \from{l3backend-color.dtx}   {initex,dvips}
-        \from{l3backend-box.dtx}     {initex,dvips}
-        \from{l3backend-draw.dtx}    {initex,dvips}
-        \from{l3backend-graphics.dtx}{initex,dvips}
-        \from{l3backend-pdf.dtx}     {initex,dvips}
-      }
-  }
-\generate
-  {
-    \file{l3dvisvgm.ltx}
-      {
-        \from{l3backend-basics.dtx}  {initex,dvisvgm}
-        \from{l3backend-color.dtx}   {initex,dvisvgm}
-        \from{l3backend-box.dtx}     {initex,dvisvgm}
-        \from{l3backend-draw.dtx}    {initex,dvisvgm}
-        \from{l3backend-graphics.dtx}{initex,dvisvgm}
-        \from{l3backend-pdf.dtx}     {initex,dvisvgm}
-      }
-  }
-\generate
-  {
-    \file{l3pdfmode.ltx}
-      {
-        \from{l3backend-basics.dtx}  {initex,pdfmode}
-        \from{l3backend-color.dtx}   {initex,pdfmode}
-        \from{l3backend-box.dtx}     {initex,pdfmode}
-        \from{l3backend-draw.dtx}    {initex,pdfmode}
-        \from{l3backend-graphics.dtx}{initex,pdfmode}
-        \from{l3backend-pdf.dtx}     {initex,pdfmode}
-      }
-  }
-\generate
-  {
-    \file{l3xdvipdfmx.ltx}
-      {
-        \from{l3backend-basics.dtx}  {initex,xdvipdfmx}
-        \from{l3backend-color.dtx}   {initex,xdvipdfmx}
-        \from{l3backend-box.dtx}     {initex,xdvipdfmx}
-        \from{l3backend-draw.dtx}    {initex,xdvipdfmx}
-        \from{l3backend-graphics.dtx}{initex,xdvipdfmx}
-        \from{l3backend-pdf.dtx}     {initex,xdvipdfmx}
-      }
-  }
-
 % ISO-8859 encodings.
 \generate{%
   \file{l3str-enc-iso88591.def}  {\from{l3str-convert.dtx}{iso88591}}%
diff --git a/l3kernel/source3body.tex b/l3kernel/source3body.tex
index bc7157b..620ac44 100644
--- a/l3kernel/source3body.tex
+++ b/l3kernel/source3body.tex
@@ -486,17 +486,6 @@ used on top of \LaTeXe{} if \cs{outer} tokens are used in the arguments.
 \DocInput{l3unicode.dtx}
 \DocInput{l3legacy.dtx}
 \DocInput{l3candidates.dtx}
-\ExplSyntaxOn
-\clist_gput_right:Nn \g_docinput_clist
-  {
-    l3backend-basics.dtx ,
-    l3backend-color.dtx ,
-    l3backend-box.dtx ,
-    l3backend-draw.dtx ,
-    l3backend-graphics.dtx ,
-    l3backend-pdf.dtx
-  }
-\ExplSyntaxOff
 
 \ExplSyntaxOn
 \clist_gput_right:Nn \g_docinput_clist { l3deprecation.dtx }





More information about the latex3-commits mailing list