【技术实现步骤摘要】
一种模块开发方法及装置
本申请涉及互联网
,尤其涉及一种模块开发方法及装置。
技术介绍
一个程序的功能往往需要由多个模块组合与协作提供的。所以不同的模块之间,必定会存在着功能的相互调用。在现有模块化开发方案中,模块抽取为模块工程后会提供一部分公开接口,并在开发完成后将工程源代码编译打包为二进制归档AAR文件发布到Maven服务器,其他模块通过下载对应的AAR即可引用其中的公开接口,达到模块之间功能调用的目的。然而,当开发的某个功能同时涉及到多个模块、或者定位某个缺陷涉及到多个模块时,可能就需要同时修改多个模块的代码并且验证。软件开发是一个需要不断调试过程,如果代码需要多次修改,则每次都要经历以上繁杂且漫长的过程,拖慢模块联调的效率;而且在联调过程中,会多次上传AAR,导致Maven服务器资源的浪费。因此,如何在调试过程中避免多次重复原生方案导致的开发效率低下以及Maven服务器资源浪费,是亟待解决的问题。
技术实现思路
鉴于上述问题,提出了本申请以便提供一种克服上述问题或者至少部分地解决上述 ...
【技术保护点】
1.一种模块开发方法,其特征在于,包括:/n确定第一模块工程对第二模块工程的编译模式,其中,所述第一模块工程包括第一模块的源代码,第二模块工程包括第二模块的源代码,且第一模块对第二模块具有依赖关系;/n若所述编译模式为联调模式,则从代码管理系统中获取所述第二模块对应的目标源代码;/n将所述目标源代码以子工程的形式,动态添加到所述第一模块工程中;/n在所述第一模块工程的代码编辑器中,对所述第二模块的目标源代码进行编辑;/n对所述第一模块的源代码以及所述第二模块编辑后的目标源代码进行编译,得到编译结果。/n
【技术特征摘要】
1.一种模块开发方法,其特征在于,包括:
确定第一模块工程对第二模块工程的编译模式,其中,所述第一模块工程包括第一模块的源代码,第二模块工程包括第二模块的源代码,且第一模块对第二模块具有依赖关系;
若所述编译模式为联调模式,则从代码管理系统中获取所述第二模块对应的目标源代码;
将所述目标源代码以子工程的形式,动态添加到所述第一模块工程中;
在所述第一模块工程的代码编辑器中,对所述第二模块的目标源代码进行编辑;
对所述第一模块的源代码以及所述第二模块编辑后的目标源代码进行编译,得到编译结果。
2.根据权利要求1所述方法,其特征在于,所述确定第一模块工程对第二模块工程的编译模式,包括:
确定所述第一模块工程依赖的所述第二模块工程的模块名称;
根据所述模块名称以及所述模块名称与版本信息之间的映射关系,确定所述模块名称对应的目标版本信息;
根据所述目标版本信息,确定第一模块工程对第二模块工程的编译模式。
3.根据权利要求2所述方法,其特征在于,所述第一模块工程和所述第二模块工程均属于主工程,所述确定所述第一模块工程依赖的第二模块工程的模块名称,包括:
确定所述主工程中的配置文件,其中,所述配置文件包括JS对象简谱json数组,所述json数组中包括多个声明信息,且所述声明信息包括:一个模块工程所依赖的模块工程的模块名称,以及模块名称对应的版本信息;
根据所述配置文件中的声明信息,确定所述第一模块工程依赖的第二模块工程的模块名称。
4.根据权利要求3所述方法,其特征在于,所述根据所述模块名称以及所述模块名称与版本信息之间的映射关系,确定所述模块名称对应的目标版本信息,包括:
在所述配置文件的声明信息中,确定所述第二模块工程的模块名称对应的目标版本信息。
5.根据权利要求1所述方法,其特征在于,所述方法还包括:
若所述编译模式为集成模式,则从二进制归档文件管理系统获取所述第二模块工程对应的二进制归档文件;
根据所述二进制归档文件生成所述第一模块工程对应的目标应用程序包文件。
6....
【专利技术属性】
技术研发人员:冯俊,
申请(专利权)人:腾讯音乐娱乐科技深圳有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。