将软件库交叉发布到模块存储库制造技术

技术编号:39857557 阅读:4 留言:0更新日期:2023-12-30 12:54
各实施例提供用于使用一组存储库代理将多个软件库发布到多个源代码存储库的计算机实施技术,每一存储库代理被配置为针对不同源代码存储库执行一个或多个源代码存储库特定的发布前动作

【技术实现步骤摘要】
【国外来华专利技术】将软件库交叉发布到模块存储库


[0001]本公开涉及软件模块存储库

更具体而言,本公开涉及用于将已从通用规范生成的多个不同软件库发布到多个不同模块存储库的计算机实施技术


技术介绍

[0002]计算机是用于执行各种各样任务的极强大工具

计算机程序
(
软件
)
是用于使用计算机系统来实现定制处理任务的通用机制

典型计算机程序是由一个或多个软件开发者创建的一组经编程指令
(
源代码
)。
在创建软件以实现特定处理任务的过程期间,软件开发者通常将较大处理任务的子任务委托给软件库

[0003]软件开发者可通过将库上传到存储在网络
(
例如互联网
)
上的模块存储库来使库可供共享及重复使用

从事不同处理任务的另一软件开发者可搜索模块存储库,从模块存储库下载软件库的副本,并对软件库的副本进行本地存储

软件库的所下载副本可存储在将运行在执行较大处理任务的过程中使用所述库的程序的同一计算机上

[0004]软件库可由将以特定编程语言编写的源代码编译成可执行形式的编译器产生

具体来说,由编译器产生的可执行形式可被配置为在特定计算环境中运行,例如特定操作系统平台

为了生成由不同计算平台使用的软件库的可执行文件,可使用交叉编译器

[0005]交叉编译器可接受人类及计算机可读两者的源代码作为输入,并产生源代码的多种不同可执行形式作为输出

举例来说,用于
C
编程语言的交叉编译器可从
C
源代码产生
x86
可执行文件
(
例如,用于在配置有
MICROSOFT WINDOWS
操作系统的计算机上执行
)、ARM
可执行文件
(
例如,用于在配置有
ANDROID
操作系统的移动计算装置上执行
)

WASM
可执行文件
(
例如,用于在由
web
浏览器应用支持的虚拟堆栈机器上执行
)。
[0006]为了使软件库源代码在不同编程语言中可用,可使用源到源编译器

源到源编译器接受人类及计算机可读两者的源代码作为输入

源到源编译器输出一个或多个源代码目标的源代码,每一源代码目标也是人类及计算机可读两者的

举例来说,
HAXE
编译器可将用
HAXE
编程语言编写的源代码翻译成一些结构类似的编程语言目标

关于
HAXE
的更多信息可在
haxe.org
互联网域名中找到

[0007]将软件库共享给模块存储库的过程可被称为“发布”库

[0008]本节中所描述的方法是可追求的方法,但未必是先前设想或追求的方法

因此,除非另有指示,否则不应假设本节中所描述的方法中的任一者仅仅因为包含在本节中就有资格作为现有技术

附图说明
[0009]所述技术在附图中是通过举例方式而非限制方式来图解说明的,其中相同附图标记指代类似元件,且在附图中:
[0010]图1描绘将从通用规范生成的许多软件库发布到许多存储库的组织视图

[0011]图2是用于将多个软件库发布到多个存储库的发布者的框图

[0012]图3是在多个不同存储库中复制的依赖性关系的框图

[0013]图
4A
是用于保留库名称的过程的交互图,包含跨不同组件的通信

[0014]图
4B
是用于跨多个存储库对库进行命名的命名器的框图

[0015]图5是用于将库依赖性重新映射到通用规范的依赖性重新映射器的框图

[0016]图6是用于跨多个存储库代理协调多个库的发布前动作的过程的时序图

[0017]图7是用于将从通用规范生成的许多软件库发布到许多存储库的过程的流程图

[0018]图8是可在所述技术的实施方案中使用的示例性基本计算装置的框图

[0019]图9是可用于控制图8的基本计算装置的操作的示例性基本软件系统的框图


技术实现思路

[0020]以下具体实施方式的总体概述章节提供用于将软件库交叉发布到模块存储库的技术的有用概述

具体实施方式
[0021]在以下描述中,出于解释目的,陈述了众多具体细节以便提供对本专利技术的透彻理解

然而,显而易见的是,所述技术可在不具有这些具体细节的情况下实践

在其他实例中,众所周知的结构及装置以框图形式展示以便避免不必要地模糊所述技术

[0022]总体概述
[0023]当软件库被交叉编译成多种不同目标编程语言时,库的版本以目标编程语言中的每一者产生

模块存储库可按目标来组织

举例来说,不同编程语言群体可使用不同的基于互联网的存储库来共享其软件库

因此,发布已为多个不同目标编译的软件库的过程可涉及将软件库的多个版本发布到多个不同模块存储库

[0024]存储库通常提供其自身工具

过程及工作流,用于执行与将库发布到存储库相关联的任务

此类任务的示例包含将编译器输出

编译器输入

文档及元数据文件分组到档案文件中,并通过网络将档案文件发送给代表存储库工作的机器

[0025]每一不同存储库可具有其自身文件命名及版本约定

不同存储库可能会以不同方式处置库依赖性

不同存储库可具有不同质量控制及认证要求,或者在发布过程的不同阶段执行质量控制检查或认证

特定存储库的工具可以特定于所述存储库的方式对要发布的文件进行分组

[0026]由于这些及其他存储库特定的特性,发布到不同存储库需要理解及使用多种不同存储库特定的工具

过程及工作流

因此,发布若干群组相关软件库
(
例如交叉编译的软件库
)
可能是费力且耗时的

由于跨库及存储库调和命名约定及
/
或版本号的问题,或者由于跨库及存储库传播模块依赖性的意外失败,错误的风险可能增加

如果认证凭证键入或共享不当,或者如果要发布的认证没本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.
一种方法,其包括:对于从通用规范生成的多个软件库中的每一软件库,将所述软件库映射到多个存储库代理中的存储库代理;所述多个存储库代理各自被配置为针对多个源代码存储库中的不同源代码库执行一个或多个源代码存储库特定的发布前动作;从所述存储库代理接收状态信号,所述状态信号含有对已映射到所述存储库代理的软件库执行所述一个或多个源代码存储库特定的发布前动作的状态;响应于所述状态信号,将所述多个软件库发布到所述多个源代码存储库中的相应不同的源代码存储库
。2.
根据权利要求1所述的方法,其还包括将含有无时间限制凭证的第一凭证信号发送给所述多个存储库代理;每一存储库代理被配置为响应于接收到所述第一凭证信号而执行所述一个或多个源代码存储库特定的发布前动作
。3.
根据权利要求2所述的方法,其还包括响应于接收到含有有时间限制凭证的第二凭证信号而执行所述发布
。4.
根据权利要求1所述的方法,其还包括在可搜索数据存储体中创建并存储所述多个软件库的已发布软件库的版本到所述通用规范的版本及所述已发布软件库的另一版本中的一者或多者的映射
。5.
根据权利要求1所述的方法,其还包括在所述可搜索数据存储体中创建并存储所述通用规范的版本到所述多个源代码存储库中的源代码存储库的版本及所述多个软件库的已发布软件库的版本的映射
。6.
根据权利要求1所述的方法,其还包括在可搜索数据存储体中创建并存储凭证数据到所述多个源代码存储库中的源代码存储库及所述多个软件库中的已发布软件库的映射
。7.

【专利技术属性】
技术研发人员:M
申请(专利权)人:坦珀系统股份有限公司
类型:发明
国别省市:

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

1