diff options
| author | ruki <[email protected]> | 2019-05-10 22:55:10 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2019-05-10 11:31:03 +0800 |
| commit | 11a61399f708e73df2c47b31cf4fd4d3f16495bc (patch) | |
| tree | a52dbe031ef11b853ac35ba0c703ec1c7deeb526 | |
| parent | 13e02d0fa943dfd9ea3a0f4c2184a3df46058a20 (diff) | |
improve on_xxx script
| -rw-r--r-- | CHANGELOG.md | 2 | ||||
| -rw-r--r-- | xmake/core/package/package.lua | 6 | ||||
| -rw-r--r-- | xmake/core/project/target.lua | 6 |
3 files changed, 12 insertions, 2 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 27dbee0c6..0ceec0665 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ ### Changes * Improve remote package manager +* Improve `target:on_xxx` scripts to support to match `android|armv7-a@macosx,linux|x86_64` pattern ### Bugs fixed @@ -589,6 +590,7 @@ ### 改进 * 改进远程依赖包管理,丰富包仓库 +* 改进`target:on_xxx`自定义脚本,去支持匹配`android|armv7-a@macosx,linux|x86_64`模式 ### Bugs修复 diff --git a/xmake/core/package/package.lua b/xmake/core/package/package.lua index 799776582..301a4ea94 100644 --- a/xmake/core/package/package.lua +++ b/xmake/core/package/package.lua @@ -673,9 +673,13 @@ function _instance:script(name, generic) -- match pattern -- + -- `@linux` + -- `@linux|x86_64` -- `@macosx,linux` -- `android@macosx,linux` -- `android|armv7-a@macosx,linux` + -- `android|armv7-a@macosx,linux|x86_64` + -- `android|armv7-a@linux|x86_64` -- for _pattern, _script in pairs(script) do local hosts = {} @@ -687,7 +691,7 @@ function _instance:script(name, generic) end return "" end) - if not _pattern:startswith("__") and (not hosts_spec or hosts[os.host()]) + if not _pattern:startswith("__") and (not hosts_spec or hosts[os.host() .. '|' .. os.arch()] or hosts[os.host()]) and (_pattern:trim() == "" or (plat .. '|' .. arch):find('^' .. _pattern .. '$') or plat:find('^' .. _pattern .. '$')) then result = _script break diff --git a/xmake/core/project/target.lua b/xmake/core/project/target.lua index 86b86fe70..f4809f424 100644 --- a/xmake/core/project/target.lua +++ b/xmake/core/project/target.lua @@ -1338,9 +1338,13 @@ function _instance:script(name, generic) -- match pattern -- + -- `@linux` + -- `@linux|x86_64` -- `@macosx,linux` -- `android@macosx,linux` -- `android|armv7-a@macosx,linux` + -- `android|armv7-a@macosx,linux|x86_64` + -- `android|armv7-a@linux|x86_64` -- for _pattern, _script in pairs(script) do local hosts = {} @@ -1352,7 +1356,7 @@ function _instance:script(name, generic) end return "" end) - if not _pattern:startswith("__") and (not hosts_spec or hosts[os.host()]) + if not _pattern:startswith("__") and (not hosts_spec or hosts[os.host() .. '|' .. os.arch()] or hosts[os.host()]) and (_pattern:trim() == "" or (plat .. '|' .. arch):find('^' .. _pattern .. '$') or plat:find('^' .. _pattern .. '$')) then result = _script break |
