发明内容
本发明的主要目的在于提供一种应用组件版本的管理方法及装置,旨在解决目前第三方构建工具无法管理应用组件之间的依赖关系,导致经过构建得到各组应用组件之间版本不兼容的问题。
为实现上述目的,本发明提供的一种应用组件版本的管理方法,包括:
接收客户端发送的组件信息校验请求,所述组件信息校验请求中包含第一应用组件的第一版本信息以及第二应用组件的第二版本信息,所述第一版本信息依赖于所述第二版本信息,具有第一版本依赖关系;
判断产品管理平台存储的多个第二版本依赖关系中是否包含所述第一版本依赖关系;
若是,则向所述客户端反馈校验通过消息,以提示所述客户端保存所述第一版本信息以及所述第二版本信息;
若否,则向所述客户端推送第一提示信息,以提示用户修改所述第一版本信息和/或所述第二版本信息。
优选地,所述判断产品管理平台存储的多个第二版本依赖关系中是否包含所述第一版本依赖关系的步骤之前还包括:
判断所述第一版本信息和所述第二版本信息中是否存在与预设的过期版本信息相匹配的版本信息;
若是,则禁止所述客户端使用与所述预设的过期版本信息相匹配的所述版本信息;
若否,则执行所述判断产品管理平台存储的多个第二版本依赖关系中是否包含所述第一版本依赖关系的步骤。
优选地,所述第一提示信息包括从所述产品管理平台的产品基线中获取到的所述第一应用组件指定的版本信息,以及所述第二应用组件指定的版本信息。
优选地,所述应用组件版本的管理方法包括以下步骤:
在接收到应用组件的版本依赖关系配置指令时,显示所述产品管理平台中版本依赖关系配置界面;
获取在所述版本依赖关系配置界面输入的第三应用组件的当前版本信息;
获取所述第三应用组件的历史版本信息依赖的第四应用组件的各版本信息;
基于所述当前版本信息及所述第四应用组件的各版本信息,创建所述当前版本信息依赖所述第四应用组件的各版本信息的多个所述第一版本依赖关系,并将多个所述第一版本依赖关系存储在所述产品管理平台中。
优选地,所述获取在所述版本依赖关系配置界面输入的第三应用组件的当前版本信息的步骤之后还包括:
获取依赖所述第三应用组件的历史版本信息的第五应用组件的各版本信息,对应的产品维护者指定的提示方式;
基于所述指定的提示方式发送包含所述当前版本信息的第二提示消息,所述第二提示消息用于提示所述产品维护者创建所述当前版本信息与所述第五应用组件的各版本信息的第三版本依赖关系。
此外,为实现上述目的,本发明还提供一种应用组件版本的管理装置,包括:
接收模块,用于接收客户端发送的组件信息校验请求,所述组件信息校验请求中包含第一应用组件的第一版本信息以及第二应用组件的第二版本信息,所述第一版本信息依赖于所述第二版本信息,具有第一版本依赖关系;
第一判断模块,用于判断产品管理平台存储的多个第二版本依赖关系中是否包含所述第一版本依赖关系;
反馈模块,用于若产品管理平台存储的多个第二版本依赖关系中不包含所述第一版本依赖关系,则向所述客户端反馈校验通过消息,以提示所述客户端保存所述第一版本信息以及所述第二版本信息;
推送模块,用于若产品管理平台存储的多个第二版本依赖关系中包含所述第一版本依赖关系,则向所述客户端推送第一提示信息,以提示用户修改所述第一版本信息和/或所述第二版本信息。
优选地,所述应用组件版本的管理装置还包括:
第二判断模块,用于判断所述第一版本信息和所述第二版本信息中是否存在与预设的过期版本信息相匹配的版本信息;
禁止模块,用于若所述第一版本信息和所述第二版本信息中存在与预设的过期版本信息相匹配的版本信息,则禁止所述客户端使用与所述预设的过期版本信息相匹配的所述版本信息;
所述第一判断模块,还用于若所述第一版本信息和所述第二版本信息中不存在与预设的过期版本信息相匹配的版本信息,则判断产品管理平台存储的多个第二版本依赖关系中是否包含所述第一版本依赖关系。
优选地,所述第一提示信息包括从所述产品管理平台的产品基线中获取到的所述第一应用组件指定的版本信息,以及所述第二应用组件指定的版本信息。
优选地,所述应用组件版本的管理装置还包括:
显示模块,用于在接收到应用组件的版本依赖关系配置指令时,显示所述产品管理平台中版本依赖关系配置界面;
第一获取模块,用于获取在所述版本依赖关系配置界面输入的第三应用组件的当前版本信息;
第二获取模块,用于获取所述第三应用组件的历史版本信息依赖的第四应用组件的各版本信息;
创建模块,用于基于所述当前版本信息及所述第四应用组件的各版本信息,创建所述当前版本信息依赖所述第四应用组件的各版本信息的多个所述第一版本依赖关系,并将多个所述第一版本依赖关系存储在所述产品管理平台中。
优选地,所述应用组件版本的管理装置还包括:
第三获取模块,用于获取依赖所述第三应用组件的历史版本信息的第五应用组件的各版本信息,对应的产品维护者指定的提示方式;
发送模块,用于基于所述指定的提示方式发送包含所述当前版本信息的第二提示消息,所述第二提示消息用于提示所述产品维护者创建所述当前版本信息与所述第五应用组件的各版本信息的第三版本依赖关系。
本发明通过接收客户端发送的组件信息校验请求,组件信息校验请求中包含第一应用组件的第一版本信息以及第二应用组件的第二版本信息,第一版本信息依赖于第二版本信息,具有第一版本依赖关系,判断产品管理平台存储的多个第二版本依赖关系中是否包含第一版本依赖关系,若是,则向客户端反馈校验通过消息,以提示客户端保存第一版本信息以及第二版本信息,若否,则向客户端推送第一提示信息,以提示用户修改第一版本信息和/或第二版本信息。通过上述方案,在接收到客户端发送的组件信息校验请求时,产品管理平台对客户端发送过来的组件信息进行校验,根据校验结果来提示客户端该组件信息中各组应用组件之间是否真的存在依赖关系,从而使得能够提示客户端使用版本兼容的应用组件,进而避免该客户端在调用组件来实现相应功能时版本无法兼容,改善用户体验。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
基于上述问题,本发明提供一种应用组件版本的管理方法。
参照图1,图1为本发明应用组件版本的管理方法的第一实施例的流程示意图。
在本实施例中,所述应用组件版本的管理方法包括:
步骤S10,接收客户端发送的组件信息校验请求,组件信息校验请求中包含第一应用组件的第一版本信息以及第二应用组件的第二版本信息,第一版本信息依赖于第二版本信息,具有第一版本依赖关系;
在本实施例中,该客户端中运行有gradle插件,该客户端通过该gradle插件与该产品管理平台进行数据交互,且该客户端是由使用者操作的。当使用者想要利用该产品管理平台发布的应用组件来实现相应的功能时,将对应的应用组件的应用组件名称以及应用组件的版本信息编写在build.gradle文件中,该gradle插件对该build.gradle文件中的应用组件名称以及版本信息进行构建,当该客户端对该应用组件名称以及版本信息进行构建后,向该产品管理平台发送组件信息校验请求,该组件信息校验请求中包含有第一应用组件的第一版本信息以及第二应用组件的第二版本信息,该第一版本信息依赖于第二版本信息,具有第一版本依赖关系。接收客户端发送的组件信息校验请求。
需要说明的是,该客户端将该第一应用组件的名称和第一版本信息以及第二应用组件的名称和第二版本信息发送给该产品管理平台,并未将第一版本依赖关系发送给该产品管理平台。
例如,使用者在客户端的build.gradle文件中编写了版本号为1.0.8的第一应用组件venus-data依赖于版本号为1.2.0的第二应用组件hermes-common,版本号为1.1.6的venus-core依赖于版本号为1.2.1的第二应用组件hermes-common,客户端中的gradle构建插件检测到该build.gradle文件中第二应用组件hermes-common存在两个不同的版本号,则该gradle插件对该两组应用组件进行构建,得到版本号为1.0.8的第一应用组件venus-data与版本号为1.1.6的第一应用组件venus-core,都依赖于版本号为1.2.1的第二应用组件hermes-common,向该产品管理平台发送校验请求,并将该版本号为1.0.8的第一应用组件venus-data、版本号为1.1.6的第一应用组件venus-core以及版本号为1.2.1的第二应用组件hermes-common包含在该校验请求中,当产品管理平台接收到客户端发送的校验请求时,对版本号为1.0.8的第一应用组件venus-data依赖于版本号为1.2.1的第二应用组件hermes-common的版本依赖关系,以及该版本号为1.1.6的venus-core依赖于版本号为1.2.1的第二应用组件hermes-common的版本依赖关系进行校验。
步骤S20,判断产品管理平台存储的多个第二版本依赖关系中是否包含第一版本依赖关系;
步骤S30,若是,则向客户端反馈校验通过消息,以提示客户端保存第一版本信息以及第二版本信息;
在该产品管理平台接收到该客户端发送的组件信息校验请求后,判断该产品管理平台存储的多个第二版本依赖关系中是否包含该第一版本依赖关系。若该产品管理平台存储的多个第二版本依赖关系中包含第一版本依赖关系,则向该客户端反馈校验通过消息,以提示客户端保存该第一版本信息以及该第二版本信息。
步骤S40,若否,则向客户端推送第一提示信息,以提示用户修改第一版本信息和/或第二版本信息。
若该产品管理平台存储的多个第二版本依赖关系中不包含该第一版本依赖关系,则向客户端推送第一提示信息,提示校验未通过的同时,以提示用户修改该第一版本信息和/或该第二版本信息。
或者,若该产品管理平台存储的多个第二版本依赖关系中不包含该第一版本依赖关系,则从该产品管理平台的产品基线中获取第一应用组件指定的版本信息,以及该第二应用组件指定的版本信息,将该第一应用组件指定的版本信息以及该第二应用组件指定的版本信息写在该第一提示信息中,并向客户端推送该第一提示信息,以提示用户根据该第一应用组件指定的版本信息以及该第二应用组件指定的版本信息,分别对应修改第一版本信息以及该第二版本信息。
例如,产品管理平台将版本号为1.0.8的第一应用组件venus-data依赖于版本号为1.2.1的第二应用组件hermes-common的版本依赖关系,以及版本号为1.1.6的第一应用组件venus-core依赖于版本号为1.2.1的第二应用组件hermes-common的版本依赖关系进行校验后,确定该组件版本号为1.0.8的第一应用组件venus-data依赖于版本号为1.2.1的第二应用组件hermes-common的版本依赖关系不存在,而该产品管理平台的产品基线中存在是版本号为1.2.0的第一应用组件venus-data与版本号为1.2.1的第一应用组件venus-core,都依赖于版本号为1.2.2的第二应用组件hermes-common,则从该产品管理平台的产品基线中获取版本号为1.2.0的第一应用组件venus-data以及版本号为1.2.1的第一应用组件venus-core,以及版本号为1.2.2的第二应用组件hermes-common,并包含在第一提示信息中,推送给客户端,以供使用者参考。
本实施例通过接收客户端发送的组件信息校验请求,组件信息校验请求中包含第一应用组件的第一版本信息以及第二应用组件的第二版本信息,第一版本信息依赖于第二版本信息,具有第一版本依赖关系,判断产品管理平台存储的多个第二版本依赖关系中是否包含第一版本依赖关系,若是,则向客户端反馈校验通过消息,以提示客户端保存第一版本信息以及第二版本信息,若否,则向客户端推送第一提示信息,以提示用户修改第一版本信息和/或第二版本信息。通过上述方案,在接收到客户端发送的组件信息校验请求时,产品管理平台对客户端发送过来的组件信息进行校验,根据校验结果来提示客户端该组件信息中各组应用组件之间是否真的存在依赖关系,从而使得能够提示客户端使用版本兼容的应用组件,进而避免该客户端在调用组件来实现相应功能时版本无法兼容,改善用户体验。
进一步的,基于上述第一实施例,请参照图2,提出本发明应用组件版本的管理方法的第二实施例的流程示意图,在该第二实施例中,S20之前,应用组件版本的管理方法还包括:
步骤S50,判断第一版本信息和第二版本信息中是否存在与预设的过期版本信息相匹配的版本信息;
在本实施例中,开发者可将应用组件中某些使用价值不高的版本设置为过期版本,那么依赖于该过期版本的应用组件对应的依赖关系以及该过期版本依赖的应用组件对应的依赖关系是失效的,例如,若应用组件A的版本A已经被设置为过期版本,则依赖于该版本A的应用组件与该版本A之间的版本依赖关系是失效的,同时,该版本A所依赖的应用组件与该版本A之间的版本依赖关系是失效的。当该产品管理平台获取到该第一版本信息以及该第二版本信息时,判断该第一版本信息和该第二版本信息中是否存在至少一个版本信息与预设的过期版本信息相匹配。
步骤S60,若是,则禁止客户端使用与预设的过期版本信息相匹配的版本信息;
若否,则执行步骤S20,即判断产品管理平台存储的多个第二版本依赖关系中是否包含第一版本依赖关系。
当该第一版本信息和该第二版本信息中存在至少一个版本信息与预设的过期版本信息相匹配时,则禁止客户端使用与预设的过期版本信息相匹配的版本信息;当该第一版本信息和该第二版本信息中不存在与预设的过期版本信息相匹配的版本信息时,则进一步判断该产品管理平台存储的多个第二版本依赖关系中是否包含该第一版本依赖关系。
本实施例通过判断第一版本信息和第二版本信息中是否存在与预设的过期版本信息相匹配的版本信息,若是,则禁止客户端使用与预设的过期版本信息相匹配的版本信息,若否,则判断产品管理平台存储的多个第二版本依赖关系中是否包含第一版本依赖关系,使得能够解决应用组件之间的版本冲突,便于产品管理平台对应用组件的版本管理。
进一步的,基于上述第一实施例,请参照图3,提出本发明应用组件版本的管理方法的第三实施例的流程示意图,在该第三实施例中,S10之前,应用组件版本的管理方法还包括:
步骤S70,在接收到应用组件的版本依赖关系配置指令时,显示产品管理平台中版本依赖关系配置界面;
步骤S80,获取在版本依赖关系配置界面输入的第三应用组件的当前版本信息;
在本实施例中,在接收到开发者触发的应用组件的版本依赖关系配置指令时,显示产品管理平台中版本依赖关系配置界面,开发者在该版本依赖关系配置界面上输入第三应用组件的当前版本信息,如开发者通过点击该版本依赖关系配置界面上的“增加新的版本(Append New Version)”键,在该版本依赖关系配置界面输入第三应用组件的当前版本信息。该产品管理平台获取开发者在该版本依赖关系配置界面上输入的该第三应用组件的当前版本信息。
可以理解的是,在版本依赖关系配置界面上还可以删除该当前版本信息。
步骤S90,获取第三应用组件的历史版本信息依赖的第四应用组件的各版本信息;
当获取到在该版本依赖关系配置界面输入的第三应用组件的当前版本信息后,获取该第三应用组件的历史版本信息依赖的第四应用组件,并获取第四应用组件对应的版本信息的集合,将获取到的第四应用组件以及第四应用组件对应的版本信息的集合显示在该版本依赖关系配置界面,以供开发者操作。例如,当获取到开发者在该版本依赖关系配置界面输入的版本号为1.0.8的第三应用组件venus-data后,该产品管理平台获取该第三应用组件venus-data的历史版本信息已依赖的第四应用组件hermes-common以及hermes-core,并获取该第四应用组件hermes-common对应的版本信息的集合以及第四应用组件hermes-core对应的版本信息的集合,如该第四应用组件hermes-common的最低版本和最高版本的集合,即1.1.6版本和1.2.3版本的集合,该第四应用组件hermes-core的最低版本和最高版本的集合,即1.1.7版本和1.2.2版本的集合,以供开发者操作。此时,开发者可修改该第四应用组件的版本信息的集合,即通过该版本依赖关系配置界面的下拉菜单选择该第四应用组件的版本信息的集合,如在第四应用组件hermes-common的最低版本对应的下拉菜单中选择1.1.7版本,在最高版本对应的下拉菜单中选择1.2.2版本,得到1.1.7版本与1.2.2版本的集合。
或者,当获取到在该版本依赖关系配置界面输入的第三应用组件的当前版本信息后,开发者可通过该版本依赖关系配置界面增加依赖于该当前版本信息的新的应用组件,例如,当获取到开发者在该版本依赖关系配置界面输入的版本号为1.0.8的第三应用组件venus-data后,开发者点击该版本依赖关系配置界面上的“增加依赖关系(AppendDependency)”键,在该版本依赖关系配置界面上选择第四应用组件hermes-common(该第四应用组件hermes-common可以理解为依赖于该版本号为1.0.8的第三应用组件venus-data的新的应用组件),此时,产品管理接收开发者输入的该第四应用组件hermes-common,并将第四应用组件hermes-common对应的版本信息的集合显示在该版本依赖关系配置界面上,如将该第四应用组件hermes-common的最低版本和最高版本的集合,即1.1.6版本和1.2.3版本的集合显示在该版本依赖关系配置界面上,同时,开发者可修改该第四应用组件的版本信息的集合,即可通过该版本依赖关系配置界面上的下拉菜单选择该第四应用组件的版本信息的集合,如在第四应用组件hermes-common的最低版本对应的下拉菜单中选择1.1.7版本,在最高版本对应的下拉菜单中选择1.2.2版本,得到1.1.7版本与1.2.2版本的集合。
步骤S100,基于当前版本信息及第四应用组件的各版本信息,创建当前版本信息依赖第四应用组件的各版本信息的多个第二版本依赖关系,并将多个第二版本依赖关系存储在产品管理平台中。
当产品管理平台获取到第四应用组件的第一版本信息的集合后,创建当前版本信息依赖第四版本信息的集合中各版本信息的依赖关系,得到第三应用组件依赖第四应用组件的第二版本依赖关系。例如,将版本号为1.0.8的第三应用组件venus-data分别与版本号为1.1.7以及版本号为1.2.2的第四应用组件hermes-common创建依赖关系,得到第三应用组件依赖第四应用组件的多个第二版本依赖关系。
本实施例通过在接收到应用组件的版本依赖关系配置指令时,显示产品管理平台中版本依赖关系配置界面,获取在版本依赖关系配置界面输入的第三应用组件的当前版本信息,获取第三应用组件的历史版本信息依赖的第四应用组件的各版本信息,基于当前版本信息及第四应用组件的各版本信息,创建当前版本信息依赖第四应用组件的各版本信息的多个第二版本依赖关系,并将多个第二版本依赖关系存储在产品管理平台中。由于当在产品管理平台中增加第三应用组件的当前版本信息后,创建当前版本信息依赖第四应用组件的各版本信息的多个第二版本依赖关系,从而使得能够产品管理平台容易管理各组件之间的版本依赖关系,进而避免因各组件之间的版本依赖关系更新不及时,导致客户端在调用组件来实现相应功能时版本无法兼容。
进一步的,基于上述第三实施例,请参照图4,提出本发明应用组件版本的管理方法的第四实施例的流程示意图,在该第四实施例中,S80之后,应用组件版本的管理方法还包括:
步骤S200,获取依赖第三应用组件的历史版本信息的第五应用组件的各版本信息,对应的产品维护者指定的提示方式;
在本实施例中,当获取到在该版本依赖关系配置界面输入的第三应用组件的当前版本信息后,该产品管理平台获取依赖于该第三应用组件的历史版本信息第五应用组件的各版本信息,以及该第五应用组件的各版本信息的产品维护者的信息,当接收到开发者在该版本依赖关系配置界面上点击的“发送通知(Send Notification)”的指令时,获取该第五应用组件的各版本信息对应的产品维护者指定的提示方式。其中,该指定的提示方式可以是邮件提示方式。
步骤S300,基于指定的提示方式发送包含当前版本信息的第二提示消息,第二提示消息用于提示产品维护者创建当前版本信息与第五应用组件的各版本信息的第三版本依赖关系。
基于指定的提示方式发送第二提示消息,该第二提示消息包含第三应用组件的当前版本信息,例如,若该指定提示方式是邮件提示方式,则获取该产品维护者的邮件地址,根据该邮件地址发送邮件,且该第三应用组件的当前版本信息写入到该邮件中,以提示该产品维护者创建该当前版本信息与该第五应用组件的各版本信息的第三版本依赖关系。
本实施例通过获取依赖第三应用组件的历史版本信息的第五应用组件的各版本信息,对应的产品维护者指定的提示方式,基于指定的提示方式发送包含当前版本信息的第二提示消息,第二提示消息用于提示产品维护者创建当前版本信息与第五应用组件的各版本信息的第三版本依赖关系,使得能够及时更新第三应用组件的当前版本信息与第五应用组件的第三版本依赖关系。
本发明进一步提供一种应用组件版本的管理装置。
参照图5,图5为本发明应用组件版本的管理装置的第一实施例的功能模块示意图。
在本实施例中,所述应用组件版本的管理装置包括:接收模块10、第一判断模块20、反馈模块30及推送模块40。
所述接收模块10,用于接收客户端发送的组件信息校验请求,组件信息校验请求中包含第一应用组件的第一版本信息以及第二应用组件的第二版本信息,第一版本信息依赖于第二版本信息,具有第一版本依赖关系;
在本实施例中,该产品管理平台包括该应用组件版本的管理装置。该客户端中运行有gradle插件,该客户端通过该gradle插件与该产品管理平台进行数据交互,且该客户端是由使用者操作的。当使用者想要利用该产品管理平台发布的应用组件来实现相应的功能时,将对应的应用组件的应用组件名称以及应用组件的版本信息编写在build.gradle文件中,该gradle插件对该build.gradle文件中的应用组件名称以及版本信息进行构建,当该客户端对该应用组件名称以及版本信息进行构建后,向该产品管理平台发送组件信息校验请求,该组件信息校验请求中包含有第一应用组件的第一版本信息以及第二应用组件的第二版本信息,该第一版本信息依赖于第二版本信息,具有第一版本依赖关系。接收模块10接收客户端发送的组件信息校验请求。
需要说明的是,该客户端将该第一应用组件的名称和第一版本信息以及第二应用组件的名称和第二版本信息发送给该产品管理平台,并未将第一版本依赖关系发送给该产品管理平台。
例如,使用者在客户端的build.gradle文件中编写了版本号为1.0.8的第一应用组件venus-data依赖于版本号为1.2.0的第二应用组件hermes-common,版本号为1.1.6的venus-core依赖于版本号为1.2.1的第二应用组件hermes-common,客户端中的gradle构建插件检测到该build.gradle文件中第二应用组件hermes-common存在两个不同的版本号,则该gradle插件对该两组应用组件进行构建,得到版本号为1.0.8的第一应用组件venus-data与版本号为1.1.6的第一应用组件venus-core,都依赖于版本号为1.2.1的第二应用组件hermes-common,向该产品管理平台发送校验请求,并将该版本号为1.0.8的第一应用组件venus-data、版本号为1.1.6的第一应用组件venus-core以及版本号为1.2.1的第二应用组件hermes-common包含在该校验请求中,当产品管理平台接收到客户端发送的校验请求时,对版本号为1.0.8的第一应用组件venus-data依赖于版本号为1.2.1的第二应用组件hermes-common的版本依赖关系,以及该版本号为1.1.6的venus-core依赖于版本号为1.2.1的第二应用组件hermes-common的版本依赖关系进行校验。
所述第一判断模块20,用于判断产品管理平台存储的多个第二版本依赖关系中是否包含第一版本依赖关系;
所述反馈模块30,用于若产品管理平台存储的多个第二版本依赖关系中包含第一版本依赖关系,则向客户端反馈校验通过消息,以提示客户端保存第一版本信息以及第二版本信息;
在该接收模块10接收到该客户端发送的组件信息校验请求后,第一判断模块20判断该产品管理平台存储的多个第二版本依赖关系中是否包含该第一版本依赖关系。若该产品管理平台存储的多个第二版本依赖关系中包含第一版本依赖关系,则反馈模块30向该客户端反馈校验通过消息,以提示客户端保存该第一版本信息以及该第二版本信息。
所述推送模块40,用于若产品管理平台存储的多个第二版本依赖关系中未包含第一版本依赖关系,则向客户端推送第一提示信息,以提示用户修改第一版本信息和/或第二版本信息。
若该产品管理平台存储的多个第二版本依赖关系中不包含该第一版本依赖关系,则推送模块40向客户端推送第一提示信息,提示校验未通过的同时,以提示用户修改该第一版本信息和/或该第二版本信息。
或者,若该产品管理平台存储的多个第二版本依赖关系中不包含该第一版本依赖关系,则推送模块40从该产品管理平台的产品基线中获取第一应用组件指定的版本信息,以及该第二应用组件指定的版本信息,将该第一应用组件指定的版本信息以及该第二应用组件指定的版本信息写在该第一提示信息中,并向客户端推送该第一提示信息,以提示用户根据该第一应用组件指定的版本信息以及该第二应用组件指定的版本信息,分别对应修改第一版本信息以及该第二版本信息。
例如,产品管理平台将版本号为1.0.8的第一应用组件venus-data依赖于版本号为1.2.1的第二应用组件hermes-common的版本依赖关系,以及版本号为1.1.6的第一应用组件venus-core依赖于版本号为1.2.1的第二应用组件hermes-common的版本依赖关系进行校验后,确定该组件版本号为1.0.8的第一应用组件venus-data依赖于版本号为1.2.1的第二应用组件hermes-common的版本依赖关系不存在,而该产品管理平台的产品基线中存在是版本号为1.2.0的第一应用组件venus-data与版本号为1.2.1的第一应用组件venus-core,都依赖于版本号为1.2.2的第二应用组件hermes-common,则从该产品管理平台的产品基线中获取版本号为1.2.0的第一应用组件venus-data以及版本号为1.2.1的第一应用组件venus-core,以及版本号为1.2.2的第二应用组件hermes-common,并包含在第一提示信息中,推送给客户端,以供使用者参考。
本实施例通过接收模块10接收客户端发送的组件信息校验请求,组件信息校验请求中包含第一应用组件的第一版本信息以及第二应用组件的第二版本信息,第一版本信息依赖于第二版本信息,具有第一版本依赖关系,第一判断模块20判断产品管理平台存储的多个第二版本依赖关系中是否包含第一版本依赖关系,若是,则反馈模块30向客户端反馈校验通过消息,以提示客户端保存第一版本信息以及第二版本信息,若否,则推送模块40向客户端推送第一提示信息,以提示用户修改第一版本信息和/或第二版本信息。通过上述方案,在接收到客户端发送的组件信息校验请求时,产品管理平台对客户端发送过来的组件信息进行校验,根据校验结果来提示客户端该组件信息中各组应用组件之间是否真的存在依赖关系,从而使得能够提示客户端使用版本兼容的应用组件,进而避免该客户端在调用组件来实现相应功能时版本无法兼容,改善用户体验。
进一步的,基于上述第一实施例,提出本发明应用组件版本的管理装置的第二实施例,在本实施例中,参照图6,所述应用组件版本的管理装置还包括:第二判断模块50、禁止模块60。
所述第二判断模块50,用于判断第一版本信息和第二版本信息中是否存在与预设的过期版本信息相匹配的版本信息;
在本实施例中,开发者可将应用组件中某些使用价值不高的版本设置为过期版本,那么依赖于该过期版本的应用组件对应的依赖关系以及该过期版本依赖的应用组件对应的依赖关系是失效的,例如,若应用组件A的版本A已经被设置为过期版本,则依赖于该版本A的应用组件与该版本A之间的版本依赖关系是失效的,同时,该版本A所依赖的应用组件与该版本A之间的版本依赖关系是失效的。当该产品管理平台获取到该第一版本信息以及该第二版本信息时,第二判断模块50判断该第一版本信息和该第二版本信息中是否存在至少一个版本信息与预设的过期版本信息相匹配。
所述禁止模块60,用于若第一版本信息和第二版本信息中存在与预设的过期版本信息相匹配的版本信息,则禁止客户端使用与预设的过期版本信息相匹配的版本信息;
所述第一判断模块20,还用于第一版本信息和第二版本信息中不存在与预设的过期版本信息相匹配的版本信息,则判断产品管理平台存储的多个第二版本依赖关系中是否包含第一版本依赖关系。
当该第一版本信息和该第二版本信息中存在至少一个版本信息与预设的过期版本信息相匹配时,则禁止模块60禁止客户端使用与预设的过期版本信息相匹配的版本信息;当该第一版本信息和该第二版本信息中不存在与预设的过期版本信息相匹配的版本信息时,则进一步调用第一判断模块20判断该产品管理平台存储的多个第二版本依赖关系中是否包含该第一版本依赖关系。
本实施例通过第二判断模块50判断第一版本信息和第二版本信息中是否存在与预设的过期版本信息相匹配的版本信息,若是,则禁止模块60禁止客户端使用与预设的过期版本信息相匹配的版本信息,若否,则第一判断模块20判断产品管理平台存储的多个第二版本依赖关系中是否包含第一版本依赖关系,使得能够解决应用组件之间的版本冲突,便于产品管理平台对应用组件的版本管理。
进一步的,基于上述第一实施例,提出本发明应用组件版本的管理装置的第三实施例,在本实施例中,参照图7,所述应用组件版本的管理装置还包括:显示模块70、第一获取模块80、第二获取模块90及创建模块100。
所述显示模块70,用于在接收到应用组件的版本依赖关系配置指令时,显示产品管理平台中版本依赖关系配置界面;
所述第一获取模块80,用于获取在版本依赖关系配置界面输入的第三应用组件的当前版本信息;
在本实施例中,在接收到开发者触发的应用组件的版本依赖关系配置指令时,显示模块70显示产品管理平台中版本依赖关系配置界面,开发者在该版本依赖关系配置界面上输入第三应用组件的当前版本信息,如开发者通过点击该版本依赖关系配置界面上的“增加新的版本(Append New Version)”键,在该版本依赖关系配置界面输入第三应用组件的当前版本信息。该产品管理平台调用该第一获取模块80获取开发者在该版本依赖关系配置界面上输入的该第三应用组件的当前版本信息。
可以理解的是,在版本依赖关系配置界面上还可以删除该当前版本信息。
所述第二获取模块90,用于获取第三应用组件的历史版本信息依赖的第四应用组件的各版本信息;
当第一获取模块80获取到在该版本依赖关系配置界面输入的第三应用组件的当前版本信息后,第二获取模块90获取该第三应用组件的历史版本信息依赖的第四应用组件,并获取第四应用组件对应的版本信息的集合,将获取到的第四应用组件以及第四应用组件对应的版本信息的集合显示在该版本依赖关系配置界面,以供开发者操作。例如,当获取到开发者在该版本依赖关系配置界面输入的版本号为1.0.8的第三应用组件venus-data后,该产品管理平台获取该第三应用组件venus-data的历史版本信息已依赖的第四应用组件hermes-common以及hermes-core,并获取该第四应用组件hermes-common对应的版本信息的集合以及第四应用组件hermes-core对应的版本信息的集合,如该第四应用组件hermes-common的最低版本和最高版本的集合,即1.1.6版本和1.2.3版本的集合,该第四应用组件hermes-core的最低版本和最高版本的集合,即1.1.7版本和1.2.2版本的集合,以供开发者操作。此时,开发者可修改该第四应用组件的版本信息的集合,即通过该版本依赖关系配置界面的下拉菜单选择该第四应用组件的版本信息的集合,如在第四应用组件hermes-common的最低版本对应的下拉菜单中选择1.1.7版本,在最高版本对应的下拉菜单中选择1.2.2版本,得到1.1.7版本与1.2.2版本的集合。
或者,当第一获取模块80获取到在该版本依赖关系配置界面输入的第三应用组件的当前版本信息后,开发者可通过该版本依赖关系配置界面增加依赖于该当前版本信息的新的应用组件,例如,当获取到开发者在该版本依赖关系配置界面输入的版本号为1.0.8的第三应用组件venus-data后,开发者点击该版本依赖关系配置界面上的“增加依赖关系(Append Dependency)”键,在该版本依赖关系配置界面上选择第四应用组件hermes-common(该第四应用组件hermes-common可以理解为依赖于该版本号为1.0.8的第三应用组件venus-data的新的应用组件),此时,产品管理接收开发者输入的该第四应用组件hermes-common,并将第四应用组件hermes-common对应的版本信息的集合显示在该版本依赖关系配置界面上,如将该第四应用组件hermes-common的最低版本和最高版本的集合,即1.1.6版本和1.2.3版本的集合显示在该版本依赖关系配置界面上,同时,开发者可修改该第四应用组件的版本信息的集合,即可通过该版本依赖关系配置界面上的下拉菜单选择该第四应用组件的版本信息的集合,如在第四应用组件hermes-common的最低版本对应的下拉菜单中选择1.1.7版本,在最高版本对应的下拉菜单中选择1.2.2版本,得到1.1.7版本与1.2.2版本的集合。
所述创建模块100,用于基于当前版本信息及第四应用组件的各版本信息,创建当前版本信息依赖第四应用组件的各版本信息的多个第二版本依赖关系,并将多个第二版本依赖关系存储在产品管理平台中。
当产品管理平台获取到第四应用组件的第一版本信息的集合后,创建模块100创建当前版本信息依赖第四版本信息的集合中各版本信息的依赖关系,得到第三应用组件依赖第四应用组件的第二版本依赖关系。例如,将版本号为1.0.8的第三应用组件venus-data分别与版本号为1.1.7以及版本号为1.2.2的第四应用组件hermes-common创建依赖关系,得到第三应用组件依赖第四应用组件的多个第二版本依赖关系。
本实施例通过在接收到应用组件的版本依赖关系配置指令时,显示产品管理平台中版本依赖关系配置界面,获取在版本依赖关系配置界面输入的第三应用组件的当前版本信息,获取第三应用组件的历史版本信息依赖的第四应用组件的各版本信息,基于当前版本信息及第四应用组件的各版本信息,创建当前版本信息依赖第四应用组件的各版本信息的多个第二版本依赖关系,并将多个第二版本依赖关系存储在产品管理平台中。由于当在产品管理平台中增加第三应用组件的当前版本信息后,创建当前版本信息依赖第四应用组件的各版本信息的多个第二版本依赖关系,从而使得能够产品管理平台容易管理各组件之间的版本依赖关系,进而避免因各组件之间的版本依赖关系更新不及时,导致客户端在调用组件来实现相应功能时版本无法兼容。
进一步的,基于上述第三实施例,提出本发明应用组件版本的管理装置的第四实施例,在本实施例中,参照图8,所述应用组件版本的管理装置还包括:第三获取模块200、发送模块300。
所述第三获取模块200,用于获取依赖第三应用组件的历史版本信息的第五应用组件的各版本信息,对应的产品维护者指定的提示方式;
在本实施例中,当第一获取模块80获取到在该版本依赖关系配置界面输入的第三应用组件的当前版本信息后,该产品管理平台通过第三获取模块200获取依赖于该第三应用组件的历史版本信息第五应用组件的各版本信息,以及该第五应用组件的各版本信息的产品维护者的信息,当接收到开发者在该版本依赖关系配置界面上点击的“发送通知(SendNotification)”的指令时,获取该第五应用组件的各版本信息对应的产品维护者指定的提示方式。其中,该指定的提示方式可以是邮件提示方式。
所述发送模块300,用于基于指定的提示方式发送包含当前版本信息的第二提示消息,第二提示消息用于提示产品维护者创建当前版本信息与第五应用组件的各版本信息的第三版本依赖关系。
发送模块300基于指定的提示方式发送第二提示消息,该第二提示消息包含第三应用组件的当前版本信息,例如,若该指定提示方式是邮件提示方式,则获取该产品维护者的邮件地址,根据该邮件地址发送邮件,且该第三应用组件的当前版本信息写入到该邮件中,以提示该产品维护者创建该当前版本信息与该第五应用组件的各版本信息的第三版本依赖关系。
本实施例通过获取依赖第三应用组件的历史版本信息的第五应用组件的各版本信息,对应的产品维护者指定的提示方式,基于指定的提示方式发送包含当前版本信息的第二提示消息,第二提示消息用于提示产品维护者创建当前版本信息与第五应用组件的各版本信息的第三版本依赖关系,使得能够及时更新第三应用组件的当前版本信息与第五应用组件的第三版本依赖关系。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。