一种组件编译方法、装置、设备及计算机可读存储介质制造方法及图纸

技术编号:28870816 阅读:13 留言:0更新日期:2021-06-15 23:03
本发明专利技术公开了一种组件编译方法,该方法包括以下步骤:对接收到的编译任务进行解析,得到待源码编译的各第一组件;获取预设的组件间依赖关系,并根据组件间依赖关系确定依赖各第一组件的各第二组件;从源码路径目录中分别查找各第一组件和各第二组件分别对应的源码路径;根据各源码路径获取各第一组件和各第二组件分别对应的目标源码;基于各目标源码对各第一组件和各第二组件进行编译操作。应用本发明专利技术所提供的组件编译方法,较大地提升了配置的灵活度,缩短了源码加载及编译时长,提升了业务迭代开发效率。本发明专利技术还公开了一种组件编译装置、设备及存储介质,具有相应技术效果。

【技术实现步骤摘要】
一种组件编译方法、装置、设备及计算机可读存储介质
本专利技术涉及软件开发
,特别是涉及一种组件编译方法、装置、设备及计算机可读存储介质。
技术介绍
在多组件(module)工程中,如安卓(Android)多组件工程,当需要进行业务开发,或业务排错时,需要对某些组件进行重新编译。现有的组件编译方案是多组件全源码加载编译,即对当前存在的所有组件的源码进行全部加载,对加载到的全源码进行编译。配置不灵活,源码加载及编译时间过长,业务迭代开发效率低。综上所述,如何有效地解决现有的组件编译方案配置不灵活,源码加载及编译时间过长,业务迭代开发效率低等问题,是目前本领域技术人员急需解决的问题。
技术实现思路
本专利技术的目的是提供一种组件编译方法,该方法较大地提升了配置的灵活度,缩短了源码加载及编译时长,提升了业务迭代开发效率;本专利技术的另一目的是提供一种组件编译装置、设备及计算机可读存储介质。为解决上述技术问题,本专利技术提供如下技术方案:一种组件编译方法,包括:对接收到的编译任务进行解析,得到待源码编译的各第一组件;获取预设的组件间依赖关系,并根据所述组件间依赖关系确定依赖各所述第一组件的各第二组件;从源码路径目录中分别查找各所述第一组件和各所述第二组件分别对应的源码路径;根据各所述源码路径获取各所述第一组件和各所述第二组件分别对应的目标源码;基于各所述目标源码对各所述第一组件和各所述第二组件进行编译操作。在本专利技术的一种具体实施方式中,在基于各所述目标源码对各所述第一组件和各所述第二组件进行编译操作之后,还包括:获取所述编译任务对应的非源码编译的各第三组件;从aar代码库中查找各所述第三组件分别对应的第一aar包;根据各所述第一组件和各所述第二组件之间的依赖关系,对各所述第一组件和各所述第二组件的修改后源码分别进行打包,得到各第二aar包;基于各所述第一aar包和各所述第二aar包进行aar编译操作。在本专利技术的一种具体实施方式中,在对各所述第一组件和各所述第二组件的修改后源码分别进行打包,得到各第二aar包之后,还包括:从所述aar代码库中查找各所述第一组件和各所述第二组件分别对应的第三aar包;利用各所述第二aar包替换各所述第三aar包。在本专利技术的一种具体实施方式中,从aar代码库中查找各所述第三组件分别对应的第一aar包,包括:获取所述编译任务对应的目标编译版本;从所述aar代码库中查找各所述第三组件分别对应的所述目标编译版本的第一aar包;对各所述第一组件和各所述第二组件的修改后源码分别进行打包,包括:按照所述目标编译版本对各所述第一组件和各所述第二组件的修改后源码分别进行打包;从aar代码库中查找各所述第一组件和各所述第二组件分别对应的第三aar包,包括:从所述aar代码库中查找各所述第一组件和各所述第二组件分别对应的所述目标编译版本的第三aar包。在本专利技术的一种具体实施方式中,对接收到的编译任务进行解析,得到待源码编译的各第一组件,包括:获取所述编译任务对应的源码开关变量状态处于打开状态的各所述第一组件;在根据所述组件间依赖关系确定依赖各所述第一组件的各第二组件之后,还包括:将各所述第二组件对应的源码开关变量状态由关闭状态转换为打开状态。在本专利技术的一种具体实施方式中,在基于各所述目标源码对各所述第一组件和各所述第二组件进行编译操作之后,还包括:将各所述第一组件和各所述第二组件的源码开关变量状态由所述打开状态转化为所述关闭状态。在本专利技术的一种具体实施方式中,在将各所述第二组件对应的源码开关变量状态由关闭状态转换为打开状态之前,还包括:获取所述编译任务对应的编译请求方的身份标识信息;对所述身份标识信息进行权限验证;当权限验证通过时,执行所述将各所述第二组件对应的源码开关变量状态由关闭状态转换为打开状态的步骤。一种组件编译装置,包括:源码编译组件获得模块,用于对接收到的编译任务进行解析,得到待源码编译的各第一组件;组件确定模块,用于获取预设的组件间依赖关系,并根据所述组件间依赖关系确定依赖各所述第一组件的各第二组件;路径查找模块,用于从源码路径目录中分别查找各所述第一组件和各所述第二组件分别对应的源码路径;源码获取模块,用于根据各所述源码路径获取各所述第一组件和各所述第二组件分别对应的目标源码;组件编译模块,用于基于各所述目标源码对各所述第一组件和各所述第二组件进行编译操作。一种组件编译设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如前所述组件编译方法的步骤。一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前所述组件编译方法的步骤。本专利技术所提供的组件编译方法,对接收到的编译任务进行解析,得到待源码编译的各第一组件;获取预设的组件间依赖关系,并根据组件间依赖关系确定依赖各第一组件的各第二组件;从源码路径目录中分别查找各第一组件和各第二组件分别对应的源码路径;根据各源码路径获取各第一组件和各第二组件分别对应的目标源码;基于各目标源码对各第一组件和各第二组件进行编译操作。通过对需要进行源码编译的各第一组件进行自动筛选,并选取出各第一组件分别依赖的各第二组件,从而仅需要加载各第一组件和各第二组件的目标源码,根据各目标源码进行组件编译。相较于现有的全源码加载编译方案,本专利技术较大地提升了配置的灵活度,缩短了源码加载及编译时长,提升了业务迭代开发效率。相应的,本专利技术还提供了与上述组件编译方法相对应的组件编译装置、设备和计算机可读存储介质,具有上述技术效果,在此不再赘述。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例中组件编译方法的一种实施流程图;图2为本专利技术实施例中组件编译方法的另一种实施流程图;图3为本专利技术实施例中一种组件编译装置的结构框图;图4为本专利技术实施例中一种组件编译设备的结构框图。具体实施方式为了使本
的人员更好地理解本专利技术方案,下面结合附图和具体实施方式对本专利技术作进一步的详细说明。显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。实施例一:参见图1,图1为本专利技术实施例中组件编译方法的一种实施流程图,该方法可以包括以下步骤:S101:对接本文档来自技高网
...

【技术保护点】
1.一种组件编译方法,其特征在于,包括:/n对接收到的编译任务进行解析,得到待源码编译的各第一组件;/n获取预设的组件间依赖关系,并根据所述组件间依赖关系确定依赖各所述第一组件的各第二组件;/n从源码路径目录中分别查找各所述第一组件和各所述第二组件分别对应的源码路径;/n根据各所述源码路径获取各所述第一组件和各所述第二组件分别对应的目标源码;/n基于各所述目标源码对各所述第一组件和各所述第二组件进行编译操作。/n

【技术特征摘要】
1.一种组件编译方法,其特征在于,包括:
对接收到的编译任务进行解析,得到待源码编译的各第一组件;
获取预设的组件间依赖关系,并根据所述组件间依赖关系确定依赖各所述第一组件的各第二组件;
从源码路径目录中分别查找各所述第一组件和各所述第二组件分别对应的源码路径;
根据各所述源码路径获取各所述第一组件和各所述第二组件分别对应的目标源码;
基于各所述目标源码对各所述第一组件和各所述第二组件进行编译操作。


2.根据权利要求1所述的组件编译方法,其特征在于,在基于各所述目标源码对各所述第一组件和各所述第二组件进行编译操作之后,还包括:
获取所述编译任务对应的非源码编译的各第三组件;
从aar代码库中查找各所述第三组件分别对应的第一aar包;
根据各所述第一组件和各所述第二组件之间的依赖关系,对各所述第一组件和各所述第二组件的修改后源码分别进行打包,得到各第二aar包;
基于各所述第一aar包和各所述第二aar包进行aar编译操作。


3.根据权利要求2所述的组件编译方法,其特征在于,在对各所述第一组件和各所述第二组件的修改后源码分别进行打包,得到各第二aar包之后,还包括:
从所述aar代码库中查找各所述第一组件和各所述第二组件分别对应的第三aar包;
利用各所述第二aar包替换各所述第三aar包。


4.根据权利要求3所述的组件编译方法,其特征在于,从aar代码库中查找各所述第三组件分别对应的第一aar包,包括:
获取所述编译任务对应的目标编译版本;
从所述aar代码库中查找各所述第三组件分别对应的所述目标编译版本的第一aar包;
对各所述第一组件和各所述第二组件的修改后源码分别进行打包,包括:
按照所述目标编译版本对各所述第一组件和各所述第二组件的修改后源码分别进行打包;
从aar代码库中查找各所述第一组件和各所述第二组件分别对应的第三aar包,包括:
从所述aar代码库中查找各所述第一组件和各所述第二组件分别对应的所述目标编译版本的第三aar包。


5.根据...

【专利技术属性】
技术研发人员:谢伟
申请(专利权)人:上海微盟企业发展有限公司
类型:发明
国别省市:上海;31

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

1