一种开源声明文件生成方法、校验方法以及计算设备与流程

文档序号:37858033发布日期:2024-05-07 19:32阅读:9来源:国知局
一种开源声明文件生成方法、校验方法以及计算设备与流程

本技术涉及开源软件,尤其涉及一种开源声明文件生成方法、校验方法以及计算设备。


背景技术:

1、目前,很大一部分软件项目开发都是基于软件复用实现的,开源软件为软件复用提供了大量的复用资源。开源软件是指公开源代码的软件,使任何人可以查看、修改和分发软件,在复用开源软件时,需在项目文件中附上被复用到的开源软件的开源声明文件。一些大型软件项目(如操作系统)包含的开源软件的个数在几千到几万不等,而大型软件项目的正常运行通常需不断迭代升级,每次升级时涉及的软件包变动少则几百多则几千,相应的开源声明文件也需变化,在过去,开发人员需根据代码提交记录查找到存在变更的软件包,再手动编写软件包的开源声明文件,不仅效率低且人工操作容易出错。


技术实现思路

1、本技术实施例提供了一种开源声明文件生成方法、校验方法以及计算设备,可以提升开源声明文件的编写效率和编写准确率。

2、一方面,本技术实施例提供了一种开源声明文件生成方法,该开源声明文件生成方法包括:

3、响应于针对目标软件项目的文件生成请求,获取目标软件项目的软件包列表,软件包列表包括一个或多个软件包;

4、从目标软件项目的源码镜像文件获取每个软件包的源代码文件;

5、从每个软件包的源代码文件中提取开源声明信息;

6、基于开源声明信息和开源声明模板文件,生成每个软件包的开源声明文件。

7、本技术实施例可以自动化地生成目标软件项目包括的所有软件包的开源声明文件,从而提升开源声明文件的编写效率和编写准确率。

8、在一实现方式中,该开源声明文件生成方法还包括:

9、将每个软件包的开源声明文件添加至目标软件项目的项目文件中。

10、本技术实施例可以自动化地将生成的所有开源声明文件添加到目标软件项目的项目文件中,有利于提升目标软件项目的开发效率。

11、在一实现方式中,开源声明信息包括软件名称、版本号、开源协议、版权信息;基于开源声明信息和开源声明模板文件,生成每个软件包的开源声明文件,包括:

12、获取开源声明模板文件;

13、利用开源声明信息包括的软件名称、版本号、开源协议、版权信息,对开源声明模板文件进行填充处理,得到每个软件包的开源声明文件。

14、本技术实施例可以利用开源声明信息自动填充开源声明模板文件,这样,便能实现开源声明文件的自动生成,有利于提升开源声明文件的编写效率和编写准确率。

15、在一实现方式中,从每个软件包的源代码文件中提取开源声明信息,包括:

16、从每个软件包的源代码文件中提取多个版权信息;

17、对多个版权信息进行去重处理,将去重处理后保留的版权信息确定为开源声明信息包括的版权信息。

18、本技术实施例可以避免提取到的开源声明信息中存在重复的版权信息,能够保证提取到的开源声明信息的准确性。

19、相应地,本技术实施例提供了一种开源声明文件生成装置,该开源声明文件生成装置包括:

20、获取单元,用于响应于针对目标软件项目的文件生成请求,获取目标软件项目的软件包列表,软件包列表包括一个或多个软件包;

21、获取单元,还用于从目标软件项目的源码镜像文件获取每个软件包的源代码文件;

22、处理单元,用于从每个软件包的源代码文件中提取开源声明信息;

23、处理单元,还用于基于开源声明信息和开源声明模板文件,生成每个软件包的开源声明文件。

24、另一方面,本技术实施例提供了一种开源声明文件校验方法,该开源声明文件校验方法包括:

25、响应于针对目标软件项目的文件校验请求,获取目标软件项目的软件包列表,软件包列表包括一个或多个软件包;

26、从源信息数据库中获取每个软件包的第一声明信息;

27、基于第一声明信息对每个软件包的开源声明文件中的第二声明信息进行校验处理,得到校验结果;其中,每个软件包的开源声明文件是基于开源声明模板文件和从每个软件包的源代码文件中提取的开源声明信息生成的。

28、本技术实施例可以自动化地对目标软件项目包括的所有开源声明文件进行校验,从而提升开源声明文件的校验效率和校验准确率。

29、在一实现方式中,在基于第一声明信息对每个软件包的开源声明文件中的第二声明信息进行校验处理,得到校验结果之前,该开源声明文件校验方法还包括:

30、基于每个软件包的名称,从目标软件项目的项目文件中查询每个软件包的开源声明文件;

31、若查询到每个软件包的开源声明文件,则从每个软件包的开源声明文件中获取第二声明信息。

32、本技术实施例可以自动校验软件包的开源声明文件是否存在,有利于提升开源声明文件的校验效率。

33、在一实现方式中,基于第一声明信息对第二声明信息进行校验处理,得到校验结果,包括:

34、确定第一声明信息中的第一校验信息与第二声明信息中的第二校验信息是否一致,并得到校验结果;其中,第一校验信息和第二校验信息包括软件名称、版本号和开源协议。

35、本技术实施例可以实现开源声明文件中开源声明信息的自动校验,有利于提升开源声明文件的校验效率和校验准确率。

36、在一实现方式中,该开源声明文件校验方法还包括:

37、若第一声明信息中的第一校验信息和第二声明信息中的第二校验信息中存在至少一个校验信息不一致,则校验结果记录相应软件包的开源声明文件中的第二声明信息存在错误。

38、本技术实施例可以自动生成校验结果,且校验结果可以提示开源声明信息存在错误,便于开发人员进行后续处理(如人工修改开源声明文件中的开源声明信息)。

39、在一实现方式中,该开源声明文件校验方法还包括:

40、若未查询到每个软件包的开源声明文件,则生成反馈信息;反馈信息用于记录相应软件包的开源声明文件不存在。

41、本技术实施例可以自动生成反馈信息,且反馈信息可以提示开源声明文件不存在,便于开发人员进行后续处理(如人工编写开源声明文件)。

42、相应地,本技术实施例提供了一种开源声明文件校验装置,该开源声明文件校验装置包括:

43、获取单元,用于响应于针对目标软件项目的文件校验请求,获取目标软件项目的软件包列表,软件包列表包括一个或多个软件包;

44、获取单元,还用于从源信息数据库中获取每个软件包的第一声明信息;

45、处理单元,用于基于第一声明信息对每个软件包的开源声明文件中的第二声明信息进行校验处理,得到校验结果;其中,每个软件包的开源声明文件是基于开源声明模板文件和从每个软件包的源代码文件中提取的开源声明信息生成的。

46、相应地,本技术实施例提供一种计算设备,该计算设备包括:存储器和处理器;存储器和处理器耦合;

47、存储器用于存储程序指令;处理器用于调用程序指令执行上述的开源声明文件生成方法或开源声明文件校验方法。

48、相应地,本技术实施例提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被计算设备的处理器读取并执行时,使得计算设备执行上述的开源声明文件生成方法或开源声明文件校验方法。

49、相应地,本技术实施例提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中。计算设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算设备执行上述的开源声明文件生成方法或开源声明文件校验方法。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1