跨平台构建

xmake后期发展随想

ぐ巨炮叔叔 提交于 2020-03-25 08:22:55
3 月,跳不动了?>>> 随着xmake v2.0.1 版本的发布,这大半年的辛苦总算告一段落,这个版本我基本上重构整个项目的90%的代码,几乎算是重写了,但结果还算挺满意的。。 因为上个版本的架构设计的不是很好,不能很好进行扩展,也不支持插件模式,语法设计上也不严谨,容易出现各种隐患,这对于后期维护和发展来说,已经出现了不可逾越的瓶颈。。 每个项目到了一定阶段,都是要不断重构,重新构思整体架构,才能使得项目不断的向好的方向演进。。 (当然如果是公司项目就另当别论了,坑太多,历史负担较重,不是说要重构就能让你重构的。=。=) 回归正题,目前xmake基本上所有模块都是可扩展的: 插件扩展 工程模板扩展 平台架构扩展 action扩展 option选项扩展 自定义task任务机制 宏脚本扩展 模块化和可扩展性,使得xmake整体是高度解耦的,整个core的内核算法实现非常轻量,其他模块如果我们想要扩展它,只需要把自己实现的脚本放到对应目录,就可以实现自注册,自加载。。 并且每个插件模块内部都有严格的作用域控制、沙盒化处理,非常安全,不会干扰到其他插件。。 下一个大版本,我打算开始研究下,怎么去实现完善的依赖包管理,目前的一些想法和构思: 自动检测依赖包,如果存在直接链接编译,如果不存在,从远程仓库中自动下载对应版本,进行本地编译安装,然后自动集成和链接 支持多架构