diff options
| author | ruki <[email protected]> | 2021-08-18 00:47:49 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2021-08-18 00:47:49 +0800 |
| commit | 00107046b0c8eb07185b24783b2d32114f9ed760 (patch) | |
| tree | 8fc2df521d35fcea98d51d9dd87afe68a1785ee4 | |
| parent | 139d4b590a4ad763f0c9e43f59e8281383e4212b (diff) | |
add require --upgrade
| -rw-r--r-- | xmake/actions/require/main.lua | 2 | ||||
| -rw-r--r-- | xmake/actions/require/xmake.lua | 1 | ||||
| -rw-r--r-- | xmake/modules/private/action/require/impl/package.lua | 4 | ||||
| -rw-r--r-- | xmake/modules/private/action/require/install.lua | 2 |
4 files changed, 6 insertions, 3 deletions
diff --git a/xmake/actions/require/main.lua b/xmake/actions/require/main.lua index eb0e2014e..41b9a7eac 100644 --- a/xmake/actions/require/main.lua +++ b/xmake/actions/require/main.lua @@ -118,7 +118,7 @@ function main() scan(option.get("requires")) - -- install and update all outdated package dependencies by default if no arguments + -- install and upgrade all outdated package dependencies by default if no arguments else install(option.get("requires")) end diff --git a/xmake/actions/require/xmake.lua b/xmake/actions/require/xmake.lua index a9d4db32c..f33188f77 100644 --- a/xmake/actions/require/xmake.lua +++ b/xmake/actions/require/xmake.lua @@ -72,6 +72,7 @@ task("require") , {'s', "search", "k", nil, "Search for the given packages from repositories.", "e.g.", " $ xmake require --search tbox" } + , {nil, "upgrade", "k", nil, "Upgrade the installed packages." } , {nil, "uninstall", "k", nil, "Uninstall the installed packages.", "e.g.", " $ xmake require --uninstall", diff --git a/xmake/modules/private/action/require/impl/package.lua b/xmake/modules/private/action/require/impl/package.lua index 5dc0ff451..53e978f9a 100644 --- a/xmake/modules/private/action/require/impl/package.lua +++ b/xmake/modules/private/action/require/impl/package.lua @@ -204,7 +204,9 @@ end -- has locked requires? function _has_locked_requires() - return project.policy("package.requires_lock") and os.isfile(project.requireslock()) + if not option.get("upgrade") then + return project.policy("package.requires_lock") and os.isfile(project.requireslock()) + end end -- get locked requires diff --git a/xmake/modules/private/action/require/install.lua b/xmake/modules/private/action/require/install.lua index 821991dee..e27e627cb 100644 --- a/xmake/modules/private/action/require/install.lua +++ b/xmake/modules/private/action/require/install.lua @@ -76,7 +76,7 @@ function main(requires_raw) -- -- attempt to install git from the builtin-packages first if git not found -- - if git and not repository.pulled() then + if git and (not repository.pulled() or option.get("upgrade")) then task.run("repo", {update = true}) end |
