diff options
| -rw-r--r-- | xmake/plugins/show/info/basic.lua | 62 | ||||
| -rw-r--r-- | xmake/plugins/show/main.lua | 11 |
2 files changed, 69 insertions, 4 deletions
diff --git a/xmake/plugins/show/info/basic.lua b/xmake/plugins/show/info/basic.lua new file mode 100644 index 000000000..2ed59fef6 --- /dev/null +++ b/xmake/plugins/show/info/basic.lua @@ -0,0 +1,62 @@ +--!A cross-platform build utility based on Lua +-- +-- Licensed under the Apache License, Version 2.0 (the "License"); +-- you may not use this file except in compliance with the License. +-- You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. +-- +-- Copyright (C) 2015-2020, TBOOX Open Source Group. +-- +-- @author ruki +-- @file basic.lua +-- + +-- imports +import("core.base.option") +import("core.base.global") +import("core.project.config") +import("core.project.project") +import("core.package.package") + +-- show basic info +function main() + + -- get target + config.load() + + -- show xmake information + print("The information of xmake:") + cprint(" ${color.dump.string}version${clear}: %s", xmake.version()) + cprint(" ${color.dump.string}host${clear}: %s/%s", os.host(), os.arch()) + cprint(" ${color.dump.string}programdir${clear}: %s", xmake.programdir()) + cprint(" ${color.dump.string}programfile${clear}: %s", xmake.programfile()) + cprint(" ${color.dump.string}globaldir${clear}: %s", global.directory()) + cprint(" ${color.dump.string}tmpdir${clear}: %s", os.tmpdir()) + cprint(" ${color.dump.string}packagedir${clear}: %s", package.installdir()) + cprint(" ${color.dump.string}packagedir(cache)${clear}: %s", package.cachedir()) + print("") + + local projectfile = os.projectfile() + if os.isfile(projectfile) then + print("The information of project: %s", project.name() and project.name() or "") + local version = project.version() + if version then + cprint(" ${color.dump.string}version${clear}: %s", version) + end + cprint(" ${color.dump.string}plat${clear}: %s", config.plat()) + cprint(" ${color.dump.string}arch${clear}: %s", config.arch()) + cprint(" ${color.dump.string}mode${clear}: %s", config.mode()) + cprint(" ${color.dump.string}buildir${clear}: %s", config.buildir()) + cprint(" ${color.dump.string}configdir${clear}: %s", config.directory()) + cprint(" ${color.dump.string}projectdir${clear}: %s", os.projectdir()) + cprint(" ${color.dump.string}projectfile${clear}: %s", projectfile) + print("") + end +end diff --git a/xmake/plugins/show/main.lua b/xmake/plugins/show/main.lua index 08f169a21..b1c7b3183 100644 --- a/xmake/plugins/show/main.lua +++ b/xmake/plugins/show/main.lua @@ -32,15 +32,18 @@ function main() -- show list? local listname = option.get("list") if listname then - _show_list(listname) + return _show_list(listname) else + -- show the information of the given object for _, filepath in ipairs(os.files(path.join(os.scriptdir(), "info", "*.lua"))) do local name = path.basename(filepath) if option.get(name) then - local show_info = assert(import("info." .. name, {try = true, anonymous = true}), "unknown list name(%s)", name) - show_info(option.get(name)) - break + local show_info = assert(import("info." .. name, {try = true, anonymous = true}), "unknown option name(%s)", name) + return show_info(option.get(name)) end end end + + -- show the basic information of xmake and the current project + assert(import("info.basic", {try = true, anonymous = true}))() end |
