[发明专利]软件项目的包文件生成方法及装置、设备、存储介质在审
| 申请号: | 202010702946.8 | 申请日: | 2020-07-20 |
| 公开(公告)号: | CN111880805A | 公开(公告)日: | 2020-11-03 |
| 发明(设计)人: | 刘靖楠;林万欣;曹浩宇 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
| 主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F8/70;G06F21/60 |
| 代理公司: | 深圳市隆天联鼎知识产权代理有限公司 44232 | 代理人: | 叶虹 |
| 地址: | 518057 广东省深圳*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 软件 项目 文件 生成 方法 装置 设备 存储 介质 | ||
1.一种软件项目的包文件生成方法,其特征在于,包括:
获取软件项目所包含的文件目录;
从所述软件项目的入口代码文件开始,递归查找所述文件目录中具有引入关系的代码文件;
将查找到的代码文件进行合并处理,生成目标代码文件,并根据所述入口代码文件中含有的入口参数在所述目标代码文件中添加入口函数;
对所述目标代码文件进行编译处理,获得所述软件项目对应的包文件。
2.根据权利要求1所述的方法,其特征在于,将查找到的代码文件进行合并处理,生成目标代码文件,包括:
根据定义的装饰器函数,将查找到的代码文件装饰为伪模块函数;
将所述装饰器函数以及装饰得到的伪模块函数合并至目标代码文件中,所述目标代码文件中的伪模块函数在被执行时引入所述目标代码文件中的其它伪模块函数。
3.根据权利要求2所述的方法,其特征在于,将查找到的代码文件装饰为伪模块函数,包括:
生成查找到的各个代码文件所对应的伪模块函数,所述伪模块函数的函数名为相应代码文件的包名,所述伪模块函数的函数体为相应代码文件中的所有代码;
将所述伪模块函数中关于代码文件的引入描述替换为关于代码文件所对应伪模块函数的调用描述。
4.根据权利3所述的方法,其特征在于,所述方法还包括:
从所述软件项目中查找伪模块函数对应的代码文件的所有父级目录下的目录文件;
将查找到的目录文件所对应的代码内容添加到所述伪模块函数的函数体中。
5.根据权利要求2所述的方法,其特征在于,所述方法还包括:
确定伪模块函数中含有的特殊引入描述;
将所述特殊引入描述从所述伪模块函数中删除,并将所述特殊引入描述添加至所述目标代码文件中的源代码顶部。
6.根据权利要求1所述的方法,其特征在于,在将查找到的代码文件进行合并处理之前,所述方法还包括:
遍历查找所述文件目录中的代码文件之间的引入方式;
如果查找到第一代码文件以相对路径的方式引入了第二代码文件,则将所述相对路径替换为所述第二代码文件在所述文件目录中的绝对路径。
7.根据权利要求1所述的方法,其特征在于,在将查找到的代码文件进行合并处理之前,所述方法还包括:
遍历查找所述文件目录中的代码文件之间的引入方式;
如果查找到第三代码文件以概括性引入的方式引入了第四代码文件中的所有代码参数,则将所述概括性引入替换为所述第四代码文件中的所有代码参数的真实引入。
8.根据权利要求7所述的方法,其特征在于,将所述概括性引入替换为所述第四代码文件中的所有代码参数的真实引入,包括:
获取所述第四代码文件对应的包名;
基于所述包名,在字典文件中查找与所述包名相关联的数组信息,所述数组信息对应于所述第四代码文件中的所有代码参数;
将所述第三代码文件中关于概括性引入的代码部分替换为所述数组信息对应的所有代码参数。
9.根据权利要求8所述的方法,其特征在于,在将所述概括性引入替换为所述所有代码参数的真实引入之前,所述方法还包括:
将软件项目含有的各个第四代码文件对应的包名加入预设集合;
在软件项目中查找所述预设集合中的各个包名对应的第四代码文件所含有的内建数组,所述内建数组中含有所述第四代码文件中的所有代码参数;
将所述各个包名作为键,以及将针对所述各个包名查找到的所有代码参数作为所述键对应的值存入所述字典文件中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010702946.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种隧道用悬臂式掘进机
- 下一篇:基于遗传算法的信贷证券化组包方法及装置





