[发明专利]终端、编译的方法及装置在审
申请号: | 201710948135.4 | 申请日: | 2017-10-12 |
公开(公告)号: | CN107704246A | 公开(公告)日: | 2018-02-16 |
发明(设计)人: | 李京 | 申请(专利权)人: | 北京元心科技有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 北京市立方律师事务所11330 | 代理人: | 张筱宁,宋海斌 |
地址: | 100176 北京市北京经济技*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 终端 编译 方法 装置 | ||
技术领域
本发明涉及计算机技术领域,具体而言,本发明涉及终端、编译的方法及装置。
背景技术
软件打包服务(Open Build Service,OBS)为一个开放的完整的软件分布开发平台,该开发平台提供基础架构,用于创建软件发布包。该开发平台不但支持多种Linux操作系统发行版以及硬件架构;同时也支持插件,应用于编译以及linux系统整体发布包的制作。OBS提供了工具集来协作工作,支持访问权限,合并请求和审查功能,终端设备可以通过web接口方便地访问OBS,同时OBS也支持命令行或者应用程序编程接口(Application Programming Interface,API)访问。OBS也支持依赖编译,并且当满足编译条件时,进行编译。
目前,一种编译的方法,当存在多个待编译的软件包,并开始编译任一软件包时,确定该待开始编译的软件包进行编译所依赖的软件包,当所依赖的任一软件包编译成功时,触发该待开始编译的软件包进行编译,例如,如图1所示,当前存在四个待编译的软件包,分别为软件包A、软件包B、软件包C以及软件包D,其中,软件包B以及软件包C均依赖软件包D,软件包A依赖软件包B、软件包C、软件包D,其中当软件包D编译成功时,触发软件包A、软件包B以及软件包C开始编译,当软件包B或软件包C编译成功时,触发软件包A进行编译。
然而,当通过上述方法进行编译时,当所依赖的任一软件包编译成功时,均会触发该待开始编译的软件包进行编译,若一个软件包依赖多个软件包,该软件包需要被触发编译多次,例如,当软件包D编译成功时,触发软件包A、软件包B以及软件包C开始编译,当软件包B编译成功时,又触发软件包A开始编译,软件包C编译成功,再次触发软件包A开始编译,即软件包A被触发开始编译3次,从而导致编译资源的浪费,以及编译过程的混乱。
发明内容
为克服上述技术问题或者至少部分地解决上述技术问题,特提出以下技术方案:
本发明的第一个实施例根据一个方面,提供了一种编译的方法,包括:
当待编译的软件包所依赖的任一软件包的编译状态为编译完成状态中的编译成功状态时,确定待编译的软件包所依赖的其它软件包分别对应的编译状态;
当待编译的软件包所依赖的其它软件包分别对应的编译状态为编译完成状态时,开始编译该待编译的软件包。
其中,编译状态包括以下至少一项:编译完成状态;未编译完成状态;
编译完成状态包括以下至少一项:编译成功状态;编译失败状态;
未编译完成状态包括以下至少一项:待编译状态;正在编译状态。
具体地,当待编译的软件包所依赖的其它软件包分别对应的编译状态为编译完成状态时,开始编译该待编译的软件包的步骤,包括:
当待编译的软件包所依赖的其它软件包分别对应的编译状态为编译完成状态时,根据所依赖的第一软件包对应的当前成功版本以及其它软件包分别对应的编译版本,开始编译该待编译的软件包,第一软件包为除其它软件包之外的软件包。
具体地,当待编译的软件包所依赖的其它软件包分别对应的编译状态为编译完成状态时,根据其它软件包分别对应的编译版本,开始编译该待编译的软件包的方式,包括以下至少一项:
当待编译的软件包所依赖的其它软件包分别对应的编译状态均为编译成功状态时,根据所依赖的其它软件包分别对应的当前编译成功版本,开始编译该待编译的软件包;
当待编译的软件包所依赖的其它软件包分别对应的编译状态均为编译失败状态时,获取编译状态为编译失败状态的软件包的历史编译成功版本,并根据编译状态为编译失败状态的软件包的历史编译成功版本,开始编译该待编译的软件包;
当待编译的软件包所依赖的其它软件包分别对应的编译状态中包括编译成功状态以及编译失败状态时,获取编译状态为编译失败状态的软件包的历史编译成功版本,并根据编译状态为编译失败状态的软件包的历史编译成功版本以及编译状态为编译成功状态的软件包当前编译成功版本,开始编译该待编译的软件包。
进一步地,该方法还包括:
当编译状态发生变更时,将编译状态更新为变更后的编译状态。
进一步地,开始编译该待编译的软件包的步骤之后,还包括:
当待编译的软件包编译失败时,记录该软件包的编译状态为编译失败状态。
本发明的第二个实施例根据另一个方面,还提供了一种编译的装置,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京元心科技有限公司,未经北京元心科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710948135.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种指纹显现方法及指纹显现系统
- 下一篇:食物的蒸煮方法及装置