一种基于DSL的声明式源码批量构建Tarball的方法技术

技术编号:38271928 阅读:14 留言:0更新日期:2023-07-27 10:25
本发明专利技术公开一种基于DSL的声明式源码批量构建Tarball的方法,涉及软件构建技术领域;建立DSL批量构建Tarball的系统框架,通过系统框架获取并存储源码,内置DSL解析器;通过系统框架根据产品需求基于DSL进行产品源码定义,基于DSL进行产品补丁定义,基于DSL进行产品的编译命令定义,通过系统框架提供DSL批量构建Tarball的统一命令行,根据产品名称执行命令行批量构建产品软件包Tarball。行批量构建产品软件包Tarball。行批量构建产品软件包Tarball。

【技术实现步骤摘要】
一种基于DSL的声明式源码批量构建Tarball的方法


[0001]本专利技术公开一种方法,涉及软件构建
,具体地说是一种基于DSL的声明式源码批量构建Tarball的方法。

技术介绍

[0002]二进制可执行软件包Tarball是软件产品普遍采用的源码构建输出,广泛用于软件产品的安装部署和推广。微服务架构、开源架构等,都有多个产品组成发行版已是比较流行的产品发布方式。发行版的产品来源广泛,除却正常流程的发行版发布之外,信创环境下安全也很重要,尤其是安全漏洞必须及时被发现和修复,如此进一步增加了源码构建Tarball的执行频次。现有源码构建Tarball需要手动输入命令的数量多,关注的细节多,成本较高。即使采用流水线构建,针对历史版本进行高频次的安全漏洞补丁修复时也不适用,同时多源产品也不适用,增加了批量构建Tarball的成本,降低了构建效率。

技术实现思路

[0003]本专利技术针对现有技术的问题,提供一种基于DSL的声明式源码批量构建Tarball的方法,有效减少用户重复性的机械式操作、提高工作复用率、提升构建效率,尤其在多产品多版本场景下效果会更显著,可实现一次投入长期受益的效果。
[0004]本专利技术提出的具体方案是:
[0005]本专利技术提供一种基于DSL的声明式源码批量构建Tarball的方法,建立DSL批量构建Tarball的系统框架,通过系统框架获取并存储源码,内置DSL解析器;
[0006]通过系统框架根据产品需求基于DSL进行产品源码定义,利用源码定义文件支持获取产品的源码相关信息,所述源码相关信息包括产品名称、发行版本号、源码地址和源码类型,
[0007]基于DSL进行产品补丁定义,构建统一目录,将相应产品的补丁文件存放至统一目录,
[0008]基于DSL进行产品的编译命令定义,利用编译命令文件记录产品的编译命令并存放至统一目录,根据产品名称区分编译命令文件对应的服务器CPU架构和操作系统,以便执行产品的源码编译构建Tarball;
[0009]通过系统框架提供DSL批量构建Tarball的统一命令行,根据产品名称执行命令行批量构建产品软件包Tarball。
[0010]进一步,所述的一种基于DSL的声明式源码批量构建Tarball的方法中所述基于DSL进行产品补丁定义,包括:
[0011]通过系统框架利用版本管理工具获取产品补丁文件,并将补丁文件存放至统一目录,用于产品合并源码补丁。
[0012]进一步,所述的一种基于DSL的声明式源码批量构建Tarball的方法中所述通过系统框架提供DSL批量构建Tarball的统一命令行,包括:
[0013]构建命令行,所述命令行包括tarball、<产品名称>

tarball、<产品名称>

patches和<产品名称>

download,
[0014]通过所述命令行tarball面向所有产品,指示完成所有产品的源码批量构建Tarball,
[0015]通过所述命令行<产品名称>

tarball面向单个产品,指示仅针对某一产品的源码构建Tarball,
[0016]通过所述命令行<产品名称>

patches完成产品的源码补丁操作,
[0017]通过所述命令行<产品名称>

download完成产品的源码获取操作。
[0018]进一步,所述的一种基于DSL的声明式源码批量构建Tarball的方法中通过系统框架采用gradlew作为执行引擎,引导执行源码批量构建Tarball的过程。
[0019]本专利技术还提供一种基于DSL的声明式源码批量构建Tarball的系统框架,所述系统框架获取并存储源码,内置DSL解析器;所述系统框架还包括源码定义模块、补丁定义模块、编译命令定义模块和执行模块,
[0020]源码定义模块根据产品需求基于DSL进行产品源码定义,利用源码定义文件支持获取产品的源码相关信息,所述源码相关信息包括产品名称、发行版本号、源码地址和源码类型,
[0021]补丁定义模块基于DSL进行产品补丁定义,构建统一目录,将相应产品的补丁文件存放至统一目录,
[0022]编译命令定义模块基于DSL进行产品的编译命令定义,利用编译命令文件记录产品的编译命令并存放至统一目录,根据产品名称区分编译命令文件对应的服务器CPU架构和操作系统,以便执行产品的源码编译构建Tarball;
[0023]执行模块提供DSL批量构建Tarball的统一命令行,根据产品名称执行命令行批量构建产品软件包Tarball。
[0024]进一步,所述的一种基于DSL的声明式源码批量构建Tarball的系统框架中所述补丁定义模块基于DSL进行产品补丁定义,包括:
[0025]通过系统框架利用版本管理工具获取产品补丁文件,并将补丁文件存放至统一目录,用于产品合并源码补丁。
[0026]进一步,所述的一种基于DSL的声明式源码批量构建Tarball的系统框架中所述执行模块提供DSL批量构建Tarball的统一命令行,包括:
[0027]构建命令行,所述命令行包括tarball、<产品名称>

tarball、<产品名称>

patches和<产品名称>

download,
[0028]通过所述命令行tarball面向所有产品,指示完成所有产品的源码批量构建Tarball,
[0029]通过所述命令行<产品名称>

tarball面向单个产品,指示仅针对某一产品的源码构建Tarball,
[0030]通过所述命令行<产品名称>

patches完成产品的源码补丁操作,
[0031]通过所述命令行<产品名称>

download完成产品的源码获取操作。
[0032]进一步,所述的一种基于DSL的声明式源码批量构建Tarball的系统框架中采用gradlew作为执行引擎,引导执行源码批量构建Tarball的过程。
[0033]本专利技术的有益之处是:
[0034]本专利技术提供一种基于DSL的声明式源码批量构建Tarball的方法,提供统一的领域专用语言DSL定义和统一命令行支持声明式源码批量构建Tarball,避免了现有源码构建Tarball时机械式操作的次数多,需要关注细节多,增加人工成本等问题,本专利技术方法执行统一命令即可实现多个本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于DSL的声明式源码批量构建Tarball的方法,其特征是建立DSL批量构建Tarball的系统框架,通过系统框架获取并存储源码,内置DSL解析器;通过系统框架根据产品需求基于DSL进行产品源码定义,利用源码定义文件支持获取产品的源码相关信息,所述源码相关信息包括产品名称、发行版本号、源码地址和源码类型,基于DSL进行产品补丁定义,构建统一目录,将相应产品的补丁文件存放至统一目录,基于DSL进行产品的编译命令定义,利用编译命令文件记录产品的编译命令并存放至统一目录,根据产品名称区分编译命令文件对应的服务器CPU架构和操作系统,以便执行产品的源码编译构建Tarball;通过系统框架提供DSL批量构建Tarball的统一命令行,根据产品名称执行命令行批量构建产品软件包Tarball。2.根据权利要求1所述的一种基于DSL的声明式源码批量构建Tarball的方法,其特征是所述基于DSL进行产品补丁定义,包括:通过系统框架利用版本管理工具获取产品补丁文件,并将补丁文件存放至统一目录,用于产品合并源码补丁。3.根据权利要求1所述的一种基于DSL的声明式源码批量构建Tarball的方法,其特征是所述通过系统框架提供DSL批量构建Tarball的统一命令行,包括:构建命令行,所述命令行包括tarball、<产品名称>

tarball、<产品名称>

patches和<产品名称>

download,通过所述命令行tarball面向所有产品,指示完成所有产品的源码批量构建Tarball,通过所述命令行<产品名称>

tarball面向单个产品,指示仅针对某一产品的源码构建Tarball,通过所述命令行<产品名称>

patches完成产品的源码补丁操作,通过所述命令行<产品名称>

download完成产品的源码获取操作。4.根据权利要求1所述的一种基于DSL的声明式源码批量构建Tarball的方法,其特征是通过系统框架采用gradlew作为执行引擎,引导执行源码批量构建Tarball的过程。5.一种基于DSL的声明式源码批量构建Tarb...

【专利技术属性】
技术研发人员:卢国庆吴波黄践焜李庆忠侯桂星
申请(专利权)人:浪潮通信信息系统有限公司
类型:发明
国别省市:

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

1