用于在多仓库环境下动态构建项目架构的实现方法、操作方法及装置制造方法及图纸

技术编号:23049326 阅读:45 留言:0更新日期:2020-01-07 14:39
本发明专利技术公开了一种用于在多仓库环境下动态构建项目架构的实现方法,其包括:响应于接收到的执行指令,获取预先配置的自定义清单文件进行解析,生成解析结果;根据解析结果获取工程代码,构建项目架构。本发明专利技术还提供了一种用于在多仓库环境下动态构建项目架构的装置和操作方法,根据本发明专利技术的装置和方法,可以通过解析自定义清单文件来实现项目架构的构建,能够满足用户的不同构建需求,方便灵活。另外,本发明专利技术还提供了解决多仓库管理难题的解决方案。

Implementation method, operation method and device for dynamically building project architecture in multi warehouse environment

【技术实现步骤摘要】
用于在多仓库环境下动态构建项目架构的实现方法、操作方法及装置
本专利技术涉及项目管理
,特别是一种用于在多仓库环境下动态构建项目架构的实现方法、操作方法及装置。
技术介绍
Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。Git仓库一般包括仓库目录和工作目录,仓库目录用于保存项目工程的历史信息和修改记录,而工作目录则用于保存项目工程的当前版本信息。对于传统的开发,一个项目工程的Git仓库目录(默认为.git目录)是位于工作目录下的,但随着人们需求的多样化和项目工程的复杂化发展,项目工程逐渐向多仓库形式发展,而由于Git本身还支持将一个项目工程的Git仓库目录和工作目录分开存放,因而就产生了同一项目工程包括多个Git仓库,而不同的Git仓库的仓库目录和工作目录既有分开存放的,也有仓库目录是存放于工作目录下的。Git虽然能够有效实现项目版本管理,但其针对的是单仓库的管理,而针对多仓库的项目工程,如何有效方便地实现对多个Git仓库的管理日渐成为亟待解决的难题。另外,目前的版本控制系统在进行项目架构构建时,都是基于特定的配置操作来借助版本控制系统本身提供的功能来实现项目架构的构建,并不能根据用户的需求灵活构建所需的项目架构,这对于日益丰富和复杂的项目开发需求,极为不便。
技术实现思路
本专利技术的其中一个目的在于提供一种能够根据用户的需求,自定义实现项目架构构建的解决方案,以灵活动态构建所需的项目架构,解决开发过程中无法定制化项目架构的缺陷。r>本专利技术的另一目的还在于提供一种能够动态地对同一项目工程的多个Git仓库进行管理,以根据需求方便快速地构建项目架构的技术方案,以实现对多仓库的统一管理。根据本专利技术的第一方面,提供了一种用于在多仓库环境下动态构建项目架构的实现方法,其包括:响应于接收到的执行指令,获取预先配置的自定义清单文件进行解析,生成解析结果;根据解析结果获取工程代码,构建项目架构。通过解析自定义清单文件来实现项目架构的构建,能够满足用户的不同构建需求,方便灵活。在一些实施方式中,自定义清单文件包括用于定义Git仓库信息的节点,该节点由Git仓库信息元素组成,每个节点对应一个Git仓库。基于自定义清单文件来定义需要构建的Git仓库,可以实现对Git仓库的动态、按需构建,而且将每个节点对应一个Git仓库,也方便进行解析,实现简单,解析效率高。在一些实施方式中,Git仓库信息元素包括Git仓库地址、Git仓库分支和Git仓库路径,解析结果包括自定义清单文件中的各Git仓库的信息元素及其内容,根据解析结果获取工程代码,构建项目架构包括:通过解析出的Git仓库地址获取各Git仓库的工程代码;根据解析出的Git仓库分支和Git仓库路径对获取的各Git仓库的工程代码中的gradle文件进行整合,生成用于整合后的gradle文件;执行生成的整合后的gradle文件,以基于自定义清单文件构建出项目架构。由此,可以通过在自定义清单文件中配置多个所需的Git仓库,并基于解析结果对多个Git仓库的工程代码的编译脚本进行整合拼接处理,进而使得多仓库的动态项目构建成为可能,解决大型项目模块化管理时,项目构建和切换困难的缺陷,提高大型项目的管理和研发效率。在一些实施方式中,Git仓库信息元素还包括Git仓库标识,构建出的项目架构包括与清单文件中的节点一一对应的多个Git仓库,各Git仓库通过Git仓库标识来命名。由此,可以方便地管理和标识Git仓库,提升用户体验和开发效率。在一些实施方式中,自定义清单文件中还包括用于定义构建模式的操作指令,构建模式包括新建和更新。通过在自定义清单文件中进一步定义构建模式,可以实现对当前项目工程的动态切换或更新,更进一步满足用户的不同构建需求,操作简单,效率高,为用户节省大量的时间。根据本专利技术的第二个方面,提供了一种用于在多仓库环境下动态构建项目架构的操作方法,其包括:根据需求在需要进行构建的当前项目环境中配置自定义清单文件;在需要进行构建的当前项目环境中配置脚本文件,所述脚本文件用于实现以下功能:响应于执行指令,获取配置的自定义清单文件进行解析,并根据解析结果构建项目架构;点击运行配置好的脚本文件,实现对当前项目环境的项目架构的动态构建。通过配置自定义清单文件并配置构建脚本文件,能够实现按需一键化定制构建,可重复性高,大幅提升项目构建的效率。根据本专利技术的第三个方面,提供了一种用于在多仓库环境下动态构建项目架构的装置,其包括配置模块,用于定义和存储需要获取的Git仓库的信息;和构建模块,用于响应于接收到的执行指令,获取配置模块的内容进行解析,并根据解析结果构建项目架构。由此,可以通过配置模块来定义存储需要构建的Git仓库的信息,并基于构建模块来解析该配置信息,并基于解析结果来进行处理,实现定制化项目架构构建,满足用户不同的需求。在一些实施方式中,构建模块包括代码获取单元,用于对配置模块的内容进行解析,根据解析结果获取配置的各Git仓库的工程代码,并对各Git仓库的gradle文件进行整合,生成整合后的gradle文件;和编译单元,用于调用所述生成的整合后的gradle文件,执行编译过程,构建生成项目架构。基于解析结果和获取的Git仓库的工程代码来对多仓库场景下的编译文件进行拼接整合,使得多仓库的动态项目架构构建的实现成为可能,有效解决大型项目特别是模块化或定制化项目工程的版本管理问题,使得实时高效切换项目架构成为可能,大大提升研发的效率和便捷性。根据本专利技术的第四个方面,提供了一种电子设备,其包括:至少一个处理器,以及与至少一个处理器通信连接的存储器,其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述方法的步骤。根据本专利技术的第五个方面,提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。附图说明图1为本专利技术一实施方式的用于在多仓库环境下动态构建项目架构的实现方法的方法流程图;图2为图1所示的方法中的构建项目架构的方法流程图;图3为本专利技术一实施方式的用于在多仓库环境下动态构建项目架构的操作方法的方法流程图;图4为本专利技术另一种实施方式的用于在多仓库环境下动态构建项目架构的装置框图;图5为本专利技术一种实施方式的电子设备的框图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。本专利技术可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模本文档来自技高网...

【技术保护点】
1.用于在多仓库环境下动态构建项目架构的实现方法,其特征在于,包括/n响应于接收到的执行指令,获取预先配置的自定义清单文件进行解析,生成解析结果;/n根据所述解析结果获取工程代码,构建项目架构。/n

【技术特征摘要】
1.用于在多仓库环境下动态构建项目架构的实现方法,其特征在于,包括
响应于接收到的执行指令,获取预先配置的自定义清单文件进行解析,生成解析结果;
根据所述解析结果获取工程代码,构建项目架构。


2.根据权利要求1所述的实现方法,其特征在于,所述自定义清单文件包括用于定义Git仓库信息的节点,所述节点由Git仓库信息元素组成,每个节点对应一个Git仓库。


3.根据权利要求2所述的方法,其特征在于,所述Git仓库信息元素包括Git仓库地址、Git仓库分支和Git仓库路径,所述解析结果包括所述自定义清单文件中的各Git仓库的信息元素及其内容,所述根据所述解析结果获取工程代码,构建项目架构包括
通过解析出的Git仓库地址获取各Git仓库的工程代码;
根据解析出的Git仓库分支和Git仓库路径对获取的各Git仓库的工程代码中的gradle文件进行整合,生成用于整合后的gradle文件;
执行生成的整合后的gradle文件,以基于所述自定义清单文件构建出项目架构。


4.根据权利要求3所述的方法,其特征在于,所述Git仓库信息元素还包括Git仓库标识,所述构建出的项目架构包括与清单文件中的节点一一对应的多个Git仓库,各Git仓库通过所述Git仓库标识来命名。


5.根据权利要求1至4任一项所述的方法,其特征在于,所述自定义清单文件中还包括用于定义构建模式的操作指令,所述构建模式包括新建和更新。


6.用于在多仓库环境下...

【专利技术属性】
技术研发人员:曾春华李毅昌周良帅蔡志成
申请(专利权)人:苏州思必驰信息科技有限公司
类型:发明
国别省市:江苏;32

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

1