summaryrefslogtreecommitdiff
path: root/xmake/modules/private/action/require/import.lua
diff options
context:
space:
mode:
Diffstat (limited to 'xmake/modules/private/action/require/import.lua')
-rw-r--r--xmake/modules/private/action/require/import.lua14
1 files changed, 14 insertions, 0 deletions
diff --git a/xmake/modules/private/action/require/import.lua b/xmake/modules/private/action/require/import.lua
index 43ac9a13a..cf6cb85c7 100644
--- a/xmake/modules/private/action/require/import.lua
+++ b/xmake/modules/private/action/require/import.lua
@@ -19,13 +19,24 @@
--
-- imports
+import("core.base.task")
import("core.base.option")
+import("private.action.require.impl.repository")
+import("private.action.require.impl.environment")
import("private.action.require.impl.import_packages")
import("private.action.require.impl.utils.get_requires")
-- import the given packages
function main(requires_raw)
+ -- enter environment
+ environment.enter()
+
+ -- pull all repositories first if not exists
+ if not repository.pulled() then
+ task.run("repo", {update = true})
+ end
+
-- get requires and extra config
local requires_extra = nil
local requires, requires_extra = get_requires(requires_raw)
@@ -50,5 +61,8 @@ function main(requires_raw)
end
end
end
+
+ -- leave environment
+ environment.leave()
end