支持应用程序并行研发的代码合并方法及相关设备与流程

文档序号:17260929发布日期:2019-03-30 09:39阅读:198来源:国知局
支持应用程序并行研发的代码合并方法及相关设备与流程

本发明涉及通信技术领域,尤其涉及一种支持应用程序并行研发的代码合并方法及相关设备。



背景技术:

在app(application,应用程序)开发中,并行研发(即同时对多个待研发应用程序中的代码进行合并)是提升效率的一种比较有效的方案。

现有的app的研发是通过人工代码合并,针对每一个需求所涉及的多个代码库进行手动合并。由于手动合并代码流程比较繁琐,因此耗费人力较多,出错率也较高。同时,若在多个app并行研发的情况下,代码合并的工作量更是大量增加,而且需求合并的管理也比较困难,造成代码合并效率低。



技术实现要素:

本发明实施例提供一种支持应用程序并行研发的代码合并方法及相关设备,用以解决现有技术中存在的应用程序并行研发时代码合并效率低的问题。

第一方面,本发明实施例提供一种支持应用程序并行研发的代码合并方法,所述方法包括如下步骤:

收集待研发应用程序的信息,根据所述待研发应用程序的信息生成与所述待研发应用程序对应的应用程序id;

基于所述应用程序id创建对应的待研发应用程序的需求列表,向所述需求列表中添加需求信息,并配置与所述需求信息对应的代码库;

基于所述应用程序id查找与待研发应用程序的各需求信息对应的代码库,并对查找到的代码库中的代码进行合并,获得合并后的代码库。

可选的,所述待研发应用程序信息包括以下一种或几种:

应用程序名称、与应用程序名称对应的源码工程、与应用程序名称对应的lib库工程、与应用程序名称对应的打包脚本、与应用程序名称对应的自动化测试命令和与应用程序名称对应的源码更新命令。

可选的,所述基于所述应用程序id查找与待研发应用程序的各需求信息对应的代码库,并对查找到的代码库中的代码进行合并,获得合并后的代码库,具体包括:

所述基于所述应用程序id查找与待研发应用程序的各需求信息对应的代码库,并对查找到的代码库中的代码进行合并,具体包括:

基于应用程序id查找与待研发应用程序的各需求信息对应的代码库,其中,各所述代码库中包括目标分支和经过开发后的功能分支;

将各代码库中的功能分支合并到目标分支上以获得合并后的代码库。

可选的,所述方法还包括:对合并后的代码库进行编译校验,若通过校验,则完成代码合并;若未通过校验,则对所述合并后的代码库中的代码进行修复,并对修复后的代码进行编译校验。

第二方面,本发明实施例提供一种支持应用程序并行研发的代码合并装置,包括:

收集模块,用于收集待研发应用程序的信息,根据所述待研发应用程序的信息生成与所述待研发应用程序对应的应用程序id;

创建模块,用于基于所述应用程序id创建对应的待研发应用程序的需求列表,向所述需求列表中添加需求信息,并配置与所述需求信息对应的代码库;

合并模块,用于基于所述应用程序id查找与待研发应用程序的各需求信息对应的代码库,并对查找到的代码库中的代码进行合并,获得合并后的代码库。

可选的,所述应用程序信息包括以下一种或几种:应用程序名称、与应用程序名称对应的源码工程、与应用程序名称对应的lib库工程、与应用程序名称对应的打包脚本、与应用程序名称对应的自动化测试命令和与应用程序名称对应的源码更新命令。

可选的,所述合并模块具体用于:基于应用程序id查找与待研发应用程序的各需求信息对应的代码库,其中,各所述代码库中包括目标分支和经过开发后的功能分支;

将各代码库中的功能分支合并到目标分支上以获得合并后的代码库。

可选的,还包括:校验模块,用于对合并后的代码库进行编译校验,若通过校验,则完成代码合并;若未通过校验,则对所述合并后的代码库中的代码进行修复,并对修复后的代码进行编译校验。

第三方面,本发明实施例提供一种服务器,所述服务器包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的任意一项支持应用程序并行研发的代码合并方法的步骤。

第四方面,本发明实施例提供一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被所述处理器执行时实现如上所述的任意一项支持应用程序并行研发的代码合并方法的步骤。

本发明实施例对不同的应用程序生成与应用程序对应id,以便于通过id来区分各应用程序,方便应用程序的管理,并且便于后续基于应用程序的id,对各应用程序的各需求对应的各代码库同时自动进行代码合并;节省了代码合并的人工成本和时间成本,由此解决了现有的手动合并代码造成的费时费力、且出错率高的问题。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1为第一实施例提供的支持应用程序并行研发的代码合并方法流程图;

图2为第二实施例提供的支持应用程序并行研发的代码合并方法流程图;

图3为第三实施例提供的支持应用程序并行研发的代码合并装置的框图;

图4为第四实施例提供的支持应用程序并行研发的代码合并装置的框图;

图5为第五实施例提供的服务器结构框图;

图6为第七实施例提供的支持应用程序并行研发的代码合并方法流程图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

本发明第一实施例提供一种支持应用程序并行研发的代码合并方法,如图1所示,包括以下具体步骤:

步骤s11,收集待研发应用程序的信息,根据所述待研发应用程序的信息生成与所述待研发应用程序对应的应用程序id;

本步骤中,可以将收集到的待研发应用程序信息存储在应用程序列表中,以便于对待研发应用程序进行管理,还可以根据实际需求对应用程序列表进行命名;本步骤中待研发应用程序的信息具体包括:应用程序名称、与应用程序名称对应的源码工程、与应用程序名称对应的lib库工程、与应用程序名称对应的打包脚本、与应用程序名称对应的自动化测试命令和与应用程序名称对应的源码更新命令;本步骤中在生成应用程序id时,可以根据应用程序的名称、应用程序的类型等来生成唯一的id,通过生产与待研发应用程序对应的应用程序id,能够便于对待研发应用程序进行区分。

步骤s12,基于所述应用程序id创建对应的待研发应用程序的需求列表,向所述需求列表中添加需求信息,并配置与所述需求信息对应的代码库;

具体的,本步骤中的功能分支指代码库中功能代码的分支;本步骤中每个app可以对应有多个需求,各需求可以存放在一需求列表中以方便管理,每个需求又可以对应多个代码库,与需求对应的各代码库可以存放在同一代码库列表中,比如待研发app1有3个需求,每个需求对应2个代码库;待研发app2有2个需求,第一个需求有2个代码库,第二个需求有3个代码库,可以将待研发app1的3个需求放置在同一需求列表中,再将同一需求对应的代码库放在同一代码库列表中,有利于对需求进度跟踪,便于统一管理和统计,为待研发app的需求和代码库的管理提供便利。

步骤s13,基于所述应用程序id查找与待研发应用程序的各需求信息对应的代码库,并对查找到的代码库中的代码进行合并,获得合并后的代码库。

本步骤中,例如在对待研发app1和待研发app2的代码合并时,具体是通过将功能代码的分支合并到目标代码分支中来实现代码库的合并,在合并时,可以根据app1和app2的id找到与app1和app2对应的需求,根据需求找到对应的代码库,将各代码库中的代码同时进行合并,提高了合并代码的速度。

本发明实施例中,通过对不同的应用程序生成与应用程序对应id,以便于通过id来区分各应用程序,方便应用程序的管理,并且便于后续基于应用程序的id,对各应用程序的各需求对应的各代码库同时进行代码合并;管理明晰,分类明确,节省了代码合并的人工成本和时间成本。

本发明第二实施例提供一种支持应用程序并行研发的代码合并方法,如图2所示,包括以下具体步骤:

步骤s21,收集待研发应用程序的信息,根据所述待研发应用程序的信息生成与所述待研发应用程序对应的应用程序id;

本步骤中,还包括将收集到的待研发应用程序信息存储在应用程序列表中;待研发应用程序的信息具体包括:应用程序名称、与应用程序名称对应的源码工程、与应用程序名称对应的lib库工程、与应用程序名称对应的打包脚本、与应用程序名称对应的自动化测试命令和与应用程序名称对应的源码更新命令;通过将待研发应用程序的信息存放在同一列表中,可以方便对待研发应用程序进行管理;

步骤s22,基于所述应用程序id创建对应的待研发应用程序的需求列表,向所述需求列表中添加需求信息,并配置与所述需求信息对应的代码库;

具体的,本步骤中每个app可以对应有多个需求,各需求可以存放在一需求列表中以方便管理,每个需求又可以对应多个代码库,与需求对应的各代码库可以存放在同一代码库列表中,比如待研发app1有3个需求,每个需求对应2个代码库;待研发app2有2个需求,第一个需求有2个代码库,第二个需求有3个代码库,可以将待研发app1的3个需求放置在同一需求列表中,再将同一需求对应的代码库放在同一代码库列表中,以便于对待研发app的需求和代码库进行管理

步骤s23,基于应用程序id查找与待研发应用程序的各需求信息对应的代码库,其中,各所述代码库中包括目标分支和经过开发后的功能分支;

将各代码库中的功能分支合并到目标分支上以获得合并后的代码库。

具体的,本步骤中的功能分支指代码库中功能代码的分支,是开发者根据实际需求开发的分支;目标分支具体指代码库中的目标代码分支,其为最终要实现某个业务功能的总的分支;每个待研发app在创建需求的时候,都在代码库中配置了自己所开发的功能分支,并且每个代码库都自带有目标分支,因此在合并的时候,首先在代码库中找到目标代码的分支,然后再将代码库中的功能代码的分支合并到目标代码的分支上以实现同一代码库的代码合并,获得合并后的代码库。

本实施例中在代码库中代码合并完成后,还包括对合并后的代码库进行编译校验,若通过校验,则完成代码合并;若未通过校验,则返回步骤s23重新合并并进行修复,然后在对修复后的代码进行编译校验,直到校验通过。编译校验的具体过程为,对合并后的代码进行运行检测,具体可以根据运行结果或者运行过程中是否出错来却是否通过校验。

本发明实施例中,通过将代码库中的代码切换到目标分支,再将开发的功能分支合并到目标分支上,实现的代码库中代码的自动合并,能够使多个待研发应用程序同时进行代码合并,提高了待研发app的开发效率,同时节省了合并的人工成本并降低出错几率。

本发明第三实施例提供一种支持应用程序并行研发的代码合并装置,如图3所示,包括:

收集模块11,用于收集待研发应用程序的信息,根据所述待研发应用程序的信息生成与所述待研发应用程序对应的应用程序id;

本模块中,待研发应用程序的信息具体包括:应用程序名称、与应用程序名称对应的源码工程、与应用程序名称对应的lib库工程、与应用程序名称对应的打包脚本、与应用程序名称对应的自动化测试命令和与应用程序名称对应的源码更新命令;通过将待研发应用程序的信息存放在同一列表中,可以方便对待研发应用程序进行管理;通过生产与待研发应用程序对应的应用程序id,能够便于对待研发应用程序进行区分;

创建模块12,用于基于所述应用程序id创建对应的待研发应用程序的需求列表,向所述需求列表中添加需求信息,并配置与所述需求信息对应的代码库;

具体的,本模块中每个app可以对应有多个需求,各需求可以存放在一需求列表中以方便管理,每个需求又可以对应多个代码库,与需求对应的各代码库可以存放在同一代码库列表中,比如待研发app1有3个需求,每个需求对应2个代码库;待研发app2有2个需求,第一个需求有2个代码库,第二个需求有3个代码库,可以将待研发app1的3个需求放置在同一需求列表中,再将同一需求对应的代码库放在同一代码库列表中,有利于对需求进度跟踪,便于统一管理和统计,为待研发app的需求和代码库的管理提供便利。

合并模块13,用于基于所述应用程序id查找与待研发应用程序的各需求信息对应的代码库,并对查找到的代码库中的代码进行合并,获得合并后的代码库。

本模块中,例如在对待研发app1和待研发app2的代码合并时,具体是通过将功能代码的分支合并到目标代码分支中来实现代码库的合并,在合并时,可以根据app1和app2的id找到与app1和app2对应的需求,根据需求找到对应的代码库,将各代码库中的代码同时进行合并,提高了合并代码的速度。

本发明实施例中,通过对不同的应用程序生成与应用程序对应id,以便于通过id来区分各应用程序,方便应用程序的管理,并且便于后续基于应用程序的id,对各应用程序的各需求对应的各代码库同时进行代码合并;管理明晰,分类明确,节省了代码合并的人工成本和时间成本。

本发明第四实施例提供一种支持应用程序并行研发的代码合并装置,如图4所示,包括:

收集模块21,用于收集待研发应用程序的信息,根据所述待研发应用程序的信息生成与所述待研发应用程序对应的应用程序id;

本模块中,待研发应用程序的信息具体包括:应用程序名称、与应用程序名称对应的源码工程、与应用程序名称对应的lib库工程、与应用程序名称对应的打包脚本、与应用程序名称对应的自动化测试命令和与应用程序名称对应的源码更新命令;通过将待研发应用程序的信息存放在同一列表中,可以方便对待研发应用程序进行管理;通过生产与待研发应用程序对应的应用程序id,能够便于对待研发应用程序进行区分。

存储模块22,用于将收集到的待研发应用程序信息存储在应用程序列表中;

本模块中,通过将收集到的待研发应用程序信息存储在同一列表中,能够方便对待研发应用程序信息进统一管理;

创建模块23,用于基于所述应用程序id创建对应的待研发应用程序的需求列表,向所述需求列表中添加需求信息,并配置与所述需求信息对应的代码库;

具体的,本模块中的功能分支指代码库中功能代码的分支;本模块中每个app可以对应有多个需求,各需求可以存放在一需求列表中以方便管理,每个需求又可以对应多个代码库,与需求对应的各代码库可以存放在同一代码库列表中,比如待研发app1有3个需求,每个需求对应2个代码库;待研发app2有2个需求,第一个需求有2个代码库,第二个需求有3个代码库,可以将待研发app1的3个需求放置在同一需求列表中,再将同一需求对应的代码库放在同一代码库列表中,有利于对需求进度跟踪,便于统一管理和统计,为待研发app的需求和代码库的管理提供便利。

合并模块24,基于应用程序id查找与待研发应用程序的各需求信息对应的代码库,其中,各所述代码库中包括目标分支和经过开发后的功能分支;

将各代码库中的功能分支合并到目标分支上以获得合并后的代码库。

本模块中,例如在对待研发app1和待研发app2的代码合并时,具体是通过将功能代码的分支合并到目标代码分支中来实现代码库的合并,具体在合并时,可以根据app1和app2的id找到与app1和app2对应的需求,根据需求找到对应的代码库,将各代码库中的代码同时进行合并,提高了合并代码的速度。

校验模块25,用于对合并后的代码库进行编译校验,若通过校验,则完成代码合并;若未通过校验,则对所述合并后的代码库中的代码进行修复,并对修复后的代码进行编译校验。

本模块中,通过校验模块来对合并后的代码库进行编译校验,保证了代码库中代码合并的准确性。

本发明第五实施例提供一种服务器,结合图5,该服务器包括存储器1、处理器2及通信总线3;所述通信总线3用于实现处理器2和存储器1之间的连接通信;

具体的,本发明实施例中,处理器2可以是通用处理器,例如中央处理器(centralprocessingunit,cpu),还可以是数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic),或者是被配置成实施本发明实施例的一个或多个集成电路。其中,存储器用于存储所述处理器的可执行指令;

存储器1,用于存储程序代码,并将该程序代码传输给处理器。存储器可以包括易失性存储器(volatilememory),例如随机存取存储器(randomaccessmemory,ram);存储器也可以包括非易失性存储器(non-volatilememory),例如只读存储器(read-onlymemory,rom)、快闪存储器(flashmemory)、硬盘(harddiskdrive,hdd)或固态硬盘(solid-statedrive,ssd);存储器还可以包括上述种类的存储器的组合。

具体的,本发明实施例中,所述处理器用于执行存储器中存储的应用程序内快捷指令的实现方法的程序,所述应用程序内快捷指令的实现方法的程序被执行时实现如下步骤:

步骤一、收集待研发应用程序的信息,根据所述待研发应用程序的信息生成与所述待研发应用程序对应的应用程序id

步骤二、基于所述应用程序id创建对应的待研发应用程序的需求列表,向所述需求列表中添加需求信息,并配置与所述需求信息对应的代码库;

步骤三、基于所述应用程序id查找与待研发应用程序的各需求信息对应的代码库,并对查找到的代码库中的代码进行合并,获得合并后的代码库。

上述方法步骤的具体实施例过程可参见第一、二实施例,本实施例在此不再重复赘述。

本发明第六实施例提供一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如下方法步骤:

步骤一、收集待研发应用程序的信息,根据所述待研发应用程序的信息生成与所述待研发应用程序对应的应用程序id

步骤二、基于所述应用程序id创建对应的待研发应用程序的需求列表,向所述需求列表中添加需求信息,并配置与所述需求信息对应的代码库;

步骤三、基于所述应用程序id查找与待研发应用程序的各需求信息对应的代码库,并对查找到的代码库中的代码进行合并,获得合并后的代码库。

上述方法步骤的具体实施例过程可参见第一、二实施例,本实施例在此不再重复赘述。

本发明第七实施例提供一种支持应用程序并行研发的代码合并方法,如图6所示,包括如下步骤:

1、添加app信息:将app信息添加到app信息配置表,并生成appid;其中,收集app相关信息主要包含:app名称,源码工程,lib库工程,打包脚本,自动化测试命令,源码更新命令等信息;

2、创建需求:基于appid将对应的开发需求添加到需求列表,基于app进行分类管理;

本步骤中,将app相关信息添加到app配置列表中以后,通过appid创建对应的需求,每一个app都对应着自己的需求列表。每一个需求在创建的时候,都配置有自己所开发的功能分支,配置完成的需求会生成一个对应的代码库列表,此时的代码库列表就是代码合并时所需要的合并的所有代码库;

3、代码合并:基于appid进行代码合并;

本步骤中,当一个需求研发完成并达到了集成的要求,就可以对需求进行集成操作。发起代码合并指令后,根据当前需求所对应的代码库列表,找到需要合并的代码库,进行自动合并操作,具体的自动合并过程如下:

(1)先将那个对应的代码库切换到目标分支;

(2)将开发的功能分支合并到目标分支上;

(3)完成合并操作之后,会进行编译校验;

(4)如果校验编译通过,则说明已经成功合并代码,否则,给出错误提示,进行问题修复,然后再重复步骤(3)。

本发明实施例在多app并行研发中,可以对研发流程进行可视化系统化的管理,合并代码可自动完成,增加开发效率,节省了管理成本,节省了代码合并的人工成本,并且降低了代码合并的出错率。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1