一种合成应用程序源代码的方法技术

技术编号:36160107 阅读:10 留言:0更新日期:2022-12-31 20:07
一种合成应用程序源代码的方法,该方法由软件程序自动执行,包括以下步骤:S1、获取待合成应用;即获取未进行合并的且已生成动态源代码的应用;S2、通过Gitlab调用获取脚手架源代码,并将脚手架源代码存放至指定的临时文件夹下;S3、获取动态源代码的文件夹路径及文件夹下的所有文件;S4、将动态源代码中的文件复制到临时文件夹中,实现对临时文件夹中相应文件的替换或新增;S5、将上一步处理后的临时文件夹下的所有源代码通过接口调用方式,上传至Gitlab中进行管理;S6、将处理完的应用标记为己合成状态。本发明专利技术可以通过软件实现应用源代码的自动合并,节省了人力成本,执行效率大大提升,通且过定时任务或消息队列服务自动获取应用源代码合并任务,可避免人为原因导致的遗漏。漏。漏。

【技术实现步骤摘要】
一种合成应用程序源代码的方法


[0001]本专利技术涉及软件开发
,具体涉及一种合成应用程序源代码的方法。

技术介绍

[0002]随着社会科技的进步,计算机及互联网技术快速发展与日益成熟,计算机等电子终端产品已渗透到人类生活的方方面面,这些电子产品需要安装各种程序和软件才能实现相应的功能,使得人们对各种软件程序产品的依赖程度也不断提高。当今社会对软件产品的需求不断增加,使得技术人员要面对庞大的新的软件开发需求。为提高软件的生产效率、降低开发成本和缩短开发周期,出现了源代码自动生成技术,目前,一些源代码自动生成平台在提高程序员的软件开发效率、降低软件的开发强度、规范软件的开发过程等方面起到了积极的推动作用。在常规的源代码自动生成平台内,源代码一般分成两部分:脚手架源代码和实时生成的动态源代码;其中脚手架源代码主要是通用性较强的框架部分;而动态源代码则是针对某个具体的应用即时生成的与业务逻辑功能相关的代码部分;总之,一个具体应用程序的全部源代码需将此两部分源代码按照一定规范进行合并,才能得到最终可实现完整功能的完整源代码。现有技术中,两种源代码的合并主要基于人工处理,即由开发人员先通过Gitlab(一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务)手动获取脚手架源代码,再将动态源代码通过复制、粘贴等方式放至脚手架源代码内进行新增及替换操作,从而合并成应用程序的完整源代码,最终再将合并成功的完整源代码提交至Gitlab进行管理。这种合并源代码的处理方式花费时间较长,效率不高,且人工处理还容易出现遗漏。
[0003]有鉴于此,本申请旨在提供一种合成应用程序源代码的方法,可以自动将源代码自动生成平台中的脚手架源代码和动态源代码进行合并,从而提高源代码生成平台的自动化程度,节省人力。

技术实现思路

[0004]本专利技术的目的是克服现有技术的上述不足而提供一种合成应用程序源代码的方法;该方法可以由软件自动执行,即可以自动将源代码自动生成平台中的脚手架源代码和动态源代码进行合并,节省人力。
[0005]本专利技术的技术方案是:一种合成应用程序源代码的方法,该方法由软件程序自动执行,包括以下步骤:S1、获取待合成应用;即获取未进行合并的且已生成动态源代码的应用;S2、通过Gitlab调用获取脚手架源代码,并将脚手架源代码存放至指定的临时文件夹下;S3、获取动态源代码的文件夹路径及文件夹下的所有文件;S4、将动态源代码中的文件复制到临时文件夹中,实现对临时文件夹中相应文件
的替换或新增;S5、将上一步处理后的临时文件夹下的所有源代码通过接口调用方式,上传至Gitlab中进行管理;S6、将处理完的应用标记为己合成状态。
[0006]进一步的,在步骤S1中,通过定时任务或消息队列服务的方式来获取未进行合并的应用。
[0007]进一步的,在步骤S1中,将待合成源代码的应用放入数据库内,再通过消息队列消费或定时任务查询数据库获取相对应的数据进行后续的合成处理。
[0008]进一步的,在执行所述步骤S2前,先清空所述临时文件夹,所述脚手架源代码包含前端、后端及SQL脚本文件。
[0009]进一步的,在步骤S2中,所述临时文件夹根据当前时间动态生成,避免文件夹重复引发的问题。
[0010]进一步的,在步骤S4中,采用复制、粘贴操作,将动态源代码中的前端、后端、SQL脚本文件,分别替换临时文件夹下的相应文件或者添加到临时文件夹下的指定路径内。
[0011]进一步的,在步骤S4中,通过Java(一种编程语言)中的文件流方法,递归获取动态源态代码中所有文件及内容,并通过复制、粘贴或替换将文件保存至临时文件夹下的相同相对路径下。
[0012]进一步的,在所述步骤S5中,通过Gitlab的http请求找到对应应用的Git仓库并创建新的仓库分支,将合并成功后的文件夹上传至Gitlab中。
[0013]进一步的,在执行所述步骤S6前,先删除临时文件夹和保存动态源代码的文件夹,以减少服务器空间资源的占用与浪费。
[0014]与现有技术相比本专利技术的有益效果:本专利技术可以通过软件实现应用源代码的自动合并,节省了人力成本,执行效率大大提升,通且过定时任务或消息队列服务自动获取应用源代码合并任务,可避免人为原因导致的遗漏。
附图说明
[0015]图1是本专利技术的流程图。
具体实施方式
[0016]以下将结合具体实施例对本专利技术做进一步详细说明,实施例中未具体说明的方法或功能部件均为现有技术。
[0017]实施例1如图1所示,本实施例是一种合成应用程序源代码的方法,由合成程序自动执行,其核心流程包括以下步骤:S1、通过定时任务或消息队列获取待合成应用;对于待合成源代码的应用,将其放入消息队列或数据库内,再通过消息队列消费或定时任务查询数据库获取相对应的数据进行后续的合成处理。本实施列中采用Java语言下定时任务的形式进行操作,利用Java创建定时任务,并设置定时任务的循环周期为:每10秒执行一次,使本专利技术中的合成程序每10秒获取待合成源代码的应用信息。
[0018]S2、通过Gitlab调用获取脚手架源代码;在源代码自动生成平台中,一个应用的源代码分为两大部分:动态源代码和脚手架源代码,为便于代码维护与获取,脚手架源代码会放入Gitlab进行管理。本步骤中将通过Gitlab下载脚手架源代码,并存放至指定的临时文件夹下,临时文件夹可根据当前时间动态生成,避免文件夹重复引发的问题,例如临时文件夹的路径可以是:/usr/local/kepler/appGen/kepleradmin/20220101140958445。
[0019]S3、获取待合成应用的动态源代码;根据步骤S1中获得的待合成应用的信息,程序将自动获取到该应用的动态源代码保存的文件夹路径及内容。
[0020]如:/usr/local/kepler/beetlGen,其路径下的文件在生成时已按特定标准进行划分,其分为:sql(sql脚本文件夹)、web(前端程序文件夹)、admin(后端程序文件夹)。
[0021]S4、通过复制、粘贴、替换等操作合并所有源代码;本实施例中的合成程序将通过Java内的文件流方法,递归获取到动态源代码中所有的文件与内容,并通过复制、粘贴或替换将文件保存至脚手架临时文件夹下的相同相对路径下,例如:将/usr/local/kepler/beetlGen文件夹内路径为admin/kepler

appl/src/main/resources/mapper/JiZuXinXiMapper.xml的文件复制到:/usr/local/kepler/appGen/kepleradmin/20220906140958445文件夹下,相对路径地址为:admin/kepler

appl/src/main/resources/mapper/JiZuXinXiMapper.xml; 通过此操本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种合成应用程序源代码的方法,其特征在于,包括以下步骤:S1、获取待合成应用;即获取未进行合并的且已生成动态源代码的应用;S2、通过Gitlab调用获取脚手架源代码,并将脚手架源代码存放至指定的临时文件夹下;S3、获取动态源代码的文件夹路径及文件夹下的所有文件;S4、将动态源代码中的文件复制到临时文件夹中,实现对临时文件夹中相应文件的替换或新增;S5、将上一步处理后的临时文件夹下的所有源代码通过接口调用方式,上传至Gitlab中进行管理;S6、将处理完的应用标记为己合成状态。2.根据权利要求1所述的合成应用程序源代码的方法,其特征在于:在步骤S1中,通过定时任务或消息队列服务的方式来获取未进行合并的应用。3.根据权利要求1所述的合成应用程序源代码的方法,其特征在于:在步骤S1中,将待合成源代码的应用放入数据库内,再通过消息队列消费或定时任务查询数据库获取相对应的数据进行后续的合成处理。4.根据权利要求1所述的合成应用程序源代码的方法,其特征在于:在执行步骤S2前,先清空所述临时文件夹,所述脚手架源代码包含前端、后端...

【专利技术属性】
技术研发人员:赵术求李维林源
申请(专利权)人:华腾软件产业有限公司
类型:发明
国别省市:

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

1