一种统一且可分类拓展的软件安装包构建方法和装置制造方法及图纸

技术编号:19744636 阅读:20 留言:0更新日期:2018-12-12 04:37
本发明专利技术实施例涉及一种统一且可分类拓展的软件安装包构建方法和装置。所述方法包括:构建公共模块,将公共模块集成在项目构建系统构建软件安装包流程中,所述公共模块中包括软件安装包脚本的公共逻辑;项目模块包括各个软件安装包自身的非公共逻辑,执行项目构建系统构建软件安装包流程,将公共模块的软件安装包脚本与项目模块的软件安装包进行拼接,组成一份完整可编译的软件安装包的代码。应用本发明专利技术实施例,能够减少了需要编写的代码量,提升软件安装包的开发和维护效率,降低成本。

【技术实现步骤摘要】
一种统一且可分类拓展的软件安装包构建方法和装置
本专利技术属于软件开发
,具体涉及一种统一且可分类拓展的软件安装包构建方法和装置。
技术介绍
目前,用于软件安装包开发的主流技术均为脚本语言,采用面向过程的软件设计方式,开发工具也往往比较简单,不能实现如VisualStudio开发工具所提供的NuGet包管理器那样方便快捷地加载可复用模块的功能。在实际应用中,需要同时维护多个不同的软件产品或同一软件产品的多个不同定制版本,采用现有的软件安装包技术,往往意味着需要同时维护多份安装包的脚本代码。编写一个符合操作系统规范的软件安装包,通常需要上百行到数百行代码,而对于包括复杂逻辑的安装包来说,其代码量会更大。由于软件安装包业务中有一些共同的操作,如判断是否同时运行多个安装包、释放/删除文件、添加/删除系统防火墙规则、创建/删除快捷方式等,这些安装包代码中有相当一部分具有较高的重合度。这种重合度一方面带来了代码的冗余,另一方面也极不利于后期的维护工作。例如,当需要修改所有安装包均有的“释放文件”的操作时,就需要修改使用该软件安装包脚本的多个不同软件和同一软件的多个不同定制版本的代码,无法做到一次性更改所有项目,需要进行机械的重复性劳动,会极大浪费人力资源,工作效率低。
技术实现思路
为了解决上述在软件安装包的开发和维护过程中无法做到一次性更改所有项目、工作效率低的技术问题,本专利技术实施例提出了一种统一且可分类拓展的软件安装包构建方法,包括如下步骤:公共模块构建步骤:构建公共模块,将公共模块集成在项目构建系统构建软件安装包流程中,所述公共模块中包括软件安装包脚本的公共逻辑;项目模块拼接步骤:项目模块包括各个软件安装包自身的非公共逻辑,执行项目构建系统构建软件安装包流程,将公共模块的软件安装包脚本与项目模块的软件安装包进行拼接,组成一份完整可编译的软件安装包的代码。进一步,所述方法还包括稳定模块存储步骤,存储稳定模块,稳定模块中包括有用于编译不同版本的软件安装包脚本的编译器以及软件安装包的多种依赖环境。进一步,软件安装包脚本的所述公共逻辑包括基本业务逻辑、公共宏库、拓展插件和UI方案。进一步,所述公共模块还包括一个或多个通过宏定义实现的功能开关,项目模块通过设置开关状态来使用相关的公共逻辑。进一步,软件安装包的公共逻辑存放在独立的代码仓库中,向项目模块提供接口。进一步,所述公共模块中定义了所有软件安装包在其生命周期主流程中需要执行的基本操作,通过所述接口供项目模块在上述定义的基本步骤上进行拓展或覆写。进一步,项目构建系统构建软件安装包时,公共模块自动搜索项目模块中是否存在有拓展代码,如果有,则添加相应的代码到流程中。进一步,所述项目模块通过关闭公共模块提供的功能开关,进行覆写。本专利技术实施例还提供一种统一且可分类拓展的软件安装包构建装置,包括:公共模块构建部件:用于构建公共模块,将公共模块集成在项目构建系统构建软件安装包流程中,所述公共模块中包括软件安装包脚本的公共逻辑;项目模块拼接部件:用于执行项目构建系统构建软件安装包流程,将公共模块的软件安装包脚本与项目模块的软件安装包进行拼接,组成一份完整可编译的软件安装包的代码,其中项目模块包括各个软件安装包自身的非公共逻辑。进一步,所述装置还包括稳定模块存储部件,用于存储稳定模块,稳定模块中包括有用于编译不同版本的软件安装包脚本的编译器以及软件安装包的多种依赖环境。本专利技术实施例还提出一种存储介质,该存储介质中存储有执行前述方法的计算机程序。本专利技术实施例还提出一种处理器,所述处理器运行执行如前所述方法的计算机程序。本专利技术的有益效果:本专利技术实施例通过系统地梳理软件安装包业务的整个流程,将原本杂糅在一起的软件安装包业务逻辑拆分为稳定模块、公共模块、项目模块,并将这三个模块存放在三个独立的代码仓库中进行开发和维护。由于公共模块提供了构建一个符合操作系统规范的软件安装包所需的全部基本逻辑,还提供了一个实用的公共宏库(包括大量可能在项目应用到的软件安装包脚本片段)和多个实用的软件安装包拓展插件(用于终止特定程序的进程、配置系统防火墙等),增强了可复用性和可拓展性。因此,项目模块通常只需要进行调用,极少出现需要自行编写新的软件安装包逻辑的情况,在项目模块中大大减少了需要编写的代码量,软件安装包的开发和维护效率有了极大的提升,成本也极大地降低。经实践验证,采用本专利技术实施例进行软件安装包开发,项目模块中需要维护的软件安装包有效代码行数最少仅需7行,通常维持在7-20行之间,最复杂的软件安装包也不会超过60行代码。由于项目模块需要编写的代码量很少,使得各软件的开发人员无需具备完整的软件安装包开发知识,只要参照基本的说明文档,就能在很短的时间内开发一个新的软件安装包。在本专利技术的实施例中,稳定模块和公共模块的开发和维护需要由深入了解软件安装包开发技术的人员负责,但随着时间的推移,公共模块的代码质量逐步优化和提高,直至趋于稳定,软件公司后面一般不需要再投入研发人员专职去维护公共模块的代码。附图说明图1是本专利技术第一实施例的统一且可分类拓展的软件安装包构建方法的流程图;图2是本专利技术实施例的方法基于软件安装包生命周期的主流程的示意图;图3是本专利技术第二实施例的统一且可分类拓展的软件安装包构建方法的流程图;图4是利用本专利技术第二实施例的统一且可分类拓展的软件安装包构建方法构建的软件安装包的逻辑结构图;图5是本专利技术第三实施例的统一且可分类拓展的软件安装包构建装置的结构框图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本专利技术进一步详细说明。但本领域技术人员知晓,本专利技术并不局限于附图和以下实施例。如图1所示,本专利技术第一实施例提出了一种统一且可分类拓展的软件安装包构建方法,将软件安装包业务逻辑进行拆分,拆分为公共模块和项目模块,包括如下步骤:公共模块构建步骤:构建公共模块,将公共模块集成在项目构建系统构建软件安装包流程中。所述项目构建系统可以是集成于Jenkins平台的项目构建系统,包括拉取代码、编译、混淆、构建软件安装包、签名、输出到指定目录等多个不同的流程。公共模块中包括软件安装包脚本的公共逻辑,包括如释放/删除文件、创建/删除快捷方式等的基本业务逻辑、公共宏库、拓展插件和UI方案等。其中,公共宏库为一个函数库,包括创建自启动项等多个功能函数,供后面的项目模块在需要时调用;拓展插件为内部开发的软件安装包插件,用于实现使用软件安装包脚本无法实现或不便于实现的功能。公共模块还包括一个或多个通过宏定义实现的功能开关,项目模块通过设置开关状态来使用相关的公共模块逻辑。例如,当项目模块中将功能开关“SWITCH_SHORTCUTS_DESKTOP”设置为“on”时,软件安装包会在桌面创建主程序的快捷方式;当设置为“off”时,则不在桌面创建主程序的快捷方式。为了确保项目模块的代码尽可能地少,每个功能开关都根据实际业务中最常使用的设置配置了一个默认值,如“SWITCH_SHORTCUTS_DESKTOP”的默认值为“on”。软件安装包的公共逻辑由公共模块统一维护,存放在一个独立的代码仓库当中,并向项目模块提供接口,供所有项目的软件安装包调用。项目模块拼接步骤:项目模块本文档来自技高网...

【技术保护点】
1.一种统一且可分类拓展的软件安装包构建方法,其特征在于,包括如下步骤:公共模块构建步骤:构建公共模块,将公共模块集成在项目构建系统构建软件安装包流程中,所述公共模块中包括软件安装包脚本的公共逻辑;项目模块拼接步骤:项目模块包括各个软件安装包自身的非公共逻辑,执行项目构建系统构建软件安装包流程,将公共模块的软件安装包脚本与项目模块的软件安装包进行拼接,组成一份完整可编译的软件安装包的代码。

【技术特征摘要】
1.一种统一且可分类拓展的软件安装包构建方法,其特征在于,包括如下步骤:公共模块构建步骤:构建公共模块,将公共模块集成在项目构建系统构建软件安装包流程中,所述公共模块中包括软件安装包脚本的公共逻辑;项目模块拼接步骤:项目模块包括各个软件安装包自身的非公共逻辑,执行项目构建系统构建软件安装包流程,将公共模块的软件安装包脚本与项目模块的软件安装包进行拼接,组成一份完整可编译的软件安装包的代码。2.如权利要求1所述的方法,其特征在于,所述方法还包括稳定模块存储步骤,存储稳定模块,稳定模块中包括有用于编译不同版本的软件安装包脚本的编译器以及软件安装包的多种依赖环境。3.如权利要求1或2所述的方法,其特征在于,软件安装包脚本的所述公共逻辑包括基本业务逻辑、公共宏库、拓展插件和UI方案。4.如权利要求3所述的方法,其特征在于,所述公共模块还包括一个或多个通过宏定义实现的功能开关,项目模块通过设置开关状态来使用相关的公共逻辑。5.如权利要求4所述的方法,其特征在于,软件安装包的公共逻辑存放在独立的代码仓库中,向项目模块提供接口。6.如权利要求5所述的方法,其特...

【专利技术属性】
技术研发人员:陈博
申请(专利权)人:广州视源电子科技股份有限公司广州视睿电子科技有限公司
类型:发明
国别省市:广东,44

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

1