feat: hardcode more common used licenses and try get missed from github api. (#4078)

pull/4080/head
SuperDJY 6 months ago committed by GitHub
parent 65933a31bd
commit 7664608ba0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 44
      scripts/new.lua

@ -58,6 +58,41 @@ local function get_github_data(reponame)
return {data = data, host = host}
end
local function get_license_spdx_id(key)
local licenses = {
["apache-2.0"] = "Apache-2.0",
["lgpl-2.0"] = "LGPL-2.0",
["lgpl-2.1"] = "LGPL-2.1",
["agpl-3.0"] = "AGPL-3.0",
["bsd-2-clause"] = "BSD-2-Clause",
["bsd-3-clause"] = "BSD-3-Clause",
["bsl-1.0"] = "BSL-1.0",
["cc0-1.0"] = "CC0-1.0",
["epl-2.0"] = "EPL-2.0",
["gpl-2.0"] = "GPL-2.0",
["gpl-3.0"] = "GPL-3.0",
["mpl-2.0"] = "MPL-2.0",
zlib = "zlib",
mit = "MIT",
}
local license = licenses[key]
if license then
return license
end
local url = string.format("https://api.github.com/licenses/%s", key)
local tmpfile = os.tmpfile({ramdisk = false})
local ok = try { function () http.download(url, tmpfile); return true end }
if not ok then
os.tryrm(tmpfile)
return nil
end
local license_detail = json.loadfile(tmpfile)
license = license_detail["spdx_id"]
os.tryrm(tmpfile)
return license
end
function generate_package(reponame, get_data)
local repo_data = get_data(reponame)
local data = repo_data.data
@ -80,14 +115,7 @@ function generate_package(reponame, get_data)
-- define license if available
if type(data.licenseInfo) == "table" and data.licenseInfo.key then
local licenses = {
["apache-2.0"] = "Apache-2.0",
["lgpl-2.0"] = "LGPL-2.0",
["lgpl-2.1"] = "LGPL-2.1",
zlib = "zlib",
mit = "MIT",
}
local license = licenses[data.licenseInfo.key]
local license = get_license_spdx_id(data.licenseInfo.key)
if license then
file:print(' set_license("%s")', license)
end

Loading…
Cancel
Save