本发明属于代码自动生成领域,具体涉及一种多处理器平台代码集中构建方法。
背景技术:
1、在自主可控推进过程中,国产处理器平台已经成为国内软件开发者的首选处理器平台,其中龙芯mips、龙芯loongarch和飞腾平台应用最为广泛。但是由于国产处理器平台种类多样、基础软件版本众多等原因,基于主流编程语言(如c/c++/qt、java)开发的大量软件面临着开发的国产处理器平台环境与交付运行时的国产处理器平台环境不同的情况。目前,多国产处理器平台下软件开发的主要处理方式是人工搭建目标国产处理器平台环境,准备编译工具链,下载本国产处理器平台和操作系统支持的依赖库,最后编译和打包成可用的执行文件。
2、针对开发和交付国产处理器平台环境不同的情况,人工搭建目标环境、准备编译工具链和相关依赖库的方法费时费力,开发人员大量的精力浪费在不同平台代码构建和适配上,开发效率低下。
技术实现思路
1、(一)要解决的技术问题
2、本发明要解决的技术问题是如何提供一种多处理器平台代码集中构建方法,以解决人工搭建目标环境、准备编译工具链和相关依赖库的方法费时费力,开发人员大量的精力浪费在不同平台代码构建和适配上,开发效率低下的问题。
3、(二)技术方案
4、为了解决上述技术问题,本发明提出一种多处理器平台代码集中构建方法,该方法包括如下步骤:
5、s1、用户在集成开发环境编写代码,并通过插件生成构建配置清单,将软件源码及构建配置清单发送给多处理器平台代码构建服务引擎;
6、s2、多处理器平台代码构建服务引擎获取集成开发环境发送过来的软件源码及构建配置清单,通过调度服务将同一份代码分发到服务器集群不同架构的平台;
7、s3、服务器集群不同架构的平台调用相应依赖库,根据用户的配置构建生成目标平台可执行文件,并将构建生成的目标平台可执行文件存放到多处理器平台代码构建服务引擎的制品仓库中。
8、(三)有益效果
9、本发明提出一种多处理器平台代码集中构建方法,具备并发和自动的处理能力,通过提交一套代码,进行自动化编译构建生成支持多种处理器平台的可执行程序,实现软件的“一次开发、跨平台编译、多平台运行”,满足软件多处理器平台下开发和运行的需求,一键式为不同处理器平台产生二进制执行包。
1.一种多处理器平台代码集中构建方法,其特征在于,该方法包括如下步骤:
2.如权利要求1所述的多处理器平台代码集中构建方法,其特征在于,集成开发环境置于开发机上,使用vscode和qtcreator两款开发工具,在此基础上增加定制化构建插件作为扩展。
3.如权利要求2所述的多处理器平台代码集中构建方法,其特征在于,集成开发环境支持新建工程、从代码仓库拉取工程和导入外来工程,其中新建工程为通过构建插件自动生成的工程格式,包含构建配置清单和构建脚本文件;从代码仓库拉取工程和导入外来工程为集成开发环境标准工程,不含构建配置清单和构建脚本文件。
4.如权利要求3所述的多处理器平台代码集中构建方法,其特征在于,构建插件分为新建工程模块、构建信息配置模块和构建过程信息显示模块;新建工程模块提供工程自动生成功能,用于生成便于多处理器平台代码集中构建的工程格式;构建信息配置模块提供目标平台指定、开发框架选择、运行环境配置功能,用于生成构建配置清单,并将构建配置清单和源代码打包后通过http协议发送给多处理器平台代码构建服务引擎;构建过程信息显示模块用于实时显示构建过程日志,使构建过程可视化。
5.如权利要求4所述的多处理器平台代码集中构建方法,其特征在于,构建插件包括:vscode插件和qtcreator插件;
6.如权利要求1-5任一项所述的多处理器平台代码集中构建方法,其特征在于,多处理器平台代码构建服务引擎包括:代码仓库、反向代理服务、应用构建服务、文件存储服务、远程安全连接服务、制品仓库管理和调度服务;
7.如权利要求6所述的多处理器平台代码集中构建方法,其特征在于,集成开发环境直接从代码仓库拉取代码,当集成开发环境向代码仓库提交代码时,需经过构建验证后,通过多处理器平台代码构建服务引擎调度服务提交。
8.如权利要求6所述的多处理器平台代码集中构建方法,其特征在于,当用户需要构建完成的二进制制品文件作为私有依赖时,在开发机向制品仓库拉取。
9.如权利要求6所述的多处理器平台代码集中构建方法,其特征在于,调度服务具体包括:首先,通过解析构建配置信息获取构建任务,将多个平台的集中构建任务拆解到具体处理器平台上;其次,在服务器集群查找目标构建服务器,并将代码和构建脚本分发至目标构建服务器;然后,执行构建脚本,触发构建服务器上的构建任务,并实时显示构建过程信息;最后,构建成功后,将构建出的二进制制品上传至制品仓库。
10.如权利要求6所述的多处理器平台代码集中构建方法,其特征在于,服务器集群包含龙芯mips、龙芯loongarch和飞腾三种国产处理器平台及相应平台的依赖库,提供龙芯mips、龙芯loongarch和飞腾三种国产处理器平台的编译工具链和软件在这三种平台上必需的基础运行和开发支撑库。
