[发明专利]基于源码集的软件架构及实现方法、用于编译pins组件的插件及应用方法在审
申请号: | 201811601311.8 | 申请日: | 2018-12-26 |
公开(公告)号: | CN109725905A | 公开(公告)日: | 2019-05-07 |
发明(设计)人: | 刘嵘;李毅昌;周良帅;蔡志成;王坤;周鹏飞 | 申请(专利权)人: | 苏州思必驰信息科技有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F8/54 |
代理公司: | 北京商专永信知识产权代理事务所(普通合伙) 11400 | 代理人: | 李彬彬;张丽 |
地址: | 215123 江苏省苏州市苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 源码 软件架构 声明文件 编译 插件 统一管理 组件化 归类 同组 应用 架构 引用 配置 声明 统一 | ||
1.基于源码集的软件架构,其特征在于,包括module组件和pins组件,所述module组件用作pins组件的容器,每个module组件下包括有至少一个pins组件;其中,
所述pins组件实现为一个配置有依赖声明文件的源码集,所述依赖声明文件用于声明自身需要依赖的pins组件;
同一module组件下的各pins组件基于其依赖声明文件实现对其他pins组件的引用。
2.根据权利要求1所述的软件框架,其特征在于,所述依赖声明文件通过pins组件名称声明自身需要依赖的pins组件。
3.根据权利要求2所述的软件框架,其特征在于,pins组件名称为其对应的源码集的文件夹名。
4.根据权利要求1至3任一项所述的软件框架,其特征在于,对pins组件的编译通过gradle插件实现。
5.基于源码集的软件架构的实现方法,其特征在于,包括:
为各源码集添加依赖声明文件,形成pins组件;
配置各module组件下的pins组件;
在编译时,对各pins组件的代码文件进行动态扫描,根据各pins组件的依赖声明文件,对pins组件的代码文件进行编译。
6.根据权利要求5所述的实现方法,其特征在于,所述依赖声明文件实现为build.gradle文件。
7.根据权利要求5所述的实现方法,其特征在于,所述对各pins组件的代码文件进行动态扫描,根据各pins组件的依赖声明文件,对pins组件的代码文件进行编译包括
依次读取各pins组件的代码文件内容,进行如下处理:
将代码文件内容与相应pins组件的依赖声明文件中的内容进行匹配,确定所述代码文件内容中是否存在未声明的依赖,存在则抛出编译异常,不存在则更新代码文件的修改时刻。
8.根据权利要求7所述的方法,其特征在于,在读取各pins组件的代码文件内容之前还包括:
判断是否存在pins组件的缓存文件,如果存在,则从缓存文件中加载当前pins组件的所有代码文件的修改时刻至内存;
读取当前pins组件中所有代码文件的修改时刻,与缓存文件中加载的代码文件的修改时刻进行比较,在修改时刻不一致时,执行读取代码文件内容进行处理的操作。
9.用于编译pins组件的插件,其特征在于,其实现为用于执行如下编译过程:
获取配置的pins组件信息;
根据所述pins组件信息,依次获取pins组件进行如下处理:
判断是否存在当前pins组件的缓存文件,如果存在,则从缓存文件中加载当前pins组件的所有代码文件的修改时刻至内存;
读取当前pins组件中所有代码文件的修改时刻,与缓存文件中加载的代码文件的修改时刻进行比较,在修改时刻不一致时,读取pins组件的代码文件内容,将代码文件内容与pins组件的依赖声明文件中的内容进行匹配,确定所述代码文件内容中是否存在未声明的依赖,存在则抛出编译异常,不存在则更新代码文件的修改时刻。
10.应用权利要求1所述的软件架构进行应用开发的方法,其特征在于,包括
在待开发的应用程序中加载gradle插件的jar包;
配置各module组件下的pins组件信息;
为各pins组件添加依赖声明文件;
在编译时,所述gradle插件根据配置的pins组件信息和依赖声明文件依次获取pins组件,执行pins组件的编译过程;
其中,所述gradle插件为权利要求9所述的插件。
11.根据权利要求10所述的方法,其特征在于,所述配置各module组件下的pins组件是通过依赖闭包实现。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州思必驰信息科技有限公司,未经苏州思必驰信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811601311.8/1.html,转载请声明来源钻瓜专利网。