[发明专利]编译依赖关系树的生成显示方法及装置有效
申请号: | 201610258091.8 | 申请日: | 2016-04-21 |
公开(公告)号: | CN105718296B | 公开(公告)日: | 2019-11-08 |
发明(设计)人: | 张浦 | 申请(专利权)人: | 北京元心科技有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 北京市立方律师事务所 11330 | 代理人: | 张筱宁 |
地址: | 100176 北京市北京经济技*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 编译 依赖 关系 生成 显示 方法 装置 | ||
本发明实施例提供了编译依赖关系树的生成显示方法及装置,所述方法包括:对于软件平台中的一个资源包,根据预先生成的资源表中该资源包对应的依赖信息,确定出该资源包的编译层级;分别根据预先生成的结果表、依赖表中该资源包对应的依赖包索引、输出包索引,确定出该资源包的上层、下层编译依赖关系;根据软件平台中多个资源包各自的编译层级,以及上层、下层编译依赖关系,生成该软件平台的编译依赖关系树并显示。用户可根据本发明实施例提供的编译依赖关系树,容易地确定出待编译的资源包,编译时所需的各层级的依赖包,及各依赖包之间的编译顺序等编译依赖关系,从而大大提升编译效率,并可防止因依赖错误或编译顺序错误而导致的编译错误。
技术领域
本发明涉及软件编译技术领域,具体而言,本发明涉及一种编译依赖关系树的生成显示方法及装置。
背景技术
随着技术的发展,很多用户在服务方提供的软件平台上编译软件,并将编译后软件打包成资源包,进行发布或者共享等等。
例如,OBS(Open Build Service)软件平台提供多种软件的编译服务。OBS软件平台支持对多种操作系统进行编译打包。多种操作系统包括Linux及其衍生系统;例如openSUSE、Debian、Fedora、Ubuntu、Red Hat Enterprise Linux、SUSE Linux Enterprise等。
以Linux及其衍生系统为例,目前Linux系统的多个发行版所各自采用的封包格式、每个资源包编译时所依赖的依赖包通常不同,以及资源包编译输出后的输出包通常也不相同,造成资源包编译的拓扑排序的数据结果非常复杂。整个软件平台中,存在大量的资源包,资源包之间的编译依赖关系非常复杂;例如,一个资源包A既可以是另一个资源包B编译时所需的依赖包,又可以是资源包C编译后输出的输出包。
本发明的发明人发现,目前的软件平台通常并不提供资源包之间的编译依赖关系。对于在软件平台上编译资源包的用户而言,自行了解整个软件平台的各资源包之间的编译依赖关系,工作量十分巨大,几乎是不可能完成的任务。因此,目前用户通常是利用最近的记载有编译依赖关系的文件,例如spec文件,自行修改该文件中的编译资源包所需的依赖包、以及各依赖包的编译顺序等编译依赖关系;之后进行资源包的编译打包;容易导致编译效率低下,编译错误等等。
发明内容
本发明针对现有方式的缺点,提出一种编译依赖关系树的生成显示方法及装置,用以解决现有技术存在不提供编译依赖关系而导致编译效率低下的问题。
本发明的实施例根据一个方面,提供了一种编译依赖关系树的生成显示方法,包括:
对于软件平台中的一个资源包,根据预先生成的资源表中该资源包对应的依赖信息,确定出该资源包的编译层级;
分别根据预先生成的结果表、依赖表中该资源包对应的依赖包索引、输出包索引,确定出该资源包的上层、下层编译依赖关系;
根据所述软件平台中多个资源包各自的编译层级,以及上层、下层编译依赖关系,生成该软件平台的编译依赖关系树并显示。
较佳地,所述资源表是通过下述方法预先生成的:
对于所述软件平台中的每个资源包,将该资源包名、依赖包名、输出包名、以及该资源包的层级都导入所述资源表的一条记录中,并设置所述层级为空;
将所述软件平台中的一个资源包作为源包,采用递归方式确定源包的依赖包;
在一层递归中,将上层递归的依赖包作为本层递归的源包,进而确定出本层递归的源包的依赖包,直到确定出的依赖包为库文件包,结束递归;
将所述库文件包的层级设置为最小层级后,对于每层递归,将该层递归的源包的层级设置为该层递归的依赖包的层级加一,得到各资源包的层级。
较佳地,所述确定出本层递归的源包的依赖包,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京元心科技有限公司,未经北京元心科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610258091.8/2.html,转载请声明来源钻瓜专利网。