前端工程开源协议检测方法及装置制造方法及图纸

技术编号:39585029 阅读:7 留言:0更新日期:2023-12-03 19:36
本发明专利技术公开了一种前端工程开源协议检测方法及装置,可用于软件协议检测技术领域,其中该方法包括:获取前端工程依赖文件;根据所述前端工程依赖文件,获得前端工程依赖,并存储至依赖数组中;安装依赖数组中的每个依赖,获得每个依赖的安装目录;根据每个依赖的安装目录,获得每个依赖的开源协议文件;解析所述开源协议文件,获得每个依赖的开源协议信息,并存储至开源协议数组中;展示开源协议数组中的开源协议信息

【技术实现步骤摘要】
前端工程开源协议检测方法及装置


[0001]本专利技术涉及软件协议检测
,尤其涉及前端工程开源协议检测方法及装置


技术介绍

[0002]本部分旨在为权利要求书中陈述的本专利技术实施例提供背景或上下文

此处的描述不因为包括在本部分中就承认是现有技术

[0003]开源协议是指一种用于计算机软件开源使用的开源协议,规定了项目或工程开发者在使用开源软件时的权利和责任,也就是规定了项目开发者可以做什么,不可以做什么

[0004]不同的开源协议之间可能存在冲突

例如,如果项目组使用了两个不兼容的开源项目,那么可能无法将它们组合在一起并对外发布

[0005]此外,如果项目组选择使用了要求较高的开源协议软件
(
或依赖
)
,那么项目组可能会面临开源协议侵权

例如,如果项目组使用了某个开源项目,但是没有遵守该项目的开源协议,那么可能会面临开源协议侵权

[0006]因此,在选择开源协议时,需要仔细考虑项目的需求和目标,并确保遵守所选协议的所有限制和要求

[0007]出现上面问题的关键原因是,目前前端工程开源协议并不能通过自动检测获得,前端工程开源协议获取难度大,效率低,且检测结果不够准确,也不会直观展示


技术实现思路

[0008]本专利技术实施例提供一种前端工程开源协议检测方法,用以自动检测前端工程使用的开源协议,检测效率高,准确率高,可直观展示前端工程项目使用依赖的开源协议,该方法包括:
[0009]获取前端工程依赖文件;
[0010]根据所述前端工程依赖文件,获得前端工程依赖,并存储至依赖数组中;
[0011]安装依赖数组中的每个依赖,获得每个依赖的安装目录;
[0012]根据每个依赖的安装目录,获得每个依赖的开源协议文件;
[0013]解析所述开源协议文件,获得每个依赖的开源协议信息,并存储至开源协议数组中;
[0014]展示开源协议数组中的开源协议信息

[0015]本专利技术实施例还提供一种前端工程开源协议检测装置,用以自动检测前端工程使用的开源协议,检测效率高,准确率高,可直观展示前端工程项目使用依赖的开源协议,该装置包括:
[0016]依赖获得模块,用于获取前端工程依赖文件;根据所述前端工程依赖文件,获得前端工程依赖,并存储至依赖数组中;
[0017]依赖安装模块,用于安装依赖数组中的每个依赖,获得每个依赖的安装目录;
[0018]开源协议获得模块,用于根据每个依赖的安装目录,获得每个依赖的开源协议文件;解析所述开源协议文件,获得每个依赖的开源协议信息,并存储至开源协议数组中;
[0019]开源协议展示模块,用于展示开源协议数组中的开源协议信息

[0020]本专利技术实施例还提供一种计算机设备,包括存储器

处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述前端工程开源协议检测方法

[0021]本专利技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述前端工程开源协议检测方法

[0022]本专利技术实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述前端工程开源协议检测方法

[0023]本专利技术实施例中,获取前端工程依赖文件;根据所述前端工程依赖文件,获得前端工程依赖,并存储至依赖数组中;安装依赖数组中的每个依赖,获得每个依赖的安装目录;根据每个依赖的安装目录,获得每个依赖的开源协议文件;解析所述开源协议文件,获得每个依赖的开源协议信息,并存储至开源协议数组中;展示开源协议数组中的开源协议信息

相比现有技术中前端工程开源协议获取困难的情况,本专利技术方案可以自动检测前端工程使用的开源协议,检测效率高,准确率高,可直观展示前端工程项目使用依赖的开源协议,以确保项目不会出现因开源协议出现的版权等问题

附图说明
[0024]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图

在附图中:
[0025]图1为本专利技术实施例中前端工程开源协议检测方法的流程图;
[0026]图2为本专利技术实施例中获得每个依赖的开源协议信息的流程图;
[0027]图3为本专利技术实施例中
Apache
协议文件内容截图;
[0028]图4为本专利技术实施例中
MIT
协议文件内容截图;
[0029]图5为本专利技术实施例中在一个许可证中查找出多个开源协议的示意图;
[0030]图6为本专利技术实施例中前端工程开源协议检测装置的示意图

具体实施方式
[0031]为使本专利技术实施例的目的

技术方案和优点更加清楚明白,下面结合附图对本专利技术实施例做进一步详细说明

在此,本专利技术的示意性实施例及其说明用于解释本专利技术,但并不作为对本专利技术的限定

[0032]图1为本专利技术实施例中前端工程开源协议检测方法的流程图,包括:
[0033]步骤
101
,获取前端工程依赖文件;
[0034]步骤
102
,根据所述前端工程依赖文件,获得前端工程依赖,并存储至依赖数组中;
[0035]步骤
103
,安装依赖数组中的每个依赖,获得每个依赖的安装目录;
[0036]步骤
104
,根据每个依赖的安装目录,获得每个依赖的开源协议文件;
[0037]步骤
105
,解析所述开源协议文件,获得每个依赖的开源协议信息,并存储至开源协议数组中;
[0038]步骤
106
,展示开源协议数组中的开源协议信息

[0039]相比现有技术中前端工程开源协议获取困难的情况,本专利技术方案可以自动检测前端工程使用的开源协议,检测效率高,准确率高,可直观展示前端工程项目使用依赖的开源协议,以确保项目不会出现因开源协议出现的版权等问题

下面对每个步骤进行详细介绍

[0040]在步骤
101
中,获取前端工程依赖文件;
[0041]在步骤
102
中,根据所述前端工程依赖文件,获得前端工程依赖,并存储至依赖数组中;
[0042]在一实施例中,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种前端工程开源协议检测方法,其特征在于,包括:获取前端工程依赖文件;根据所述前端工程依赖文件,获得前端工程依赖,并存储至依赖数组中;安装依赖数组中的每个依赖,获得每个依赖的安装目录;根据每个依赖的安装目录,获得每个依赖的开源协议文件;解析所述开源协议文件,获得每个依赖的开源协议信息,并存储至开源协议数组中;展示开源协议数组中的开源协议信息
。2.
如权利要求1所述的方法,其特征在于,所述前端工程依赖文件为
package.json
文件;获取前端工程依赖文件,包括:读取前端工程根目录下的
package.json
文件;根据所述前端工程依赖文件,获得前端工程依赖,并存储至依赖数组中,包括:解析
package.json
文件,获得
JavaScript
对象;通过访问
JavaScript
对象的生产依赖字段和开发依赖字段,获得前端工程的生产依赖和开发依赖,并存储至依赖数组中
。3.
如权利要求1所述的方法,其特征在于,安装依赖数组中的每个依赖,获得安装目录,包括:使用
npm
命令或
yarn
命令安装安装依赖数组中的每个依赖,获得安装目录
。4.
如权利要求1所述的方法,其特征在于,根据每个依赖的安装目录,获得每个依赖的开源协议文件,包括:对每个依赖,根据该依赖的安装目录,查找是否存在许可证;若是,确定所述许可证为开源协议文件;若否,查找该依赖的安装目录的
package.json
文件是否存在开源协议信息;若是,确定所述
package.json
文件为开源协议文件;若否,查找该依赖的安装目录的
README
文件是否存在开源协议信息;若是,确定所述
README
文件为开源协议文件
。5.
如权利要求4所述的方法,其特征在于,根据该依赖的安装目录,查找是否存在许可证,包括:查找该依赖的安装目录下是否存在许可证;若否,查找该依赖的安装目录下的
docs
文件夹中是否存在许可证
。6.
如权利要求4所述的方法,其特征在于,解析所述开源协议文件,获得每个依赖的开源协议信息,并存储至开源协议数组中,包括:获得开源协议类型数组,所述开源协议类型数组中包括多个预定义的开源协议类型;在开源协议文件为许可证时,对每个许可证,查找该许可证中是否存在开源协议类型数组中的开源协议类型的开源协议;若是,将查找到的开源协议记录到开源协议数组中
。7.
如权利要求4所述的方法,其特征在于,解析所述开源协议文件,获得每个依赖的开源协议信息,并存储至开源协议数组中,包括:在所述开源协议文件为
package.json
文件时,将
package.js...

【专利技术属性】
技术研发人员:孟繁贵
申请(专利权)人:建信金融科技有限责任公司
类型:发明
国别省市:

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

1