diff options
| author | ruki <[email protected]> | 2023-09-19 00:42:19 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2023-09-19 00:42:19 +0800 |
| commit | a4a9b3ac3f599249c8ed72bc773fed55d85c2753 (patch) | |
| tree | 8366b80de64ed4ddfc2a0088477916a26ea0496d | |
| parent | 9000d29d7038da45f6ae481404c9ff1dd189c702 (diff) | |
improve rules directory for base package
| -rw-r--r-- | xmake/core/package/package.lua | 16 | ||||
| -rw-r--r-- | xmake/modules/private/action/require/impl/actions/install.lua | 2 |
2 files changed, 17 insertions, 1 deletions
diff --git a/xmake/core/package/package.lua b/xmake/core/package/package.lua index a18d6f882..e86d87ce6 100644 --- a/xmake/core/package/package.lua +++ b/xmake/core/package/package.lua @@ -806,6 +806,22 @@ function _instance:scriptdir() return self._SCRIPTDIR end +-- get the rules directory +function _instance:rulesdir() + local rulesdir = self._RULESDIR + if rulesdir == nil then + rulesdir = path.join(self:scriptdir(), "rules") + if not os.isdir(rulesdir) and self:base() then + rulesdir = self:base():rulesdir() + end + if not os.isdir(rulesdir) then + rulesdir = false + end + self._RULESDIR = rulesdir + end + return rulesdir or nil +end + -- get the references info of this package function _instance:references() local references_file = path.join(self:installdir({readonly = true}), "references.txt") diff --git a/xmake/modules/private/action/require/impl/actions/install.lua b/xmake/modules/private/action/require/impl/actions/install.lua index 1610d0241..bd6176463 100644 --- a/xmake/modules/private/action/require/impl/actions/install.lua +++ b/xmake/modules/private/action/require/impl/actions/install.lua @@ -365,7 +365,7 @@ function main(package) end -- install rules - local rulesdir = path.join(package:scriptdir(), "rules") + local rulesdir = package:rulesdir() if os.isdir(rulesdir) then os.cp(rulesdir, package:installdir()) end |
