Xmake进阶---插件开发详解

xmake 插件任务介绍

除了 option() 和 target() 两个对象配置域,xmake 还提供了另外一种配置域 task(),通过它我们可以自定义一些扩展的运行任务,甚至可以用来实现一些扩展插件。

而在上节实验中,我们通过 xmake 内置的工程生成插件,其实也已经大概了解了 xmake 插件是什么以及如何使用了。

所谓的插件,就是除了 xmake 提供的一些内置基本子命令,例如 xmake buildxmake install 之外的其它子命令,大家可以在 xmake.lua 中通过 task("myplugin") 自定义一个插件命令,然后通过 xmake myplugin 的方式运行我们定义的插件子命令。

编写一个简单的插件

接下来,我们通过实现一个简单的 echo 插件,来了解下整个插件编写过程。由于我们是在自己项目工程的 xmake.lua 里面去编写插件任务,因此先执行下面的命令,创建一个空工程。

cd ~/Code
xmake create plugin_test

创建完成后,进入 plugin_test 目录,编辑里面的 xmake.lua 文件,修改成如下配置,在里面定义一个 task("echo") 插件任务配置域用来描述 echo 插件。

task("echo")
    set_menu {usage = "xmake echo [options]", description = "Echo the given info!", options = {}}
    on_run(function ()
        print("hello xmake!")
    end)

target("test")
    set_kind("binary")
    add_files("src/*.cpp")

通过上面的配置可以看到,整个插件的定义很简单,主要由以下三部分组成。

  • task():定义整个插件任务配置域。
  • set_menu():用于配置插件在 help 命令菜单中的显示和参数描述。
  • on_run():定义整个插件的脚本运行入口。

配置完成后通过运行 xmake --help 命令,查看 xmake 帮助菜单,找寻我们定义的 echo 插件,看看是否出现在帮助列表里面。

在上图的红框位置,就是我们新定义的插件,不过当前没有被划分到 Plugins 里面,而是在 Tasks 下面,这个只是 task() 的分类问题,默认定义的 task() 既不属于 Actions 也不属于 Plugins 分类,而是作为通用的 Tasks 分类。

当然,这仅仅只是 help 菜单显示分类的差异,并不影响我们把它作为插件来使用,不过我们也可以通过 set_category("plugin") 将其标记为 Plugins 分类。

继续编辑 xmake.lua 文件。

task("echo")
    set_menu {usage = "xmake echo [options]", descript
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

红星星

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值