summaryrefslogtreecommitdiff
path: root/xmake/plugins/pack/runself/main.lua
diff options
context:
space:
mode:
authorruki <[email protected]>2023-11-24 22:37:42 +0800
committerruki <[email protected]>2023-11-24 22:37:42 +0800
commitf99a2826a56540608b01075a072eba11f4da6fc5 (patch)
treee2ffe8cacdbe307074f3793e18b04c3320d196b4 /xmake/plugins/pack/runself/main.lua
parent19b444e7d0f05b1efa7a52b9d8c001be7cba14c2 (diff)
improve test
Diffstat (limited to 'xmake/plugins/pack/runself/main.lua')
-rw-r--r--xmake/plugins/pack/runself/main.lua22
1 files changed, 18 insertions, 4 deletions
diff --git a/xmake/plugins/pack/runself/main.lua b/xmake/plugins/pack/runself/main.lua
index 91d1f9426..8f5774f61 100644
--- a/xmake/plugins/pack/runself/main.lua
+++ b/xmake/plugins/pack/runself/main.lua
@@ -130,9 +130,23 @@ function _pack_runself(makeself, package)
return value
end)
- -- install the setup.sh script
- local installdir = package:installdir()
- local setupfile = path.join(installdir, "__setup__.sh")
+ -- archive source files
+ local srcfiles, dstfiles = package:sourcefiles()
+ for idx, srcfile in ipairs(srcfiles) do
+ os.vcp(srcfile, dstfiles[idx])
+ end
+ for _, component in table.orderpairs(package:components()) do
+ if component:get("default") ~= false then
+ local srcfiles, dstfiles = component:sourcefiles()
+ for idx, srcfile in ipairs(srcfiles) do
+ os.vcp(srcfile, dstfiles[idx])
+ end
+ end
+ end
+
+ -- generate the setup.sh script
+ local sourcedir = package:sourcedir()
+ local setupfile = path.join(sourcedir, "__setup__.sh")
os.cp(path.join(os.programdir(), "scripts", "xpack", "runself", "setup.sh"), setupfile)
local scriptfile = io.open(setupfile, "a+")
if scriptfile then
@@ -147,7 +161,7 @@ function _pack_runself(makeself, package)
-- make package
os.vrunv(makeself, {"--gzip", "--sha256", "--lsm", specfile,
- installdir, package:outputfile(), package:basename(), "./__setup__.sh"})
+ sourcedir, package:outputfile(), package:basename(), "./__setup__.sh"})
end
function main(package)