用于持续集成的自动化编译方法和编译装置制造方法及图纸

技术编号:10487032 阅读:108 留言:0更新日期:2014-10-03 16:03
本发明专利技术提供了一种用于持续集成的自动化编译方法及装置,其中,自动化编译方法,包括:获取用于描述至少一个构建单元中每个构建单元内的每个组件与其他组件之间的依赖关系的配置文件;解析所述配置文件,根据每个组件与其他组件之间的依赖关系生成每个构建单元的依赖关系集,并根据依赖关系集确定每个构建单元内的组件编译顺序;根据所述每个构建单元的所述依赖关系集和每个构建单元内的组件编译顺序,对所述至少一个构建单元进行编译。本发明专利技术的技术方案实现了自动对构建单元内各组件之间的依赖关系进行分析构建,无需开发人员人工分析构建单元内各组件之间的依赖关系,提高了软件生产效率,进而确保了持续集成具有稳定、高效、准确的优点。

【技术实现步骤摘要】
用于持续集成的自动化编译方法和编译装置
本专利技术涉及计算机
,具体而言,涉及一种用于持续集成的自动化编译方法和一种用于持续集成的自动化编译装置。
技术介绍
持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件。 自动化构建的核心在于产品标准化和构建脚本的生成。在此工具应用之前,自动化的构建脚本一直由开发人员手动维护。在开发过程中,开发人员每天都向版本库提交代码,各产品内部及外部的构建单元之间的依赖关系随时有可能变化,修改自动化的构建脚本就给开发人员增加了额外的工作负担。同时,自动化的构建还要起到对持续集成的验证作用,开发人员编写自动化的构建脚本难免存在纰漏,对于持续集成每天的完整运行有一定影响。 因此,如何能够实现自动对构建单元内各组件之间的依赖关系进行分析,提高软件生产效率成为亟待解决的技术问题。
技术实现思路
本专利技术正是基于上述技术问题,提出了一种新的用于持续集成的自动化编译方案,实现了自动对构建单元内各组件之间的依赖关系进行分析构建,无需开发人员人工分析构建单元内各组件之间的依赖关系,降低了开发人员的工作负担,提高了软件生产效率,进而确保了持续集成具有稳定、高效、准确的优点。 有鉴于此,本专利技术提出了一种用于持续集成的自动化编译方法,包括:获取用于描述至少一个构建单元中每个构建单元内的每个组件与其他组件之间的依赖关系的配置文件;解析所述配置文件,根据所述每个组件与其他组件之间的依赖关系生成所述每个构建单元的依赖关系集,并根据所述依赖关系集确定所述每个构建单元内的组件编译顺序;根据所述每个构建单元的所述依赖关系集和每个构建单元内的组件编译顺序,对所述至少一个构建单元进行编译。 在该技术方案中,通过获取用于描述每个构建单元内的组件之间的依赖关系的配置文件,以根据配置文件生成构建单元的依赖关系集,进而对构建单元的编译,使得在进行持续集成时,实现了自动对构建单元内各组件之间的依赖关系进行分析构建,无需开发人员人工分析构建单元内各组件之间的依赖关系,降低了开发人员的工作负担,节约了人力资源,提高了软件生产效率,并且降低了软件项目的开发成本,确保持续集成具有稳定、高效、准确的优点。 在上述技术方案中,优选地,解析任一构建单元的所述配置文件的步骤具体为:判断所述配置文件的格式是否为预定的标准格式;若判定所述配置文件的格式为所述标准格式,则将所述任一构建单元中的所有组件的内容转化为数据对象,以进行加载;若判断所述配置文件的格式不是所述标准格式,则读取所述配置文件中预定义的关键字和所述任一构建单元内的预编译包的层级依赖关系,根据所述任一构建单元内的预编译包的层级依赖关系确定所述任一构建单元内的所有组件,将所述任一构建单元中的所有组件的内容转化为数据对象,以进行加载。 在该技术方案中,通过对配置文件格式是否为标准格式进行判断,使得能够针对标准格式的配置文件和非标准格式的配置文件采用不同的解析方式,进而能够准确地获取到构建单元内部的组件依赖关系。 在上述技术方案中,优选地,在对所述至少一个构建单元进行编译之前,还包括:根据所述依赖关系集判断所述每个构建单元内是否存在不依赖于其他组件的基础组件;若判定任一构建单元内存在所述基础组件,则执行所述编译的步骤;若判定任一构建单元内不存在所述基础组件,则进行报错处理。 在该技术方案中,若依赖关系集中不存在基础组件,即依赖关系集为环形依赖,则在编译时会出现死循环,影响系统的稳定性,因此,通过对依赖关系集中是否存在不依赖于其他组件的基础组件进行判断,使得能够在依赖关系集内出现问题,即出现环形依赖时,能够及时提醒开发人员,确保系统的稳定性。 在上述技术方案中,优选地,对所述至少一个构建单元进行编译的步骤具体为:根据所述每个构建单元的所述依赖关系集和每个构建单元内的组件编译顺序生成用于对所述至少一个构建单元进行编译的描述文件;按照设定的执行时间,调取并执行所述描述文件。 在上述技术方案中,优选地,还包括:根据所述每个构建单元的依赖关系集,以树形结构显示所述至少一个构建单元内的组件之间的依赖关系;在接收到显示指定组件的依赖情况的指令时,显示所述指定组件依赖的其他组件。 在该技术方案中,通过以树形结构显示构建单元内的组件之间的依赖关系,使得开发人员能够直观地掌握到构建单元内组件的依赖关系,以便于对各组件之间的依赖关系进行调整或查看。 根据本专利技术的另一方面,还提出了一种用于持续集成的自动化编译装置,包括:获取单元,获取用于描述至少一个构建单元中每个构建单元内的每个组件与其他组件之间的依赖关系的配置文件;处理单元,用于解析所述配置文件,根据所述每个组件与其他组件之间的依赖关系生成所述每个构建单元的依赖关系集,并根据所述依赖关系集确定所述每个构建单元内的组件编译顺序;编译单元,用于根据所述每个构建单元的所述依赖关系集和每个构建单元内的组件编译顺序,对所述至少一个构建单元进行编译。 在该技术方案中,通过获取用于描述每个构建单元内的组件之间的依赖关系的配置文件,以根据配置文件生成构建单元的依赖关系集,进而对构建单元的编译,使得在进行持续集成时,实现了自动对构建单元内各组件之间的依赖关系进行分析构建,无需开发人员人工分析构建单元内各组件之间的依赖关系,降低了开发人员的工作负担,节约了人力资源,提高了软件生产效率,并且降低了软件项目的开发成本,确保持续集成具有稳定、高效、准确的优点。 在上述技术方案中,优选地,所述处理单元具体用于:判断所述配置文件的格式是否为预定的标准格式,若判定所述配置文件的格式为所述标准格式,则将所述任一构建单元中的所有组件的内容转化为数据对象,以进行加载,以及若判断所述配置文件的格式不是所述标准格式,则读取所述配置文件中预定义的关键字和所述任一构建单元内的预编译包的层级依赖关系,根据所述任一构建单元内的预编译包的层级依赖关系确定所述任一构建单元内的所有组件,将所述任一构建单元中的所有组件的内容转化为数据对象,以进行加载。 在该技术方案中,通过对配置文件格式是否为标准格式进行判断,使得能够针对标准格式的配置文件和非标准格式的配置文件采用不同的解析方式,进而能够准确地获取到构建单元内部的组件依赖关系。 在上述技术方案中,优选地,还包括:判断单元,用于根据所述依赖关系集判断所述每个构建单元内是否存在不依赖于其他组件的基础组件;报错单元,用于在所述判断单元判定所述任一构建单元内不存在所述基础组件时,进行报错处理;所述编译单元还用于,在所述判断单元判定任一构建单元内存在所述基础组件时,执行所述编译的操作。 在该技术方案中,若依赖关系集中不存在基础组件,即依赖关系集为环形依赖,则在编译时会出现死循环,影响系统的稳定性,因此,通过对依赖关系集中是否存在不依赖于其他组件的基础组件进行判断,使得能够在依赖关系集内出现问题,即出现环形依赖时,能够及时提醒开发人员,确保系统的稳定性。 本文档来自技高网...
用于持续集成的自动化编译方法和编译装置

【技术保护点】
一种用于持续集成的自动化编译方法,其特征在于,包括:获取用于描述至少一个构建单元中每个构建单元内的每个组件与其他组件之间的依赖关系的配置文件;解析所述配置文件,根据所述每个组件与其他组件之间的依赖关系生成所述每个构建单元的依赖关系集,并根据所述依赖关系集确定所述每个构建单元内的组件编译顺序;根据所述每个构建单元的所述依赖关系集和每个构建单元内的组件编译顺序,对所述至少一个构建单元进行编译。

【技术特征摘要】
1.一种用于持续集成的自动化编译方法,其特征在于,包括: 获取用于描述至少一个构建单元中每个构建单元内的每个组件与其他组件之间的依赖关系的配置文件; 解析所述配置文件,根据所述每个组件与其他组件之间的依赖关系生成所述每个构建单元的依赖关系集,并根据所述依赖关系集确定所述每个构建单元内的组件编译顺序; 根据所述每个构建单元的所述依赖关系集和每个构建单元内的组件编译顺序,对所述至少一个构建单元进行编译。2.根据权利要求1所述 的用于持续集成的自动化编译方法,其特征在于,解析任一构建单元的所述配置文件的步骤具体为: 判断所述配置文件的格式是否为预定的标准格式; 若判定所述配置文件的格式为所述标准格式,则将所述任一构建单元中的所有组件的内容转化为数据对象,以进行加载; 若判断所述配置文件的格式不是所述标准格式,则读取所述配置文件中预定义的关键字和所述任一构建单元内的预编译包的层级依赖关系,根据所述任一构建单元内的预编译包的层级依赖关系确定所述任一构建单元内的所有组件,将所述任一构建单元中的所有组件的内容转化为数据对象,以进行加载。3.根据权利要求1所述的用于持续集成的自动化编译方法,其特征在于,在对所述至少一个构建单元进行编译之前,还包括: 根据所述依赖关系集判断所述每个构建单元内是否存在不依赖于其他组件的基础组件; 若判定任一构建单元内存在所述基础组件,则执行所述编译的步骤; 若判定任一构建单元内不存在所述基础组件,则进行报错处理。4.根据权利要求1所述的用于持续集成的自动化编译方法,其特征在于,对所述至少一个构建单元进行编译的步骤具体为: 根据所述每个构建单元的所述依赖关系集和每个构建单元内的组件编译顺序生成用于对所述至少一个构建单元进行编译的描述文件; 按照设定的执行时间,调取并执行所述描述文件。5.根据权利要求1至4中任一项所述的用于持续集成的自动化编译方法,其特征在于,还包括: 根据所述每个构建单元的依赖关系集,以树形结构显示所述至少一个构建单元内的组件之间的依赖关系; 在接收到显示指定组件的依赖情况的指令时,显示所述指定组件依赖的其他组件。6.一种用于持续集成的自动化编译装置,...

【专利技术属性】
技术研发人员:刘建男
申请(专利权)人:用友软件股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1