CN115857962A - 软件项目处理方法、装置、电子设备以及可读存储介质 - Google Patents
软件项目处理方法、装置、电子设备以及可读存储介质 Download PDFInfo
- Publication number
- CN115857962A CN115857962A CN202310135245.4A CN202310135245A CN115857962A CN 115857962 A CN115857962 A CN 115857962A CN 202310135245 A CN202310135245 A CN 202310135245A CN 115857962 A CN115857962 A CN 115857962A
- Authority
- CN
- China
- Prior art keywords
- software
- project
- software project
- item
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本申请实施例公开了一种软件项目处理方法、装置、电子设备以及可读存储介质,包括:获取包括多个存储在同一工作空间内的软件项目;响应针对所述软件项目的修改操作,更新所述软件项目的版本信息;基于更新后的版本信息,对更新的软件项目进行编译及运行,并将编译及运行的软件项目发送至服务器,以便服务器生成并返回符合预设规范的项目文件;在共享界面中展示所述项目文件。该方案可以提高软件发布的效率。
Description
技术领域
本申请涉及信息处理技术领域,具体涉及一种软件项目处理方法、装置、电子设备以及可读存储介质。
背景技术
在目前的程序开发项目管理方式中,通常会将多个代码模块存储在一个代码仓库进行管理,其通过将各包统一收敛在单个仓库中,在上层统一统筹管理各个软件项目的依赖、构建、开发/调试、测试、版本、发布,提供更优雅的多包管理和协作方案。
随着软件项目逐渐复杂,多包管理变得复杂,尤其是管理项目依赖和软件包发布。在目前的管理方式中,只能识别特定的文件,在发布软件包时,需要逐个修改软件包的版本号,可见,目前的发布流程繁琐,导致发布效率低下。
发明内容
鉴于此,本申请提供一种软件项目处理方法、装置、电子设备以及可读存储介质,可以简化软件项目处理流程,提高软件发布的效率。
本申请提供一种软件项目处理方法,包括:
获取包括多个存储在同一工作空间内的软件项目;
响应针对所述软件项目的修改操作,更新所述软件项目的版本信息;
基于更新后的版本信息,对更新的软件项目进行编译及运行,并将编译及运行的软件项目发送至服务器,以便服务器生成并返回符合预设规范的项目文件;
在共享界面中展示所述项目文件。
可选地,在本申请的一些实施例中,所述响应针对所述软件项目的修改操作,更新所述软件项目的版本信息,包括:
响应针对所述软件项目的修改操作,获取脚本文件;
运行所述脚本文件时,对所述软件项目的代码进行修改和/或对所述软件项目的关联关系的代码进行修改,并更新所述软件项目的版本号。
可选地,在本申请的一些实施例中,所述基于更新后的版本信息,对更新的软件项目进行编译及运行,包括:
将更新后的版本信息与存储在所述工作空间的版本信息进行比对;
当更新后的版本信息与存储在所述工作空间的版本信息不同时,则对更新的软件项目进行编译及运行。
可选地,在本申请的一些实施例中,还包括:
响应于发布操作,从所述工作空间内获取所述发布操作对应的软件项目的名称以及所述软件项目的版本号;
根据所述名称和版本号,发布所述软件项目。
可选地,在本申请的一些实施例中,所述根据所述名称和版本号,发布所述软件项目,包括:
检测所述软件项目的代码是否正确;
当检测到所述软件项目的代码正确时,发布所述软件项目;
当检测到所述软件项目的代码错误时,获取所述软件项目对应的历史版本号,且当检测到所述软件项目对应的历史版本号正确时,发布所述软件项目。
可选地,在本申请的一些实施例中,还包括:
确定所述软件项目中多个软件包之间的关联关系,所述关联关系为所述软件包依赖的依赖包与所述软件包之间的关系;
根据所述关联关系将所述依赖包安装至所述软件项目的项目目录中;
所述将编译及运行的软件项目发送至服务器,以便服务器生成并返回符合预设规范的项目文件,包括:将编译及运行的软件项目以及所述软件项目对应的项目目录发送至服务器,以便服务器生成并返回符合预设规范的项目文件。
相应的,本申请还提供一种软件项目处理装置,包括:
获取模块,用于获取包括多个存储在同一工作空间内的软件项目;
更新模块,用于响应针对所述软件项目的修改操作,更新所述软件项目的版本信息;
编译模块,用于基于更新后的版本信息,对更新的软件项目进行编译及运行;
发送模块,用于将编译及运行的软件项目发送至服务器,以便服务器生成并返回符合预设规范的项目文件;
展示模块,用于在共享界面中展示所述项目文件。
可选地,在本申请的一些实施例中,所述更新模块包括:
获取单元,用于响应针对所述软件项目的修改操作,获取脚本文件;
更新单元,用于运行所述脚本文件时,对所述软件项目的代码进行修改和/或对所述软件项目的关联关系的代码进行修改,并更新所述软件项目的版本号。
本申请还提供一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行上述实施例的软件项目处理方法的步骤。
本申请还提供一种可读存储介质,可读存储介质存储有计算机程序,计算机程序在被处理器执行时实现上述方法。
本申请提供一种软件项目处理方法、装置、电子设备以及可读存储介质,该软件项目处理方法包括:获取包括多个存储在同一工作空间内的软件项目,响应针对所述软件项目的修改操作,更新所述软件项目的版本信息,基于更新后的版本信息,对更新的软件项目进行编译及运行,并将编译及运行的软件项目发送至服务器,以便服务器生成并返回符合预设规范的项目文件,在共享界面中展示所述项目文件,本申请提供的软件发布方案在发布软件时,无需逐个修改软件包的版本号,由此,可以简化软件发布的流程,进而提高软件发布的效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的软件项目处理方法的场景示意图;
图2是本申请实施例提供的软件项目处理方法的流程示意图;
图3是本申请实施例提供的软件项目处理装置的结构示意图;
图4是本申请实施例提供的软件项目处理装置的另一结构示意图。
具体实施方式
下面结合附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而非全部实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。在不冲突的情况下,下述各个实施例及其技术特征可以相互组合。
应当理解,尽管在本文可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本文范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语"如果"可以被解释成为"在……时"或"当……时"或"响应于确定"。再者,如同在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示。应当进一步理解,术语“包含”、“包括”表明存在所述的特征、步骤、操作、元件、组件、项目、种类、和/或组,但不排除一个或多个其他特征、步骤、操作、元件、组件、项目、种类、和/或组的存在、出现或添加。本申请使用的术语“或”、“和/或”、“包括以下至少一个”等可被解释为包括性的,或意味着任一个或任何组合。例如,“包括以下至少一个:A、B、C”意味着“以下任一个:A;B;C;A和B;A和C;B和C;A和B和C”,再如,“A、B或C”或者“A、B和/或C”意味着“以下任一个:A;B;C;A和B;A和C;B和C;A和B和C”。仅当元件、功能、步骤或操作的组合在某些方式下内在地互相排斥时,才会出现该定义的例外。
应该理解的是,虽然本申请实施例中的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
需要说明的是,在本文中,采用了诸如101、102等步骤代号,其目的是为了更清楚简要地表述相应内容,不构成顺序上的实质性限制,本领域技术人员在具体实施时,可能会先执行101后执行102等,但这些均应在本申请的保护范围之内。
本申请提供一种软件项目处理方法、装置、电子设备和可读存储介质。
其中,该软件项目处理装置具体可以集成在服务器中,服务器可以包括一个独立运行的服务器或者分布式服务器,也可以包括由多个服务器组成的服务器集群,服务器可以通过有线或无线的方式与电子设备进行连接,电子设备可以包括手机、平板电脑或个人计算机(PC,Personal Computer)。
例如,请参阅图1,本申请提供一种软件项目处理装置,该软件项目处理装置集成在电子设备a中,电子设备a与服务器S连接,电子设备a获取包括多个存储在同一工作空间内的软件项目后,响应针对软件项目的修改操作,更新软件项目的版本信息,紧接着,电子设备a基于更新后的版本信息,对更新的软件项目进行编译及运行,并将编译及运行的软件项目发送至服务器S,以便服务器S生成并返回符合预设规范的项目文件,最后,电子设备a在共享界面中展示该项目文件。
本申请提供的软件发布方案在发布软件时,无需逐个修改软件包的版本号,由此,可以简化软件发布的流程,进而提高软件发布的效率。
以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优先顺序的限定。
一种软件项目处理方法,包括:获取包括多个存储在同一工作空间内的软件项目;响应针对软件项目的修改操作,更新软件项目的版本信息;基于更新后的版本信息,对更新的软件项目进行编译及运行,并将编译及运行的软件项目发送至服务器,以便服务器生成并返回符合预设规范的项目文件;在共享界面中展示项目文件。
请参阅图2,图2为本申请实施例提供的软件项目处理方法的流程示意图。该软件项目处理方法的具体流程可以如下:
101、获取包括多个存储在同一工作空间内的软件项目。
其中,工作空间又称多项目存储库(workspace),工作空间可以理解为存储软件项目的仓库,在该工作空间中可以存储有多个不同的项目,也可以存储有多个不同版本的项目,当然,也可以只存储一个项目。
其通过将各软件包统一收敛在单个仓库中,在上层统一统筹管理各个软件项目的依赖、构建、开发/调试、测试、版本、发布,提供更优雅的多包管理和协作方案。
102、响应针对软件项目的修改操作,更新软件项目的版本信息。
其中,在软件发布之前,运维人员可以根据实际需求,对软件项目进行修改,版本信息具体可以包括主版本号、次版本号和修订号,其中,主版本号为操作不兼容的API修改,次版本号为操作向下兼容的功能性新增,修订号为操作向下兼容的问题修正。
具体的,可以通过运行文件执行自动化流程以实现响应代码,从而更新软件项目的版本信息,即,可选地,在一些实施例中,步骤“响应针对软件项目的修改操作,更新软件项目的版本信息”,具体可以包括:
(11)响应针对软件项目的修改操作,获取脚本文件;
(12)运行脚本文件时,对软件项目的代码进行修改和/或对软件项目的关联关系的代码进行修改,并更新软件项目的版本号。
例如,具体的,可以运行脚本文件以响应子项目的代码修改,和/或对软件项目的关联关系的代码进行修改,并更新软件项目的版本,随后,可以对更新的软件项目进行编译,即,执行步骤103。
103、基于更新后的版本信息,对更新的软件项目进行编译及运行,并将编译及运行的软件项目发送至服务器,以便服务器生成并返回符合预设规范的项目文件。
在获取到软件项目更新后的版本信息后,利用编译脚本对更新的软件项目进行编译及运行,需要说明的是,由于大量的软件包以及软件项目可以存储在工作空间,并且,不同的用户可以将其构建的软件包存储在工作空间中,为了防止重复编译导致计算资源的浪费,因此,在编译前,可以检验更新后的版本信息与工作空间的版本信息是否相同,并基于比对结果对更新的软件项目进行编译及运行,即,可选地,在一些实施例中,步骤“基于更新后的版本信息,对更新的软件项目进行编译及运行”,具体可以包括:
(21)将更新后的版本信息与存储在工作空间的版本信息进行比对;
(22)当更新后的版本信息与存储在工作空间的版本信息不同时,则对更新的软件项目进行编译及运行。
编译(compilation , compile) :1、利用编译程序从源语言编写的源程序产生目标程序的过程。 2、用编译程序产生目标程序的动作。编译就是把高级语言变成计算机可以识别的2进制语言,计算机只认识1和0,编译程序把人们熟悉的语言换成2进制的。编译程序把一个源程序翻译成目标程序的工作过程分为五个阶段:词法分析;语法分析;语义检查和中间代码生成;代码优化;目标代码生成。主要是进行词法分析和语法分析,又称为源程序分析,分析过程中发现有语法错误,给出提示信息。
在对更新的软件项目进行编译及运行后,将运行后的软件项目发送至服务器,并由配置在服务器中的日志插件,生成符合预设规范的项目文件,该项目文件包括软件项目对应的代码、软件项目的版本号以及软件项目更新的内容等等,不同的项目文件均按照同样的格式进行输出,即项目文件A和项目文件B的区别是文件内容不同,其格式排布是相同的。按照预设规范约束项目文件的格式,便于用户查看版本日志、查看更新内容、问题定位以及代码回退。
可选地,在一些实施例中,本申请的软件项目处理方法具体还可以包括:
(31)确定软件项目中多个软件包之间的关联关系;
(32)根据关联关系将依赖包安装至软件项目的项目目录中。
其中,关联关系为软件包依赖的依赖包与软件包之间的关系,步骤“将编译及运行的软件项目发送至服务器,以便服务器生成并返回符合预设规范的项目文件”,具体可以包括:将编译及运行的软件项目以及软件项目对应的项目目录发送至服务器,以便服务器生成并返回符合预设规范的项目文件。
需要说明的是,一个软件项目可以包括多个软件包,软件包(package)是软件设计思想之一是模块化思想,即不同功能的代码分别存放到不同的文件、类中,每个文件、类都是一个单一功能的模块。软件包是模块化思想一种体现,即将单一功能的代码划分为一个软件包,其他模块可以引用这个软件包,做到提高代码复用率,同时降低代码的维护成本。软件包依赖是指一个软件包的生效需要另外一个软件包作为基础。软件包依赖从运行时机上分为开发环境依赖(devDependencies)和生产环境依赖(dependencies)。开发环境依赖是指在项目软件开发时需要的软件包;生产环境依赖是指在项目真正运行时需要的软件包。软件包依赖从软件包所有者上分为外部依赖和内部依赖,其中,外部依赖是其他人开发和维护的软件包,内部依赖是开发者自己开发的软件包,是项目组内部开发使用的软件包。
当开发者开发多包工程时,如工程包含一个核心包和多个辅助功能包。核心包一般会引用其他辅助功能包,即工程内部存在依赖关系(内部依赖)。使用lerna时需要需要lernalink指令来关联内部依赖包。内部依赖管理会复杂,尤其是在TypeScript软件包里,经常出现找不到内部依赖而导致项目报错的情况。lerna开源工具仅仅给出一个目录结构示例,各个软件包的工程化处理未实现,尤其是编译管理。但是在前端开发编译管理(如使用webpack或者rollup编译javascript和TypeScript代码)是必须的流程。
104、在共享界面中展示项目文件。
例如,具体的,在接收到服务器返回的项目文件时,可以触发针对项目文件的展示指令,根据该展示指令,输出共享界面,并在该共享界面中展示项目文件,便于其他用户获取到项目文件的相关信息,如,用户u1对软件项目修改后得到项目文件a1,用户u2对软件项目修改后得到a2,用户u1对应的终端c1可以将该项目文件a1上传至文件共享平台中展示,用户u2对应的终端c2可以将该项目文件a2上传至文件共享平台中展示,用户u1即可以在该文件共享平台中获取到项目文件a1的信息,又可以在该文件共享平台中获取到项目文件a2的信息;同样的,用户u2即可以在该文件共享平台中获取到项目文件a1的信息,又可以在该文件共享平台中获取到项目文件a2的信息,由此,可以实现项目文件的信息共享,并且,项目文件在共享时,用户可以获知该项目文件的修改是补丁、小更改、大更改还是自定更改,可以减少用户之间的沟通成本,便于软件项目的发布,由此,提高了软件项目的发布效率。
可选地,在一些实施例中,本申请提供的软件项目处理方法具体还可以包括:
(41)响应于发布操作,从工作空间内获取发布操作对应的软件项目的名称以及软件项目的版本号;
(42)根据名称和版本号,发布软件项目。
例如,具体的,用户可以选定待发布的软件项目的名称以及版本号,如手动输入或者是通过勾选的方式,响应于该发布操作,获取名称和版本号对应的软件项目,并发布该软件项目。
可以理解的是,在用户执行发布操作时,可能会出现用户期望发布的软件项目的代码不满足发布要求,故,在发布时,还需要对其代码进行检测,即,可选地,在一些实施例中,步骤“根据名称和版本号,发布软件项目”,具体可以包括:
(51)检测软件项目的代码是否正确;
(52)当检测到软件项目的代码正确时,发布软件项目;
(53)当检测到软件项目的代码错误时,获取软件项目对应的历史版本号,且当检测到软件项目对应的历史版本号正确时,发布软件项目。
例如,发布操作对应的软件项目的版本为V5版本,当检测到该软件项目的代码存在错误导致软件项目出现漏洞时,则检测软件项目的每个软件包对应的历史版本,比如,V5版本的软件项目包括软件包a、软件包b以及软件包c,在V5版本的软件项目下,软件包a的代码正确,软件包b的代码正确,而软件包c的代码错误,则将软件包c的代码回退至正确版本的代码,并基于软件包a、软件包b以及回退版本后的软件包c,发布软件项目。
以上完成本申请的软件项目处理流程。
本申请提供的软件项目处理方法,在获取包括多个存储在同一工作空间内的软件项目后,响应针对软件项目的修改操作,更新软件项目的版本信息,然后,基于更新后的版本信息,对更新的软件项目进行编译及运行,并将编译及运行的软件项目发送至服务器,以便服务器生成并返回符合预设规范的项目文件,最后,在共享界面中展示项目文件,本申请提供的软件发布方案在发布软件时,无需逐个修改软件包的版本号,由此,可以简化软件发布的流程,进而提高软件发布的效率。
请参阅图3,图3为本申请实施例提供的软件项目处理装置的结构示意图,其中,该软件项目处理装置具体可以包括:获取模块301、更新模块302、编译模块303、发送模块304以及展示模块305,具体可以如下:
获取模块301,用于获取包括多个存储在同一工作空间内的软件项目。
其中,工作空间又称多项目存储库(workspace),工作空间可以理解为存储软件项目的仓库,在该工作空间中可以存储有多个不同的项目,也可以存储有多个不同版本的项目,当然,也可以只存储一个项目。
更新模块302,用于响应针对软件项目的修改操作,更新软件项目的版本信息。
具体的,可以通过运行文件执行自动化流程以实现响应代码,从而更新软件项目的版本信息,即,可选地,在一些实施例中,更新模块302具体可以包括:
获取单元,用于响应针对软件项目的修改操作,获取脚本文件;
更新单元,用于运行脚本文件时,对软件项目的代码进行修改和/或对软件项目的关联关系的代码进行修改,并更新软件项目的版本号。
编译模块303,用于基于更新后的版本信息,对更新的软件项目进行编译及运行。
可选地,在一些实施例中,编译模块303具体可以用于:将更新后的版本信息与存储在工作空间的版本信息进行比对;当更新后的版本信息与存储在工作空间的版本信息不同时,则对更新的软件项目进行编译及运行。
发送模块304,用于将编译及运行的软件项目发送至服务器,以便服务器生成并返回符合预设规范的项目文件。
展示模块305,用于在共享界面中展示项目文件。
可选地,在一些实施例中,本申请的软件项目处理装置具体还可以包括安装模块,该安装模块具体可以用于:确定软件项目中多个软件包之间的关联关系;根据关联关系将依赖包安装至软件项目的项目目录中。
可选地,在一些实施例中,请参阅图4,本申请的软件项目处理装置具体还可以包括检测模306,该检测模块306可以用于:响应于发布操作,从工作空间内获取发布操作对应的软件项目的名称以及软件项目的版本号;根据名称和版本号,发布软件项目。
可选地,在一些实施例中,该检测模块306具体可以用于:检测软件项目的代码是否正确;当检测到软件项目的代码正确时,发布软件项目;当检测到软件项目的代码错误时,获取软件项目对应的历史版本号,且当检测到软件项目对应的历史版本号正确时,发布软件项目。
本申请提供的软件项目处理方法,获取模块301在获取包括多个存储在同一工作空间内的软件项目后,响应针对软件项目的修改操作,更新模块302更新软件项目的版本信息,然后,编译模块303基于更新后的版本信息,对更新的软件项目进行编译及运行,再然后,发送模块304将编译及运行的软件项目发送至服务器,以便服务器生成并返回符合预设规范的项目文件,最后,展示模块305在共享界面中展示项目文件,本申请提供的软件发布方案在发布软件时,无需逐个修改软件包的版本号,由此,可以简化软件发布的流程,进而提高软件发布的效率。
本申请还提供一种电子设备,电子设备包括存储器、处理器,存储器上存储有界面处理程序,界面处理程序被处理器执行时实现上述任一实施例中的界面处理方法的步骤。
本申请还提供一种可读存储介质,可读存储介质上存储有界面处理程序,界面处理程序被处理器执行时实现上述任一实施例中的界面处理方法的步骤。
在本申请提供的电子设备和可读存储介质的实施例中,可以包含任一上述界面处理方法实施例的全部技术特征,说明书拓展和解释内容与上述方法的各实施例基本相同,在此不做再赘述。
本申请实施例还提供一种计算机程序产品,计算机程序产品包括计算机程序代码,当计算机程序代码在计算机上运行时,使得计算机执行如上各种可能的实施方式中的方法。
本申请实施例还提供一种芯片,包括存储器和处理器,存储器用于存储计算机程序,处理器用于从存储器中调用并运行计算机程序,使得安装有芯片的设备执行如上各种可能的实施方式中的方法。
可以理解,上述场景仅是作为示例,并不构成对于本申请实施例提供的技术方案的应用场景的限定,本申请的技术方案还可应用于其他场景。例如,本领域普通技术人员可知,随着***架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本申请实施例设备中的单元可以根据实际需要进行合并、划分和删减。
在本申请中,对于相同或相似的术语概念、技术方案和/或应用场景描述,一般只在第一次出现时进行详细描述,后面再重复出现时,为了简洁,一般未再重复阐述,在理解本申请技术方案等内容时,对于在后未详细描述的相同或相似的术语概念、技术方案和/或应用场景描述等,可以参考其之前的相关详细描述。
在本申请中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本申请技术方案的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本申请记载的范围。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,被控终端,或者网络设备等)执行本申请每个实施例的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络,或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、存储盘、磁带)、光介质(例如,DVD),或者半导体介质(例如固态存储盘Solid State Disk (SSD))等。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种软件项目处理方法,其特征在于,包括:
获取包括多个存储在同一工作空间内的软件项目;
响应针对所述软件项目的修改操作,更新所述软件项目的版本信息;
基于更新后的版本信息,对更新的软件项目进行编译及运行,并将编译及运行的软件项目发送至服务器,以便服务器生成并返回符合预设规范的项目文件;
在共享界面中展示所述项目文件。
2.根据权利要求1所述的方法,其特征在于,所述响应针对所述软件项目的修改操作,更新所述软件项目的版本信息,包括:
响应针对所述软件项目的修改操作,获取脚本文件;
运行所述脚本文件时,对所述软件项目的代码进行修改和/或对所述软件项目的关联关系的代码进行修改,并更新所述软件项目的版本号。
3.根据权利要求1所述的方法,其特征在于,所述基于更新后的版本信息,对更新的软件项目进行编译及运行,包括:
将更新后的版本信息与存储在所述工作空间的版本信息进行比对;
当更新后的版本信息与存储在所述工作空间的版本信息不同时,则对更新的软件项目进行编译及运行。
4.根据权利要求1至3任一项所述的方法,其特征在于,还包括:
响应于发布操作,从所述工作空间内获取所述发布操作对应的软件项目的名称以及所述软件项目的版本号;
根据所述名称和版本号,发布所述软件项目。
5.根据权利要求4所述的方法,其特征在于,所述根据所述名称和版本号,发布所述软件项目,包括:
检测所述软件项目的代码是否正确;
当检测到所述软件项目的代码正确时,发布所述软件项目;
当检测到所述软件项目的代码错误时,获取所述软件项目对应的历史版本号,且当检测到所述软件项目对应的历史版本号正确时,发布所述软件项目。
6.根据权利要求1至3任一项所述的方法,其特征在于,还包括:
确定所述软件项目中多个软件包之间的关联关系,所述关联关系为所述软件包依赖的依赖包与所述软件包之间的关系;
根据所述关联关系将所述依赖包安装至所述软件项目的项目目录中;
所述将编译及运行的软件项目发送至服务器,以便服务器生成并返回符合预设规范的项目文件,包括:将编译及运行的软件项目以及所述软件项目对应的项目目录发送至服务器,以便服务器生成并返回符合预设规范的项目文件。
7.一种软件项目处理装置,其特征在于,包括:
获取模块,用于获取包括多个存储在同一工作空间内的软件项目;
更新模块,用于响应针对所述软件项目的修改操作,更新所述软件项目的版本信息;
编译模块,用于基于更新后的版本信息,对更新的软件项目进行编译及运行;
发送模块,用于将编译及运行的软件项目发送至服务器,以便服务器生成并返回符合预设规范的项目文件;
展示模块,用于在共享界面中展示所述项目文件。
8.根据权利要求7所述的装置,其特征在于,所述更新模块包括:
获取单元,用于响应针对所述软件项目的修改操作,获取脚本文件;
更新单元,用于运行所述脚本文件时,对所述软件项目的代码进行修改和/或对所述软件项目的关联关系的代码进行修改,并更新所述软件项目的版本号。
9.一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述软件项目处理方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质存储有计算机程序,所述计算机程序在被处理器执行时实施权利要求1至6中任一项所述的软件项目处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310135245.4A CN115857962A (zh) | 2023-02-20 | 2023-02-20 | 软件项目处理方法、装置、电子设备以及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310135245.4A CN115857962A (zh) | 2023-02-20 | 2023-02-20 | 软件项目处理方法、装置、电子设备以及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115857962A true CN115857962A (zh) | 2023-03-28 |
Family
ID=85658433
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310135245.4A Pending CN115857962A (zh) | 2023-02-20 | 2023-02-20 | 软件项目处理方法、装置、电子设备以及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115857962A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110283252A1 (en) * | 2010-05-11 | 2011-11-17 | Microsoft Corporation | Change notification and information update based on uncompiled software development project |
CN110442371A (zh) * | 2019-08-05 | 2019-11-12 | 武汉斗鱼网络科技有限公司 | 一种发布代码的方法、装置、介质及计算机设备 |
CN111694592A (zh) * | 2020-06-24 | 2020-09-22 | 深圳壹账通智能科技有限公司 | 项目版本发布的管理方法以及*** |
CN112558980A (zh) * | 2020-12-15 | 2021-03-26 | 建信金融科技有限责任公司 | 多软件包管理方法及装置 |
CN115599437A (zh) * | 2022-10-26 | 2023-01-13 | 北京领雁科技股份有限公司(Cn) | 一种软件版本的处理方法、装置、电子设备及存储介质 |
-
2023
- 2023-02-20 CN CN202310135245.4A patent/CN115857962A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110283252A1 (en) * | 2010-05-11 | 2011-11-17 | Microsoft Corporation | Change notification and information update based on uncompiled software development project |
CN110442371A (zh) * | 2019-08-05 | 2019-11-12 | 武汉斗鱼网络科技有限公司 | 一种发布代码的方法、装置、介质及计算机设备 |
CN111694592A (zh) * | 2020-06-24 | 2020-09-22 | 深圳壹账通智能科技有限公司 | 项目版本发布的管理方法以及*** |
CN112558980A (zh) * | 2020-12-15 | 2021-03-26 | 建信金融科技有限责任公司 | 多软件包管理方法及装置 |
CN115599437A (zh) * | 2022-10-26 | 2023-01-13 | 北京领雁科技股份有限公司(Cn) | 一种软件版本的处理方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220222170A1 (en) | Software development framework for a cloud computing platform | |
US11429365B2 (en) | Systems and methods for automated retrofitting of customized code objects | |
US10481884B2 (en) | Systems and methods for dynamically replacing code objects for code pushdown | |
US20190034189A1 (en) | Systems and methods for transformation of reporting schema | |
US10331425B2 (en) | Automated source code adaption to inject features between platform versions | |
US20240045850A1 (en) | Systems and methods for database orientation transformation | |
US7614040B2 (en) | System and method for efficiently analyzing and building interdependent resources in a software project | |
US8433687B1 (en) | Off-line indexing for client-based software development tools | |
US8255883B2 (en) | Translating late bound LINQ expressions into database queries | |
US20080276221A1 (en) | Method and apparatus for relations planning and validation | |
US9965257B2 (en) | Automatic configuration of project system from project capabilities | |
US9311077B2 (en) | Identification of code changes using language syntax and changeset data | |
CN110673837B (zh) | 代码修复方法及装置、电子设备、计算机可读存储介质 | |
CN111679852B (zh) | 一种冲突依赖库的检测方法及装置 | |
CN116560683A (zh) | 软件更新方法、装置、设备及存储介质 | |
KR102352265B1 (ko) | 웹 애플리케이션 개발 플랫폼 제공 시스템 및 방법 | |
US20200097260A1 (en) | Software application developer tools platform | |
CN113377342B (zh) | 一种项目构建方法、装置、电子设备及存储介质 | |
CN111352631B (zh) | 一种接口兼容性检测方法及装置 | |
CN110334031A (zh) | 内存分配代码检测方法、装置、计算机设备及存储介质 | |
CN115857962A (zh) | 软件项目处理方法、装置、电子设备以及可读存储介质 | |
CN113032004B (zh) | 在开发环境中管理开发作业的方法、设备和程序产品 | |
CN114527993A (zh) | 应用程序部署方法、装置、设备及介质 | |
CN111400396A (zh) | 数据同步脚本的生成方法、装置及计算机可读存储介质 | |
CN110737431A (zh) | 软件开发方法、开发平台、终端设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |