掌桥专利:专业的专利平台
掌桥专利
首页

技术领域

本发明涉及控制系统技术领域,具体为一种第三方库源代码管理方法。

背景技术

版本控制系统,是一种记录一个或若干个文件内容变化,以便将来查阅特定版本修订情况的系统,版本控制系统不仅可以应用于软件源代码的文本文件,而且可以对任何类型的文件进行版本控制,Git是一个开源的分布式版本控制系统,能够有效、高速地处理从很小到非常大的项目版本管理。Git是程序开发者常用的一种版本控制系统,国外流行的公共Git类系统是Github,国内流行的公共Git类系统有Gitee,另外还有企业及开源版本控制系统Gitlab,每种编程语言都会有大量的第三方库,开发者一般会采用流行的公共版本控制系统分享其开发的第三方库源代码,使用者可以通过对应的版本控制系统下载第三方库源代码,集成至自己的项目当中。

成熟的编程语言都会有官方提供的第三方库源代码管理方案,如Java的Maven仓,Python的pip,等。但对于一些新兴编程语言或仍处于发展期的编程语言而言,依然缺少第三方库源代码管理方案,使用者只能手动搜索下载和手动关联第三方库源代码,整个操作过程较为繁琐,而且一些误操作还会导致第三方库源代码关联失败。

发明内容

(一)解决的技术问题

针对现有技术的不足,本发明提供了一种第三方库源代码管理方法,使得缺少第三方库管理能力的编程语言能够更好地管理第三方库源代码关联。

(二)技术方案

为实现上述目的,本发明提供如下技术方案:一种第三方库源代码管理方法,包括版本控制系统,使用者通过对应的版本控制系统下载第三方库源代码,其特征在于:所述第三方库源代码管理方法包括以下步骤:

S1、在项目根目录下启动第三方库管理系统;

S2、通过版本控制系统地址请求获取源代码;

S3、校验源代码地址有效性,将第三方库版本号补齐;

S4、将源代码与第三方库版本号进行比对,检查源代码中是否存在对应的版本号。

S5、退出第三方库管理程序。

优选的,所述S2中还包括配置源代码缓存目录。

优选的,所述版本控制系统包括第三方库版本控制模块、第三方库代码缓存目录自定义模块和第三方库源代码同步关联模块。

优选的,所述S4中源代码与第三方库版本号比对步骤包括:

步骤一:若源代码中存在对应版本号,则创建对应第三方库和版本号缓存目录;

步骤二:获取对应版本号源代码至对应缓存目录;

步骤三:添加缓存目录至项目第三方库配置表;

步骤四:提示第三方库添加成功,退出第三方库管理程序。

优选的,所述步骤一中若源代码中不存在对应版本号,系统会检测是否存在最新版本号,若存在最新版本号则重复步骤二至步骤四的程序;若不存在最新版本号系统提示没有有效的版本号,退出第三方库管理程序。

(三)有益效果

与现有技术相比,本发明提供了一种第三方库源代码管理方法,具备以下有益效果:该方法中使用第三方库版本控制模块、第三方库代码缓存目录自定义模块和第三方库源代码同步关联模块使其具备第三方库源代码缓存目录自定义能力,即开发者可以使用查看环境变量命令查看当前登录用户所配置的缓存目录地址;第三方库版本控制能力及第三方库源代码同步关联能力,使其系统实现了为缺少第三方库管理能力的编程语言能够更好地管理第三方库源代码关联的能力。

附图说明

图1为本发明第三方库源代码管理方法步骤示意图;

图2为本发明第三方库源代码管理方法模块示意图。

具体实施方式

为了更好地了解本发明的目的、结构及功能,下面结合附图,对本发明一种第三方库源代码管理方法做进一步详细的描述。

请参阅图1-2,本发明:一种第三方库源代码管理方法,包括版本控制系统,使用者通过对应的版本控制系统下载第三方库源代码,第三方库源代码管理方法包括以下步骤:

S1、在项目根目录下启动第三方库管理系统;

S2、通过版本控制系统地址请求获取源代码;

S3、校验源代码地址有效性,将第三方库版本号补齐;

S4、将源代码与第三方库版本号进行比对,检查源代码中是否存在对应的版本号。

S5、退出第三方库管理程序。

进一步的,S2中还包括配置源代码缓存目录;

本发明旨在提出一种基于版本控制系统的通用第三方库源代码管理方法,其中版本控制系统包括第一方面的第三方库代码缓存目录自定义模块、第二方面的第三方库版本控制模块及第三方面的第三方库源代码同步关联模块,基于三方面所实现的能力对该发明的管理方法来进行进一步的说明;

具体来说,第一方面说明的是该方法中第三方库源代码缓存目录自定义能力,该版本系统中的第三方库代码缓存目录自定义模块实现了第三方库源代码缓存目录自定义能力,开发者可以通过管理程序,查看和设置第三方源代码缓存目录地址。在开发者未设置第三方源代码缓存目录地址的情况下,管理程序会提供一个缺省值,该缺省值确保了当前登录用户及管理程序拥有对应目录地址的操作权限,因此在开发者不设置任何缓存目录地址的情况下也能正常使用管理程序,开发者可以使用查看环境变量命令查看当前登录用户所配置的缓存目录地址,开发者可以使用设置环境变量命令自定义缓存目录地址。

在上述的S3步骤中,具体阐述的是第二方面的第三方库版本控制能力,管理程序会校验开发者提供的第三方库源代码远端地址的有效性,基于第三方库版本控制模块,在开发者使用获取第三方库命令时,管理程序会将第三方库源代码远端地址进行请求风格转换。若远端地址为http或https请求时,则将风格转换成ssh请求风格。若无法正常转换成ssh请求风格,则提示第三方库源代码远端地址错误,并跳出管理程序。在完成请求风格转换后,管理程序通过git请求校验远端地址的有效性,若校验失败,则提示第三方源代码远端地址无效,并跳出管理程序。若远端地址校验成功,则获取第三方库的版本号列表,若版本号列表为空或获取失败,则提示无有效的版本号,并跳出管理程序。若开发者在使用获取第三方库命令时同时提供了第三方库版本号,则校验版本号的有效性,若对应版本号不存在与版本号列表中,则提示无有效的版本号,并跳出管理程序。若开发者在使用获取第三方库命令时未提供第三方库版本号,则通过对版本号列表排序后获取最新版本号作为目标版本。

更进一步的,S4中源代码与第三方库版本号比对步骤包括:

步骤一:若源代码中存在对应版本号,则创建对应第三方库和版本号缓存目录;

步骤二:获取对应版本号源代码至对应缓存目录;

步骤三:添加缓存目录至项目第三方库配置表;

步骤四:提示第三方库添加成功,退出第三方库管理程序。

具体来说,步骤一中若源代码中不存在对应版本号,系统会检测是否存在最新版本号,若存在最新版本号则重复步骤二至步骤四的程序;若不存在最新版本号系统提示没有有效的版本号,退出第三方库管理程序。

综上来说,在第三方库源代码远端地址和版本号校验成功后,管理程序会在缓存目录下添加一个特殊风格(远端地址域名/子路径/仓库名@版本号)的第三方库缓存目录。若最终第三方库源代码同步失败,管理程序会移除对应缓存目录,在开发者使用强制更新获取第三方库命令时,表示强制更新第三方库源代码,管理程序会清除对应第三方库缓存目录,并重复上述两方面所有步骤;

基于第三方面的第三方库源代码同步关联模块,管理程序会从第三方库源代码远端地址克隆对应版本代码至对应缓存目录,克隆第三方库源代码的同时,会检测是否带有子模块信息,若有子模块信息,则将子模块一并克隆,在第三方库源代码克隆完成后,管理程序会从缓存目录中检测是否存在第三方库描述信息。若不存在描述信息,则提示第三方库内容已失效,删除缓存目录并跳出管理程序。若存在描述信息,则解析描述信息,检测描述信息完整性以及是否与当前项目兼容。若描述信息缺失,则提示第三方库内容已失效,删除缓存目录并跳出管理程序。若与当前项目不兼容,则提示第三方库与当前项目不兼容,并跳出管理程序。若第三方描述信息完整并与当前项目兼容,则检测是否包含其他第三方库依赖信息。若存在其他第三方库依赖信息,则重复上述第一方面、第二方面和第三方面的所有步骤,直至第三方库源代码被完整克隆,在第三方库源代码完整克隆至缓存目录后,更新当前项目描述信息。将第三方库对应版本号代码缓存地址添加至当前项目源代码导入描述信息中,并将相关第三方库信息添加至第三方库依赖信息中。

结合上述方案,本发明提供了一种基于版本控制系统的通用第三方库源代码管理方法,实现了为缺少第三方库管理能力的编程语言能够更好地管理第三方库源代码关联的能力,具有较强的实践意义,适合推广应用。

可以理解,本发明是通过一些实施例进行描述的,本领域技术人员知悉的,在不脱离本发明的精神和范围的情况下,可以对这些特征和实施例进行各种改变或等效替换。另外,在本发明的教导下,可以对这些特征和实施例进行修改以适应具体的情况及材料而不会脱离本发明的精神和范围。因此,本发明不受此处所公开的具体实施例的限制,所有落入本申请的权利要求范围内的实施例都属于本发明所保护的范围内。

技术分类

06120115919802