博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[转]:xmake高级特性之自定义task任务
阅读量:6936 次
发布时间:2019-06-27

本文共 1024 字,大约阅读时间需要 3 分钟。

task是xmake 2.0开始新增的特性,也是插件开发的核心,在 中我们简单介绍了下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, arg2task.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,就需要第一种传参方式了

这个详情请参考:


  • 原文出处:

转载地址:http://grvjl.baihongyu.com/

你可能感兴趣的文章
C# 导出Excel的示例(转)
查看>>
NUC1014 排版题.输出排列成菱形的字母
查看>>
利用反射机制获取属性的值遇到的坑
查看>>
最新app源码下载:200款优秀Android项目源码
查看>>
PHP/Yii2操作Cookie,常见问题以及注意事项
查看>>
支持向量机(五)SMO算法
查看>>
编译Android源码
查看>>
聚类分析算法---学习
查看>>
通过SQL Server命令行启动及停止SQL服务的方法
查看>>
笔记本电脑不显示电量图标-20180103
查看>>
JVM致命错误日志(hs_err_pid.log)解读
查看>>
springboot~openfeign从此和httpClient说再见
查看>>
CSRF攻击和防护
查看>>
FileUpload控件实例应用 上传文件
查看>>
springboot入门_数据库访问_jdbcTemplate
查看>>
迭代器 Iterator
查看>>
0初识Linux
查看>>
1048 Find Coins
查看>>
弱语法
查看>>
kafka api
查看>>