xmake高级特性之自定义task任务

task是xmake 2.0开始新增的特性,也是插件开发的核心,在 插件开发之hello xmake 中我们简单介绍了下task的定义和使用

当然task不仅可以用来写插件,而且还可以写一些简单的自定义任务。。

我们先看下一个简单task实现:

-- 定义一个名叫hello的task任务
task("hello")

    -- task运行的入口
    on_run(function ()

        -- 显示hello xmake!
        print("hello xmake!")

    end)

这是一个最简单的task,相比插件task,它少了对 set_menu 的设置,当然你也可以加上,好、这样就个可以在命令行中调用它。。

而这个hello task没有设置set_menu,那么只能在自定义脚本里面调用了。。

target("demo")

    -- 自定义clean action
    on_clean(function(target)

        -- 导入task模块
        import("core.project.task")

        -- 运行这个hello task
        task.run("hello")
    end)

如果想要增加参数传递,有两种方式:

  1. 通过set_menu添加一个命令行的选项菜单,通过option模块来访问参数(支持命令行、脚本传参)
  2. 直接通过脚本传参

我们先看下第二种比较简单,不需要定义命令行菜单,只需要task定义和调用处双方约定好参数规则就行:

-- 直接传参,{} 这个是给第一种选项传参使用,这里置空
-- 这里在最后面传入了两个参数:arg1, arg2
task.run("hello", {}, "arg1", "arg2")

那如何获取这两个参数呢?

-- 定义一个名叫hello的task任务
task("hello")

    -- task运行的入口,定义为两个参数
    on_run(function (arg1, arg2)

        -- 显示hello xmake!
        print("hello xmake: %s %s!", arg1, arg2)

    end)

怎么样简单吧,当然这种传参方式没法通过命令行进行外部传参,所以一般用于一些内置的task间调用,像插件这种高级task,就需要第一种传参方式了

这个详情请参考:插件开发之参数配置


转载于:https://my.oschina.net/tboox/blog/694398

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值