diff options
Diffstat (limited to 'xmake/actions/lua')
| -rw-r--r-- | xmake/actions/lua/scripts/echo.lua | 32 | ||||
| -rwxr-xr-x | xmake/actions/lua/xmake.lua | 44 |
2 files changed, 68 insertions, 8 deletions
diff --git a/xmake/actions/lua/scripts/echo.lua b/xmake/actions/lua/scripts/echo.lua new file mode 100644 index 000000000..40165df2b --- /dev/null +++ b/xmake/actions/lua/scripts/echo.lua @@ -0,0 +1,32 @@ +--!The Automatic Cross-platform Build Tool +-- +-- XMake is free software; you can redistribute it and/or modify +-- it under the terms of the GNU Lesser General Public License as published by +-- the Free Software Foundation; either version 2.1 of the License, or +-- (at your option) any later version. +-- +-- XMake is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU Lesser General Public License for more details. +-- +-- You should have received a copy of the GNU Lesser General Public License +-- along with XMake; +-- If not, see <a href="http://www.gnu.org/licenses/"> http://www.gnu.org/licenses/</a> +-- +-- Copyright (C) 2015 - 2016, ruki All rights reserved. +-- +-- @author ruki +-- @file echo.lua +-- + +-- the main function +function main(...) + + -- echo all + for _, v in ipairs(...) do + printf("%s ", v:decode()) + end + print("") + +end diff --git a/xmake/actions/lua/xmake.lua b/xmake/actions/lua/xmake.lua index 0a7b4b6fa..96089d0b6 100755 --- a/xmake/actions/lua/xmake.lua +++ b/xmake/actions/lua/xmake.lua @@ -26,6 +26,40 @@ task("lua") -- set category set_task_category("action") + -- on run + on_task_run(function () + + -- imports + import("core.base.option") + import("core.project.config") + import("core.project.global") + import("core.platform.platform") + + -- do not load config if be not given -f or -P options + if option.get("file") or option.get("project") then + + -- load global configure + global.load() + + -- load project configure + config.load() + + -- load platform + platform.load(config.plat()) + + end + + -- get script name + local name = option.get("script") + if not name then + raise("no script!") + end + + -- import script + import("scripts." .. name).main(option.get("arguments")) + + end) + -- set menu set_task_menu({ -- usage @@ -40,14 +74,8 @@ task("lua") -- options , options = { - {'s', "string", "k", nil, "Run the lua string script." } - - , {} - , {nil, "script", "v", nil, "Run the given lua script." - , " - The script name from the xmake tool directory" - , " - The script file" - , " - The script string" } - , {nil, "arguments", "vs", nil, "The script arguments" } + {nil, "script", "v", nil, "Run the given lua script." } + , {nil, "arguments", "vs", nil, "The script arguments" } } }) |
