Skip to content

Commit 2904272

Browse files
committed
🐞 fix(tools/scripts/tasks/smart-rootfs/on_run.lua): fix multiple repo
1 parent efab099 commit 2904272

1 file changed

Lines changed: 23 additions & 12 deletions

File tree

tools/scripts/tasks/smart-rootfs/on_run.lua

Lines changed: 23 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,10 @@
2222
--
2323
import("core.project.config")
2424
import("core.project.project")
25-
import("core.package.package")
2625
import("core.base.option")
2726
import("rt.rt_utils")
27+
import("private.action.require.impl.utils.get_requires")
28+
import("private.action.require.impl.package")
2829

2930
function create_dir(dir)
3031
if not os.exists(dir) then
@@ -48,16 +49,21 @@ function create_rootfs(rootfs)
4849
end
4950

5051
function deploy_package(rootfs)
51-
local rootdir = path.absolute("../../../../repo", os.scriptdir())
52-
for pkgname, pkg in pairs(project:required_packages()) do
53-
local packagename = string.match(pkgname, "[^@~]+")
52+
local requires, requires_extra = get_requires()
53+
for _, instance in ipairs(package.load_packages(requires, {requires_extra = requires_extra})) do
54+
local requireinfo = instance:requireinfo()
55+
local repo = instance:repo()
56+
local packagename = requireinfo.originstr
57+
local installdir = instance:installdir()
58+
local repodir = repo:url()
59+
local reponame = repo:name()
5460
local deploy_script =
55-
path.join(rootdir, "packages", packagename:sub(1, 1), packagename, "scripts", "deploy.lua")
61+
path.join(repodir, "packages", packagename:sub(1, 1), packagename, "scripts", "deploy.lua")
5662
if os.isfile(deploy_script) then
5763
vprint("run script => '%s'", deploy_script)
58-
import("deploy", {rootdir = path.directory(deploy_script)}).main(rootfs, pkg:installdir())
64+
import("deploy", {rootdir = path.directory(deploy_script)}).main(rootfs, installdir)
5965
end
60-
local package_rootfs = path.join(rootdir, "packages", packagename:sub(1, 1), packagename, "rootfs")
66+
local package_rootfs = path.join(repodir, "packages", packagename:sub(1, 1), packagename, "rootfs")
6167
if os.isdir(package_rootfs) then
6268
for _, filedir in ipairs(os.filedirs(package_rootfs .. "/*")) do
6369
os.vrunv("cp", {"-rfv", filedir, rootfs})
@@ -67,14 +73,19 @@ function deploy_package(rootfs)
6773
end
6874

6975
function export_package_to_sdkdir(sdkdir)
70-
local rootdir = path.absolute("../../../../repo", os.scriptdir())
71-
for pkgname, pkg in pairs(project:required_packages()) do
72-
local packagename = string.match(pkgname, "[^@~]+")
76+
local requires, requires_extra = get_requires()
77+
for _, instance in ipairs(package.load_packages(requires, {requires_extra = requires_extra})) do
78+
local requireinfo = instance:requireinfo()
79+
local packagename = requireinfo.originstr
80+
local repo = instance:repo()
81+
local repodir = repo:url()
82+
local reponame = repo:name()
83+
local installdir = instance:installdir()
7384
local export_script =
74-
path.join(rootdir, "packages", packagename:sub(1, 1), packagename, "scripts", "export.lua")
85+
path.join(repodir, "packages", packagename:sub(1, 1), packagename, "scripts", "export.lua")
7586
if os.isfile(export_script) then
7687
vprint("run script => '%s'", export_script)
77-
import("export", {rootdir = path.directory(export_script)}).main(sdkdir, pkg:installdir())
88+
import("export", {rootdir = path.directory(export_script)}).main(sdkdir, installdir)
7889
end
7990
end
8091
end

0 commit comments

Comments
 (0)