2222--
2323import (" core.project.config" )
2424import (" core.project.project" )
25- import (" core.package.package" )
2625import (" core.base.option" )
2726import (" rt.rt_utils" )
27+ import (" private.action.require.impl.utils.get_requires" )
28+ import (" private.action.require.impl.package" )
2829
2930function create_dir (dir )
3031 if not os .exists (dir ) then
@@ -48,16 +49,21 @@ function create_rootfs(rootfs)
4849end
4950
5051function 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)
6773end
6874
6975function 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
8091end
0 commit comments