summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2025-02-25 23:03:48 +0800
committerruki <[email protected]>2025-02-25 23:03:48 +0800
commitc1fac4f233b9c33b897ec3348d908d9560eff385 (patch)
tree237f440aacf39d0eb59c59c832749dab51f1bd1e
parentca1b4ed22e3f9aeebce728459960d9238dba39c3 (diff)
fix find kotlin libs
-rw-r--r--xmake/modules/package/manager/kotlin-native/find_package.lua15
-rw-r--r--xmake/modules/package/manager/kotlin-native/install_package.lua19
2 files changed, 16 insertions, 18 deletions
diff --git a/xmake/modules/package/manager/kotlin-native/find_package.lua b/xmake/modules/package/manager/kotlin-native/find_package.lua
index 6a8134ec6..da2768306 100644
--- a/xmake/modules/package/manager/kotlin-native/find_package.lua
+++ b/xmake/modules/package/manager/kotlin-native/find_package.lua
@@ -35,17 +35,8 @@ function main(name, opt)
opt = opt or {}
local result = {}
local installdir = assert(opt.installdir, "installdir not found!")
- local libraries = os.files(path.join(installdir, "lib", "*.klib"))
- for _, libraryfile in ipairs(libraries) do
- result.libfiles = result.libfiles or {}
- result.links = result.links or {}
- result.linkdirs = result.linkdirs or {}
- table.insert(result.links, path.basename(libraryfile))
- table.insert(result.linkdirs, path.directory(libraryfile))
- table.insert(result.libfiles, libraryfile)
- end
- if result.links then
- print(result)
- return result
+ local manifest_file = path.join(installdir, "installed_manifest.txt")
+ if os.isfile(manifest_file) then
+ return io.load(manifest_file)
end
end
diff --git a/xmake/modules/package/manager/kotlin-native/install_package.lua b/xmake/modules/package/manager/kotlin-native/install_package.lua
index d8598def3..aaac0fd33 100644
--- a/xmake/modules/package/manager/kotlin-native/install_package.lua
+++ b/xmake/modules/package/manager/kotlin-native/install_package.lua
@@ -33,20 +33,20 @@ import("core.base.semver")
function _select_package_version(name, opt)
local installdir = opt.installdir
local require_version = opt.require_version
- local manifest_file = path.join(installdir, "maven-metadata.xml")
+ local metadata_file = path.join(installdir, "maven-metadata.xml")
for _, repository in ipairs(opt.repositories) do
- local manifest_url = ("%s/%s-%s/maven-metadata.xml"):format(repository, (name:gsub("%.", "/"):gsub(":", "/")), opt.triplet)
+ local metadata_url = ("%s/%s-%s/maven-metadata.xml"):format(repository, (name:gsub("%.", "/"):gsub(":", "/")), opt.triplet)
local ok = try {
function()
- http.download(manifest_url, manifest_file, {
+ http.download(metadata_url, metadata_file, {
insecure = global.get("insecure-ssl")})
return true
end
}
- if ok and os.isfile(manifest_file) then
- local manifest = io.readfile(manifest_file)
+ if ok and os.isfile(metadata_file) then
+ local metadata = io.readfile(metadata_file)
local versions = {}
- for _, line in ipairs(manifest:split("\n")) do
+ for _, line in ipairs(metadata:split("\n")) do
local v = line:match("<version>(.*)</version>")
if v then
table.insert(versions, v)
@@ -69,6 +69,13 @@ function _install_package(name, opt)
local library_url = ("%s/%s-%s/%s-%s.klib"):format(opt.repository, (name:gsub("%.", "/"):gsub(":", "/")), opt.triplet, basename, opt.version)
http.download(library_url, library_file, {
insecure = global.get("insecure-ssl")})
+
+ local manifest_file = path.join(installdir, "installed_manifest.txt")
+ io.save(manifest_file, {
+ links = basename,
+ linkdirs = path.directory(library_file),
+ libfiles = library_file,
+ version = opt.version})
end
-- install package