Resource Monitoring Design Doc
Multiple Disk Support Design Doc
Oversubscription Design Doc
HTTP API Design Doc
Pluggable Containerizer Architecture
Task Resizing Design Doc
Maintenance Primitives Design Doc
Container terminated with non-terminal tasks
Dynamic Reservation Desgin Doc
Docker Containerizer Update
Task/Exe
继续阅读 »
import的主要用于导入xmake的扩展类库以及一些自定义的类库模块,一般用于 自定义脚本(on_build, on_run ..)、插件开发、模板开发、平台扩展、自定义任务task等地方。
导入机制如下:
优先从当前脚本目录下导入
再从扩展类库中导入
导入的语法规则:
基于.的类库路径规则,例如:
导入core核心扩展模块
```lua
import("core.base.option")
import("core.project")
import("core.project.task")
import("core")
function main()
-- 获取参数选项
继续阅读 »
声明,这不是广告,没有任何利益瓜葛。
App内测需要把安装把安装包放在一个地方进行托管,方便内测人员下载。国内有蒲公英,fir,等等这些网站可以用。
最近fir上了新版本了,上了新的api,新界面,本以为它们会提供gradle的上传工具,结果没有,而且它们新版本还不好用,原本的下载统计浏览统计都没有了,结果上传很慢,甚至上传不了,我便写了一个gradle的上传工具。
more
先介绍使用方法吧
使用方法
插件目前只有唯一一个task
uploadFir --上传apk到fir
集成插件本插件,你要按照如下方法使用
编辑build.gradle
```groovy
buildscript {
repositor
继续阅读 »
启动模式 lauchmode
在开启activity后 由activityXML中配置的默认模式 决定其所在的堆栈状态 和 退栈顺序
基本模式4种
standard 默认 每次都新建一个新的activity
singleTop 位于栈顶 复用堆栈中原有的 否则新建一个 常用于存储一些状态值啥的
singleTask 堆栈中只能有一个实例 跳到SINGLE TASK的activity 会把其之上的界面踢出栈 主要通过这个属性 清理一些中间过渡界面
singleInstance 堆栈中只能有一个ACTIVITY 就是它自身 主要给予外部调用 返回就是回到桌面
示例:
继续阅读 »
本文主要介绍下xmake的整体架构设计,以及源码结构的布局和模块划分。
如果你想深度使用xmake,开发xmake插件、工程自定义脚本或者想为xmake贡献一些代码和特性,可以通过此本的介绍,对xmake项目整体有个大概的了解。,
源码地址:Github
顶层目录结构
bash
./xmake/
├── actions # 内建的一些基础task,用于基本的构建安装等操作
├── core # xmake的核心模块,提供最底层的实现支持
├── languages # 所有的语言相关特性支持和扩展,都在此目录下
├── modules # 内置的扩展模块,可用`import`导入使用
├── pack
继续阅读 »
- Gradle是什么?
Gradle是一个集合了Maven和Ant优点的构建工具,据说要取代Maven,不置可否。
- 什么是projects和tasks?
每一个构建都是由一个或多个projects构成的。一个project到底代表什么取决于你想用Gradle做什么。每一个project是由一个或多个tasks构成的,一个task代表一些更加细化的构建。可能是编译一些classes,创建一个JAR,生成javadoc或者生成某个目录的压缩文件。
- 经常用的gradle -q,其中-q是干什么的?
-q代表quiet模式,它不会生成Gradle的日志信息(log messages),所以用户只能看到tasks的输出,它使得输
继续阅读 »
In a large cluster, some un-expected long running task hold back the job’s runtime sometimes. And those long running tasks are hard to locate in such a large cluster. Some ideas are shown here to help to locate those long running tasks. One of them will be implemented in the coming released of OGL.
继续阅读 »
源码
更新内容
此版本重构了90%的代码
新特性
增加task任务机制,可运行自定义任务脚本
实现plugin扩展机制,可以很方便扩展实现自定义插件,目前已实现的一些内置插件
增加project文件导出插件(目前已支持makefile的生成,后续会支持:vs, xcode等工程的生成)
增加hello xmake插件(插件demo)
增加doxygen文档生成插件
增加自定义宏脚本插件(支持动态宏记录、宏回放、匿名宏、批量导入、导出等功能)
增加更多的类库用于插件化开发
实现异常捕获机制,简化上层调用逻辑
增加多个option进行宏绑定,实现配置一个参数,就可以同时对多个配置进行生效
增加显示全局构建进度
继续阅读 »
我们继续以之前讲解的hello插件为基础,现在为其增加参数配置选项,并且指定一个独立的脚本文件中进行开发,这样我们就可以写一些更复杂的插件
```lua
-- 定义一个名叫hello的插件任务
task("hello")
-- 设置类型为插件
set_category("plugin")
-- 插件运行的入口,这里指定main,说明从当前插件目录的main.lua脚本中加载插件入口
on_run("main")
-- 设置插件的命令行选项,这里没有任何参数选项,仅仅显示插件描述
set_menu({
-- usage
继续阅读 »
确认完成和删除任务
到现在为止,我们只有一个和集合互动的方法 -- 在文档中进行插入操作。
现在,我们来学习如何进行更新和删除操作。
先来给task组件添加两个元素: 一个确认选框和一个删除按钮,并给他们带上各自的事件监听
继续阅读 »