CN115951929A - 一种第三方库源代码管理方法 - Google Patents
一种第三方库源代码管理方法 Download PDFInfo
- Publication number
- CN115951929A CN115951929A CN202211697206.5A CN202211697206A CN115951929A CN 115951929 A CN115951929 A CN 115951929A CN 202211697206 A CN202211697206 A CN 202211697206A CN 115951929 A CN115951929 A CN 115951929A
- Authority
- CN
- China
- Prior art keywords
- party library
- source code
- version number
- party
- management method
- 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.)
- Granted
Links
- 238000007726 management method Methods 0.000 title claims abstract description 34
- 230000001502 supplementing effect Effects 0.000 claims abstract description 4
- 238000000034 method Methods 0.000 claims description 12
- 230000001360 synchronised effect Effects 0.000 claims description 6
- 230000009191 jumping Effects 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000010367 cloning Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Stored Programmes (AREA)
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 (5)
1.一种第三方库源代码管理方法,包括版本控制系统,使用者通过对应的版本控制系统下载第三方库源代码,其特征在于:所述第三方库源代码管理方法包括以下步骤:
S1、在项目根目录下启动第三方库管理系统;
S2、通过版本控制系统地址请求获取源代码;
S3、校验源代码地址有效性,将第三方库版本号补齐;
S4、将源代码与第三方库版本号进行比对,检查源代码中是否存在对应的版本号。
S5、退出第三方库管理程序。
2.根据权利要求1所述的一种第三方库源代码管理方法,其特征在于:所述S2中还包括配置源代码缓存目录。
3.根据权利要求1所述的一种第三方库源代码管理方法,其特征在于:所述版本控制系统包括第三方库版本控制模块、第三方库代码缓存目录自定义模块和第三方库源代码同步关联模块。
4.根据权利要求3所述的一种第三方库源代码管理方法,其特征在于:所述S4中源代码与第三方库版本号比对步骤包括:
步骤一:若源代码中存在对应版本号,则创建对应第三方库和版本号缓存目录;
步骤二:获取对应版本号源代码至对应缓存目录;
步骤三:添加缓存目录至项目第三方库配置表;
步骤四:提示第三方库添加成功,退出第三方库管理程序。
5.根据权利要求4所述的一种第三方库源代码管理方法,其特征在于:所述步骤一中若源代码中不存在对应版本号,系统会检测是否存在最新版本号,若存在最新版本号则重复步骤二至步骤四的程序;若不存在最新版本号系统提示没有有效的版本号,退出第三方库管理程序。
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 true CN115951929A (zh) | 2023-04-11 |
CN115951929B 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 (8)
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 | 广州博冠信息科技有限公司 | 模块集成方法、装置、存储介质及电子设备 |
US20220156053A1 (en) * | 2020-11-19 | 2022-05-19 | Khoros, Llc | Software dependency management |
-
2022
- 2022-12-28 CN CN202211697206.5A patent/CN115951929B/zh active Active
Patent Citations (8)
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编译方法及相关设备 |
US20220156053A1 (en) * | 2020-11-19 | 2022-05-19 | Khoros, Llc | Software dependency management |
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 (2)
Title |
---|
AAAA农产品批发: "git基本配置及代码下载上传", pages 1 - 7, Retrieved from the Internet <URL:https://zhuanlan.zhihu.com/p/546255765?utm_id=0> * |
CTRL`: "java代码操作git实现仓库代码下载至指定目录", pages 367 - 374, Retrieved from the Internet <URL:https://www.cnblogs.com/haohao111/p/13827105.html> * |
Also Published As
Publication number | Publication date |
---|---|
CN115951929B (zh) | 2024-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110221872B (zh) | 页面跳转方法、装置、电子设备和存储介质 | |
CN107391104B (zh) | 一种客户端与react native代码的更新依赖管理方法、装置及系统 | |
KR20180098562A (ko) | 페이지 점프 방법 및 장치 | |
CN103294514A (zh) | 系统软件版本集成方法、编译服务器及系统 | |
CN104156244A (zh) | 一种软件升级的方法和装置 | |
EP1775913B1 (en) | Method for controlling multimedia middleware apparatus using metadata | |
CN110442371B (zh) | 一种发布代码的方法、装置、介质及计算机设备 | |
CN104378330A (zh) | 一种账户注册的方法及相应的装置和服务器 | |
CN106293823A (zh) | 一种游戏加速器自动热更新与加载方法及装置 | |
CN103176811A (zh) | 第三方应用安装方法和系统 | |
CN111104151A (zh) | 一种基于Shell脚本的Git代码简化的管理方法 | |
WO2016041499A1 (zh) | 应用下载方法和移动终端 | |
CN113282316A (zh) | 一种物联网设备远程升级方法及装置 | |
CN109542942B (zh) | 函数调用的查询方法及装置、电子设备 | |
CN115951929A (zh) | 一种第三方库源代码管理方法 | |
CN113254045A (zh) | 软件初始化方法、系统及计算机可读存储介质 | |
CN113315817A (zh) | 一种基于云端资源包来更新车机端界面的方法 | |
CN110688140B (zh) | 一种代码管理方法和终端 | |
JP4963070B2 (ja) | ソフトウェア部品テンプレート管理システム | |
CN113590179B (zh) | 插件检测方法、装置、电子设备及存储介质 | |
CN113360156A (zh) | 一种ios编译方法及相关设备 | |
CN105578297A (zh) | 一种web端音视频文件片段式重复播放方法及系统 | |
CN115981718A (zh) | 一种代码发布方法、装置、计算机设备和存储介质 | |
CN113535206B (zh) | 多版本代码升级方法及系统 | |
CN115291935A (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 |