summaryrefslogtreecommitdiff
path: root/xmake/modules/package
diff options
context:
space:
mode:
authorruki <[email protected]>2020-12-01 22:41:20 +0800
committerruki <[email protected]>2020-12-01 22:41:20 +0800
commit2c4176be60a4d114aa6385c667aa30f0e9124af3 (patch)
treedb1c39f5e412d43016e8376294cf3af8fdf625a7 /xmake/modules/package
parent15c4701dd679316802d67d02b2b1c2dd302145bc (diff)
improve find_package to rename version args
Diffstat (limited to 'xmake/modules/package')
-rw-r--r--xmake/modules/package/manager/dub/find_package.lua4
-rw-r--r--xmake/modules/package/manager/dub/install_package.lua6
-rw-r--r--xmake/modules/package/manager/find_package.lua12
-rw-r--r--xmake/modules/package/manager/go/find_package.lua6
-rw-r--r--xmake/modules/package/manager/go/install_package.lua10
-rw-r--r--xmake/modules/package/manager/install_package.lua2
-rw-r--r--xmake/modules/package/manager/xmake/find_package.lua4
7 files changed, 21 insertions, 23 deletions
diff --git a/xmake/modules/package/manager/dub/find_package.lua b/xmake/modules/package/manager/dub/find_package.lua
index 02be651e7..58eacde95 100644
--- a/xmake/modules/package/manager/dub/find_package.lua
+++ b/xmake/modules/package/manager/dub/find_package.lua
@@ -57,7 +57,7 @@ function main(name, opt)
local pkgname = pkgkey[1]:trim()
local pkgversion = pkgkey[2]:trim()
if pkgname == name and find_file(libpattern, pkgpath) and
- (not opt.version or opt.version == "latest" or opt.version == "master" or semver.satisfies(pkgversion, opt.version)) then
+ (not opt.require_version or opt.require_version == "latest" or opt.require_version == "master" or semver.satisfies(pkgversion, opt.require_version)) then
pkgdir = pkgpath
break
end
@@ -80,7 +80,7 @@ function main(name, opt)
end
end
if #includedirs > 0 and #links > 0 then
- result = {version = opt.version, links = links, linkdirs = pkgdir, includedirs = includedirs}
+ result = {version = opt.require_version, links = links, linkdirs = pkgdir, includedirs = includedirs}
end
end
end
diff --git a/xmake/modules/package/manager/dub/install_package.lua b/xmake/modules/package/manager/dub/install_package.lua
index 6f46f6055..8c506d3cd 100644
--- a/xmake/modules/package/manager/dub/install_package.lua
+++ b/xmake/modules/package/manager/dub/install_package.lua
@@ -26,7 +26,7 @@ import("lib.detect.find_tool")
-- install package
--
-- @param name the package name, e.g. dub::log
--- @param opt the options, e.g. { verbose = true, mode = "release", plat = , arch = , version = "x.x.x", buildhash = "xxxxxx"}
+-- @param opt the options, e.g. { verbose = true, mode = "release", plat = , arch = , require_version = "x.x.x", buildhash = "xxxxxx"}
--
-- @return true or false
--
@@ -43,8 +43,8 @@ function main(name, opt)
if option.get("verbose") then
table.insert(argv, "-v")
end
- if opt.version and opt.version ~= "latest" and opt.version ~= "master" then
- table.insert(argv, "--version=" .. opt.version)
+ if opt.require_version and opt.require_version ~= "latest" and opt.require_version ~= "master" then
+ table.insert(argv, "--version=" .. opt.require_version)
end
os.vrunv(dub.program, argv)
diff --git a/xmake/modules/package/manager/find_package.lua b/xmake/modules/package/manager/find_package.lua
index 879a9a6e9..f1bee8af7 100644
--- a/xmake/modules/package/manager/find_package.lua
+++ b/xmake/modules/package/manager/find_package.lua
@@ -145,9 +145,9 @@ end
-- @code
--
-- local package = find_package("openssl")
--- local package = find_package("openssl", {version = "1.0.*"})
+-- local package = find_package("openssl", {require_version = "1.0.*"})
-- local package = find_package("openssl", {plat = "iphoneos"})
--- local package = find_package("openssl", {linkdirs = {"/usr/lib", "/usr/local/lib"}, includedirs = "/usr/local/include", version = "1.0.1"})
+-- local package = find_package("openssl", {linkdirs = {"/usr/lib", "/usr/local/lib"}, includedirs = "/usr/local/include", require_version = "1.0.1"})
-- local package = find_package("openssl", {linkdirs = {"/usr/lib", "/usr/local/lib", links = {"ssl", "crypto"}, includes = {"ssl.h"}})
-- local package, manager_name, package_name = find_package("openssl")
--
@@ -174,19 +174,17 @@ function main(name, opt)
-- get package name and require version
local require_version = nil
package_name, require_version = unpack(package_name:trim():split("%s"))
- opt.version = require_version or opt.version
+ opt.require_version = require_version or opt.require_version
-- find package
local found_manager_name = nil
result, found_manager_name = _find_package(manager_name, package_name, opt)
-- match version?
- if opt.version and opt.version:find('.', 1, true) and result then
- if not (result.version and (result.version == opt.version or semver.satisfies(result.version, opt.version))) then
+ if opt.require_version and opt.require_version:find('.', 1, true) and result then
+ if not (result.version and (result.version == opt.require_version or semver.satisfies(result.version, opt.require_version))) then
result = nil
end
end
-
- -- ok?
return result, found_manager_name, package_name
end
diff --git a/xmake/modules/package/manager/go/find_package.lua b/xmake/modules/package/manager/go/find_package.lua
index 1ccfcdba4..0020a2c02 100644
--- a/xmake/modules/package/manager/go/find_package.lua
+++ b/xmake/modules/package/manager/go/find_package.lua
@@ -27,8 +27,8 @@ import("core.package.package")
function _go_get_installdir(name, opt)
local name = "go_" .. name:lower()
local dir = path.join(package.installdir(), name:sub(1, 1):lower(), name)
- if opt.version then
- dir = path.join(dir, opt.version)
+ if opt.require_version then
+ dir = path.join(dir, opt.require_version)
end
return path.join(dir, opt.buildhash)
end
@@ -42,7 +42,7 @@ function main(name, opt)
local result
local installdir = _go_get_installdir(name, opt)
for _, libraryfile in ipairs(os.files(path.join(installdir, "lib", "**.a"))) do
- result = {version = opt.version, linkdirs = path.join(installdir, "lib"), includedirs = path.join(installdir, "lib")}
+ result = {version = opt.require_version, linkdirs = path.join(installdir, "lib"), includedirs = path.join(installdir, "lib")}
break
end
return result
diff --git a/xmake/modules/package/manager/go/install_package.lua b/xmake/modules/package/manager/go/install_package.lua
index 128dc84c3..e71920ba6 100644
--- a/xmake/modules/package/manager/go/install_package.lua
+++ b/xmake/modules/package/manager/go/install_package.lua
@@ -28,15 +28,15 @@ import("private.tools.go.goenv")
-- get the package cache directory
function _go_get_cachedir(name, opt)
local name = "go_" .. name:lower()
- return path.join(package.cachedir(), name:sub(1, 1), name, opt.version)
+ return path.join(package.cachedir(), name:sub(1, 1), name, opt.require_version)
end
-- get the package install directory
function _go_get_installdir(name, opt)
local name = "go_" .. name:lower()
local dir = path.join(package.installdir(), name:sub(1, 1):lower(), name)
- if opt.version then
- dir = path.join(dir, opt.version)
+ if opt.require_version then
+ dir = path.join(dir, opt.require_version)
end
return path.join(dir, opt.buildhash)
end
@@ -44,14 +44,14 @@ end
-- install package
--
-- @param name the package name, e.g. go::github.com/sirupsen/logrus
--- @param opt the options, e.g. { verbose = true, mode = "release", plat = , arch = , version = "x.x.x", buildhash = "xxxxxx"}
+-- @param opt the options, e.g. { verbose = true, mode = "release", plat = , arch = , require_version = "x.x.x", buildhash = "xxxxxx"}
--
-- @return true or false
--
function main(name, opt)
-- TODO we do not yet support the installation of go packages in specific versions
- local version = opt.version
+ local version = opt.require_version
assert(not version or version == "latest" or version == "master", "we can only support to install go packages without version!")
-- find go
diff --git a/xmake/modules/package/manager/install_package.lua b/xmake/modules/package/manager/install_package.lua
index 96d793763..18abdd34c 100644
--- a/xmake/modules/package/manager/install_package.lua
+++ b/xmake/modules/package/manager/install_package.lua
@@ -103,7 +103,7 @@ function main(name, opt)
-- get package name and require version
local require_version = nil
package_name, require_version = unpack(package_name:trim():split("%s"))
- opt.version = require_version or opt.version
+ opt.require_version = require_version or opt.require_version
-- do install package
_install_package(manager_name, package_name, opt)
diff --git a/xmake/modules/package/manager/xmake/find_package.lua b/xmake/modules/package/manager/xmake/find_package.lua
index c10be64ac..f60380be0 100644
--- a/xmake/modules/package/manager/xmake/find_package.lua
+++ b/xmake/modules/package/manager/xmake/find_package.lua
@@ -32,13 +32,13 @@ import("lib.detect.find_library")
function _find_package_from_repo(name, opt)
-- check options
- if not opt.version or not opt.buildhash then
+ if not opt.require_version or not opt.buildhash then
return
end
-- find the manifest file of package, e.g. ~/.xmake/packages/z/zlib/1.1.12/ed41d5327fad3fc06fe376b4a94f62ef/manifest.txt
local packagedirs = {}
- table.insert(packagedirs, path.join(package.installdir(), name:lower():sub(1, 1), name:lower(), opt.version, opt.buildhash))
+ table.insert(packagedirs, path.join(package.installdir(), name:lower():sub(1, 1), name:lower(), opt.require_version, opt.buildhash))
local manifest_file = find_file("manifest.txt", packagedirs)
if not manifest_file then
return