[latex3-commits] [git/LaTeX3-latex3-l3build] ctan-post: ctan-post -> upload (8b0f7ab)
Will Robertson
wspr81 at gmail.com
Mon Dec 10 14:05:18 CET 2018
Repository : https://github.com/latex3/l3build
On branch : ctan-post
Link : https://github.com/latex3/l3build/commit/8b0f7ab09bb5c6bbfdcb3ff074a04364f6117eb6
>---------------------------------------------------------------
commit 8b0f7ab09bb5c6bbfdcb3ff074a04364f6117eb6
Author: Will Robertson <wspr81 at gmail.com>
Date: Mon Dec 10 23:35:18 2018 +1030
ctan-post -> upload
>---------------------------------------------------------------
8b0f7ab09bb5c6bbfdcb3ff074a04364f6117eb6
l3build-stdmain.lua | 4 +-
l3build-ctan-post.lua => l3build-upload.lua | 73 +++++++++------------------
2 files changed, 26 insertions(+), 51 deletions(-)
diff --git a/l3build-stdmain.lua b/l3build-stdmain.lua
index a466e68..3ff01ac 100644
--- a/l3build-stdmain.lua
+++ b/l3build-stdmain.lua
@@ -86,10 +86,10 @@ target_list =
desc = "Create CTAN-ready archive",
func = ctan
},
- ctanupload =
+ upload =
{
desc = "Send archive to CTAN for public release",
- func = ctan_upload
+ func = upload
},
doc =
{
diff --git a/l3build-ctan-post.lua b/l3build-upload.lua
similarity index 66%
rename from l3build-ctan-post.lua
rename to l3build-upload.lua
index 8c28db7..6b76591 100644
--- a/l3build-ctan-post.lua
+++ b/l3build-upload.lua
@@ -23,7 +23,7 @@ for those people who are interested.
--]]
--- ctan_upload
+-- UPLOAD()
--
-- takes a package configuration table and an optional boolean
--
@@ -60,66 +60,41 @@ local ctanupload = ctanupload or "ask"
-- if ctanupload is true the ctan upload URL will be used after validation
-- if upload is anything else, the user will be prompted whether to upload.
-ctandata = ctandata or {}
+uploaddata = uploaddata or {}
---[[
- Q: If we are asking people to use a table, is "ctandata" okay?
- I'm not attached to anything here.
- I considered more generic, like "metadata", and more simple, like "ctan"
- and not really sure.
---]]
-
-function ctan_upload ()
+function upload()
+ -- try a sensible default for the package name:
local bundle = bundle or ""
if bundle == "" then
bundle = nil
end
- ctandata.pkg = ctandata.pkg or bundle or module or nil
-
- --[[
- Q: I think we need some sensible defaults. I'm wondering whether a more
- generic opening to an l3build file might be better, like
-
- metadata = {
- module = "foobar",
- author = {"Will Robertson", "Joseph Wright"},
- license = {"lppl1.3c"},
- ...
- }
-
- which we can then grab data out of for ctan, rather than vice versa.
- --]]
+ uploaddata.pkg = uploaddata.pkg or bundle or module or nil
ctan_post = ctan_post_command .. " "
-- field max desc mandatory multi
-- -------------------------------------------------------------------------------------------------
- ctan_field("pkg", ctandata.pkg, 32, "Package name", true, false )
- ctan_field("version", ctandata.version, 32, "Package version", true, false )
- ctan_field("author", ctandata.author, 128, "Author name", true, false )
- ctan_field("email", ctandata.email, 255, "Email of uploader", true, false )
- ctan_field("uploader", ctandata.uploader, 255, "Name of uploader", true, false )
- ctan_field("ctanPath", ctandata.ctanPath, 255, "CTAN path", false, false )
- ctan_field("license", ctandata.license, 2048, "Package license(s); see https://ctan.org/license", true, true )
- ctan_field("home", ctandata.home, 255, "URL of home page", false, false )
- ctan_field("bugtracker", ctandata.bugtracker, 255, "URL of bug tracker", false, false )
- ctan_field("support", ctandata.support, 255, "URL of support channels", false, true )
- ctan_field("repository", ctandata.repository, 255, "URL of source repositories", false, true )
- ctan_field("development", ctandata.development, 255, "URL of development channels", false, true )
- ctan_field("update", ctandata.update, 8, "Boolean: true for an update false otherwise", false, false )
- ctan_field("topic", ctandata.topic, 1024, "Topic(s); see https://ctan.org/topics/highscore", false, true )
- ctan_field("announcement", ctandata.announcement, 8192, "Announcement", false, false )
- ctan_field("summary", ctandata.summary, 128, "One-line summary of package", true, false ) -- ctan-o-mat doc says optional
- ctan_field("description", ctandata.description, 4096, "Short description of package", false, false )
- ctan_field("note", ctandata.note, 4096, "Internal note to ctan", false, false )
+ ctan_field("pkg", uploaddata.pkg, 32, "Package name", true, false )
+ ctan_field("version", uploaddata.version, 32, "Package version", true, false )
+ ctan_field("author", uploaddata.author, 128, "Author name", true, false )
+ ctan_field("email", uploaddata.email, 255, "Email of uploader", true, false )
+ ctan_field("uploader", uploaddata.uploader, 255, "Name of uploader", true, false )
+ ctan_field("ctanPath", uploaddata.ctanPath, 255, "CTAN path", false, false )
+ ctan_field("license", uploaddata.license, 2048, "Package license(s); see https://ctan.org/license", true, true )
+ ctan_field("home", uploaddata.home, 255, "URL of home page", false, false )
+ ctan_field("bugtracker", uploaddata.bugtracker, 255, "URL of bug tracker", false, false )
+ ctan_field("support", uploaddata.support, 255, "URL of support channels", false, true )
+ ctan_field("repository", uploaddata.repository, 255, "URL of source repositories", false, true )
+ ctan_field("development", uploaddata.development, 255, "URL of development channels", false, true )
+ ctan_field("update", uploaddata.update, 8, "Boolean: true for an update false otherwise", false, false )
+ ctan_field("topic", uploaddata.topic, 1024, "Topic(s); see https://ctan.org/topics/highscore", false, true )
+ ctan_field("announcement", uploaddata.announcement, 8192, "Announcement", false, false )
+ ctan_field("summary", uploaddata.summary, 128, "One-line summary of package", true, false ) -- ctan-o-mat doc says optional
+ ctan_field("description", uploaddata.description, 4096, "Short description of package", false, false )
+ ctan_field("note", uploaddata.note, 4096, "Internal note to ctan", false, false )
--[[
- Q: The fields are specific to what the CTAN API needs.
- I wonder if the l3build interface should deviate from them.
- E.g., I think "contactname"/"contactemail" are clearer than "uploader"/"email"
- but I'm not too fussed.
-
Q: What about an explicit copyright string? CTAN packages have them
listed. TODO: check these are all the fields.
--]]
@@ -133,7 +108,7 @@ function ctan_upload ()
if zip~=nil then
io.close(zip)
else
- error("missing zip file " .. tostring(ctan_file))
+ error("Missing zip file " .. tostring(ctan_file))
end
-- call post command to validate the upload at CTAN's validate URL
More information about the latex3-commits
mailing list