CN115951929B - 一种第三方库源代码管理方法 - Google Patents

一种第三方库源代码管理方法 Download PDF

Info

Publication number
CN115951929B
CN115951929B CN202211697206.5A CN202211697206A CN115951929B CN 115951929 B CN115951929 B CN 115951929B CN 202211697206 A CN202211697206 A CN 202211697206A CN 115951929 B CN115951929 B CN 115951929B
Authority
CN
China
Prior art keywords
party library
source code
party
version number
management program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202211697206.5A
Other languages
English (en)
Other versions
CN115951929A (zh
Inventor
陈志端
吴鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Yuzhong Network Technology Co ltd
Original Assignee
Guangzhou Yuzhong Network Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Yuzhong Network Technology Co ltd filed Critical Guangzhou Yuzhong Network Technology Co ltd
Priority to CN202211697206.5A priority Critical patent/CN115951929B/zh
Publication of CN115951929A publication Critical patent/CN115951929A/zh
Application granted granted Critical
Publication of CN115951929B publication Critical patent/CN115951929B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明公开了一种第三方库源代码管理方法,包括版本控制系统,使用者通过对应的版本控制系统下载第三方库源代码,所述第三方库源代码管理方法包括以下步骤:S1、在项目根目录下启动第三方库管理系统;S2、通过版本控制系统地址请求获取源代码;S3、校验源代码地址有效性,将第三方库版本号补齐;S4、将源代码与第三方库版本号进行比对,检查源代码中是否存在对应的版本号;S5、退出第三方库管理程序。结合上述方案,本发明提供了一种基于版本控制系统的通用第三方库源代码管理方法,实现了为缺少第三方库管理能力的编程语言能够更好地管理第三方库源代码关联的能力。

Description

一种第三方库源代码管理方法
技术领域
本发明涉及控制系统技术领域,具体为一种第三方库源代码管理方法。
背景技术
版本控制系统,是一种记录一个或若干个文件内容变化,以便将来查阅特定版本修订情况的系统,版本控制系统不仅可以应用于软件源代码的文本文件,而且可以对任何类型的文件进行版本控制,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中源代码与第三方库版本号比对步骤包括:
步骤一:若源代码中存在对应版本号,则创建对应第三方库和版本号缓存目录;
步骤二:获取对应版本号源代码至对应缓存目录;
步骤三:添加缓存目录至项目第三方库配置表;
步骤四:提示第三方库添加成功,退出第三方库管理程序。
具体来说,步骤一中若源代码中不存在对应版本号,系统会检测是否存在最新版本号,若存在最新版本号则重复步骤二至步骤四的程序;若不存在最新版本号系统提示没有有效的版本号,退出第三方库管理程序。
综上来说,在第三方库源代码远端地址和版本号校验成功后,管理程序会在缓存目录下添加一个特殊风格(远端地址域名/子路径/仓库名@版本号)的第三方库缓存目录。若最终第三方库源代码同步失败,管理程序会移除对应缓存目录,在开发者使用强制更新获取第三方库命令时,表示强制更新第三方库源代码,管理程序会清除对应第三方库缓存目录,并重复上述两方面所有步骤;
基于第三方面的第三方库源代码同步关联模块,管理程序会从第三方库源代码远端地址克隆对应版本代码至对应缓存目录,克隆第三方库源代码的同时,会检测是否带有子模块信息,若有子模块信息,则将子模块一并克隆,在第三方库源代码克隆完成后,管理程序会从缓存目录中检测是否存在第三方库描述信息。若不存在描述信息,则提示第三方库内容已失效,删除缓存目录并跳出管理程序。若存在描述信息,则解析描述信息,检测描述信息完整性以及是否与当前项目兼容。若描述信息缺失,则提示第三方库内容已失效,删除缓存目录并跳出管理程序。若与当前项目不兼容,则提示第三方库与当前项目不兼容,并跳出管理程序。若第三方描述信息完整并与当前项目兼容,则检测是否包含其他第三方库依赖信息。若存在其他第三方库依赖信息,则重复上述第一方面、第二方面和第三方面的所有步骤,直至第三方库源代码被完整克隆,在第三方库源代码完整克隆至缓存目录后,更新当前项目描述信息。将第三方库对应版本号代码缓存地址添加至当前项目源代码导入描述信息中,并将相关第三方库信息添加至第三方库依赖信息中。
结合上述方案,本发明提供了一种基于版本控制系统的通用第三方库源代码管理方法,实现了为缺少第三方库管理能力的编程语言能够更好地管理第三方库源代码关联的能力,具有较强的实践意义,适合推广应用。
可以理解,本发明是通过一些实施例进行描述的,本领域技术人员知悉的,在不脱离本发明的精神和范围的情况下,可以对这些特征和实施例进行各种改变或等效替换。另外,在本发明的教导下,可以对这些特征和实施例进行修改以适应具体的情况及材料而不会脱离本发明的精神和范围。因此,本发明不受此处所公开的具体实施例的限制,所有落入本申请的权利要求范围内的实施例都属于本发明所保护的范围内。

Claims (4)

1.一种第三方库源代码管理方法,包括版本控制系统,使用者通过对应的版本控制系统下载第三方库源代码,其特征在于:所述第三方库源代码管理方法包括以下步骤:
S1、在项目根目录下启动第三方库管理系统;
S2、通过版本控制系统地址请求获取源代码;
S3、校验源代码地址有效性,将第三方库版本号补齐;
S4、将源代码与第三方库版本号进行比对,检查源代码中是否存在对应的版本号;
S5、退出第三方库管理程序;
基于第三方库版本控制模块,在开发者使用获取第三方库命令时,管理程序会将第三方库源代码远端地址进行请求风格转换,在完成请求风格转换后,管理程序通过git请求校验远端地址的有效性,若校验失败,则提示第三方源代码远端地址无效,并跳出管理程序;
所述S2中还包括配置源代码缓存目录;
在第三方库源代码远端地址和版本号校验成功后,管理程序会在缓存目录下添加一个特殊风格为“远端地址域名/子路径/仓库名@版本号”的第三方库缓存目录;若最终第三方库源代码同步失败,管理程序会移除对应缓存目录,在开发者使用强制更新获取第三方库命令时,表示强制更新第三方库源代码,管理程序会清除对应第三方库缓存目录,并重复上述所有步骤;
管理程序会从第三方库源代码远端地址克隆对应版本代码至对应缓存目录,克隆第三方库源代码的同时,会检测是否带有子模块信息,若有子模块信息,则将子模块一并克隆,在第三方库源代码克隆完成后,管理程序会从缓存目录中检测是否存在第三方库描述信息;若不存在描述信息,则提示第三方库内容已失效,删除缓存目录并跳出管理程序;若存在描述信息,则解析描述信息,检测描述信息完整性以及是否与当前项目兼容,若描述信息缺失,则提示第三方库内容已失效,删除缓存目录并跳出管理程序;若与当前项目不兼容,则提示第三方库与当前项目不兼容,并跳出管理程序;若第三方描述信息完整并与当前项目兼容,则检测是否包含其他第三方库依赖信息;若存在其他第三方库依赖信息,则重复上述所有步骤,直至第三方库源代码被完整克隆,在第三方库源代码完整克隆至缓存目录后,更新当前项目描述信息,将第三方库对应版本号代码缓存地址添加至当前项目源代码导入描述信息中,并将相关第三方库信息添加至第三方库依赖信息中。
2.根据权利要求1所述的一种第三方库源代码管理方法,其特征在于:所述版本控制系统包括第三方库版本控制模块、第三方库代码缓存目录自定义模块和第三方库源代码同步关联模块。
3.根据权利要求2所述的一种第三方库源代码管理方法,其特征在于:所述S4中源代码与第三方库版本号比对步骤包括:
步骤一:若源代码中存在对应版本号,则创建对应第三方库和版本号缓存目录;
步骤二:获取对应版本号源代码至对应缓存目录;
步骤三:添加缓存目录至项目第三方库配置表;
步骤四:提示第三方库添加成功,退出第三方库管理程序。
4.根据权利要求3所述的一种第三方库源代码管理方法,其特征在于:所述步骤一中若源代码中不存在对应版本号,系统会检测是否存在最新版本号,若存在最新版本号则重复步骤二至步骤四的程序;若不存在最新版本号系统提示没有有效的版本号,退出第三方库管理程序。
CN202211697206.5A 2022-12-28 2022-12-28 一种第三方库源代码管理方法 Active CN115951929B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211697206.5A CN115951929B (zh) 2022-12-28 2022-12-28 一种第三方库源代码管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211697206.5A CN115951929B (zh) 2022-12-28 2022-12-28 一种第三方库源代码管理方法

Publications (2)

Publication Number Publication Date
CN115951929A CN115951929A (zh) 2023-04-11
CN115951929B true CN115951929B (zh) 2024-03-19

Family

ID=87291010

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211697206.5A Active CN115951929B (zh) 2022-12-28 2022-12-28 一种第三方库源代码管理方法

Country Status (1)

Country Link
CN (1) CN115951929B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103294514A (zh) * 2013-06-26 2013-09-11 深圳Tcl新技术有限公司 系统软件版本集成方法、编译服务器及系统
CN110221841A (zh) * 2019-04-26 2019-09-10 福州慧校通教育信息技术有限公司 一种基于web的交互式应用部署交付方法及系统
CN111258561A (zh) * 2020-01-10 2020-06-09 北京慧博科技有限公司 一种软件自动化编译部署启动监控的方法
CN112799716A (zh) * 2021-02-09 2021-05-14 广州锦行网络科技有限公司 一种代码管理方法及系统
CN113360156A (zh) * 2020-03-04 2021-09-07 武汉斗鱼鱼乐网络科技有限公司 一种ios编译方法及相关设备
CN113448614A (zh) * 2021-06-29 2021-09-28 北京金山云网络技术有限公司 软件项目代码管理方法、装置、存储介质和电子设备
CN114153473A (zh) * 2021-12-09 2022-03-08 广州博冠信息科技有限公司 模块集成方法、装置、存储介质及电子设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11714629B2 (en) * 2020-11-19 2023-08-01 Khoros, Llc Software dependency management

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103294514A (zh) * 2013-06-26 2013-09-11 深圳Tcl新技术有限公司 系统软件版本集成方法、编译服务器及系统
CN110221841A (zh) * 2019-04-26 2019-09-10 福州慧校通教育信息技术有限公司 一种基于web的交互式应用部署交付方法及系统
CN111258561A (zh) * 2020-01-10 2020-06-09 北京慧博科技有限公司 一种软件自动化编译部署启动监控的方法
CN113360156A (zh) * 2020-03-04 2021-09-07 武汉斗鱼鱼乐网络科技有限公司 一种ios编译方法及相关设备
CN112799716A (zh) * 2021-02-09 2021-05-14 广州锦行网络科技有限公司 一种代码管理方法及系统
CN113448614A (zh) * 2021-06-29 2021-09-28 北京金山云网络技术有限公司 软件项目代码管理方法、装置、存储介质和电子设备
CN114153473A (zh) * 2021-12-09 2022-03-08 广州博冠信息科技有限公司 模块集成方法、装置、存储介质及电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
白明.《Go语言精进之路从新手到高手的编程思想方法和技巧2》.机械工业出版社,2022,第367-374页. *

Also Published As

Publication number Publication date
CN115951929A (zh) 2023-04-11

Similar Documents

Publication Publication Date Title
US8776047B2 (en) Apparatus and method for managing a plurality of software dependency maps and software installation using the same
US9027014B2 (en) Updating firmware compatibility data
US20140304697A1 (en) Method and system for upgrading software
CN104156244A (zh) 一种软件升级的方法和装置
WO2016041499A1 (zh) 应用下载方法和移动终端
CN115951929B (zh) 一种第三方库源代码管理方法
CN109542942B (zh) 函数调用的查询方法及装置、电子设备
CN110688140B (zh) 一种代码管理方法和终端
CN105278993B (zh) 一种基于Linux系统的驱动模块升级方法及装置
CN113110872A (zh) 一种Android自动化配置构建平台及操作方法
CN113064611A (zh) 针对无线设备实现数据分析软件升级的方法及其更新方法
US20160139909A1 (en) Delta patch process
CN111045947A (zh) 一种测试环境构建方法、装置及其相关设备
CN114610415B (zh) 一种程序启动方法、系统、存储介质及电子设备
CN117492823B (zh) 代码获取方法、装置、电子设备及可读存储介质
TWI807824B (zh) 具有自動升級功能的開發系統以及開發系統的自動升級方法
CN114780097A (zh) 软件集成方法、装置、存储介质及电子设备
CN117313162A (zh) 基于区块链的漏洞修复方法、装置、电子设备及存储介质
CN116679966A (zh) 一种程序升级的方法、装置、设备及介质
CN117762565A (zh) 云平台数据的存取方法、设备、装置及存储介质
CN117742728A (zh) 业务对象的部署方法、系统和电子设备及存储介质
CN117608641A (zh) 一种代码同步方法及装置
CN113900668A (zh) 一种金丝雀发布方法、装置和可读存储介质
CN116186050A (zh) 一种基于哈希算法的数据更新方法及设备
CN117873444A (zh) 一种可持续集成的代码生成方法及代码生成系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant