summaryrefslogtreecommitdiff
path: root/xmake/plugins/pack/main.lua
diff options
context:
space:
mode:
authorruki <[email protected]>2023-11-16 23:29:03 +0800
committerruki <[email protected]>2023-11-16 23:29:03 +0800
commit2013ee491dbc719aa674d4d8be5d40a2408b5213 (patch)
tree2c4681252fea44e81626c4ead9d7092bc9661ffc /xmake/plugins/pack/main.lua
parentf4bcce69c4bf01fa5c79d6d1f64e1691daea692b (diff)
add package scripts
Diffstat (limited to 'xmake/plugins/pack/main.lua')
-rw-r--r--xmake/plugins/pack/main.lua16
1 files changed, 15 insertions, 1 deletions
diff --git a/xmake/plugins/pack/main.lua b/xmake/plugins/pack/main.lua
index dfaac68d8..a0c94f998 100644
--- a/xmake/plugins/pack/main.lua
+++ b/xmake/plugins/pack/main.lua
@@ -34,11 +34,25 @@ function _load_package(package, format)
end
end
+function _on_package(package)
+ import(package:format())(package)
+end
+
function _pack_package(package)
assert(package:formats(), "xpack(%s): formats not found, please use `set_formats()` to set it.", package:name())
+ local scripts = {
+ package:script("package_before"),
+ package:script("package", _on_package),
+ package:script("package_after")
+ }
for _, format in package:formats():keys() do
_load_package(package, format)
- import(format)(package)
+ for i = 1, 3 do
+ local script = scripts[i]
+ if script ~= nil then
+ script(package)
+ end
+ end
end
end