CN114153480A - 代码同步、组件发布方法及其装置、计算机存储介质 - Google Patents
代码同步、组件发布方法及其装置、计算机存储介质 Download PDFInfo
- Publication number
- CN114153480A CN114153480A CN202111482168.7A CN202111482168A CN114153480A CN 114153480 A CN114153480 A CN 114153480A CN 202111482168 A CN202111482168 A CN 202111482168A CN 114153480 A CN114153480 A CN 114153480A
- Authority
- CN
- China
- Prior art keywords
- code
- dependency
- modifying
- component
- modified
- 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
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000004590 computer program Methods 0.000 claims abstract description 9
- 230000001360 synchronised effect Effects 0.000 claims description 50
- 238000011161 development Methods 0.000 claims description 33
- 239000003999 initiator Substances 0.000 claims description 22
- 238000012545 processing Methods 0.000 claims description 21
- 230000004044 response Effects 0.000 claims description 14
- 230000001419 dependent effect Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000013507 mapping Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本公开提供了一种代码同步、组件发布方法及其装置、计算机存储介质、电子设备、计算机程序产品,涉及计算机技术领域,其中,该代码同步方法:将待修改代码的依赖模式修改为路径依赖模式,并生成针对待修改代码的属性描述文件,以对待修改代码进行编辑而生成需要同步的目标代码;执行包括目标代码的Pod库,以将目标代码同步到管理Pod库的工程中。
Description
技术领域
本公开涉及计算机技术领域,具体涉及一种代码同步、组件发布方法及其装置、计算机存储介质、电子设备、计算机程序产品。
背景技术
在应用程序开发时,会涉及到代码的同步问题,但是,现有技术中,代码的同步完全依赖于开发手动操作实现,由此导致同步的效率较低,导致应用程序的开发进度较慢,开发成本较高。
发明内容
本公开实施例提供一种代码同步、组件发布方法及其装置、计算机存储介质、电子设备、计算机程序产品,用以克服或者缓解现有技术中存在的上述技术问题。
本公开采用的技术方案为:
一种代码同步方法,包括:
将待修改代码的依赖模式修改为路径依赖模式,并生成针对所述待修改代码的属性描述文件,以对所述待修改代码进行编辑而生成需要同步的目标代码;
执行包括所述目标代码的Pod库,以将所述目标代码同步到管理所述Pod库的工程中。
可选地,所述将待修改代码的依赖模式修改为路径依赖模式,包括:
确定对应于所述待修改代码的组件;
通过将所述组件的依赖模式修改为路径依赖模式,以使所述待修改代码的依赖模式修改为路径依赖模式。
可选地,通过以下操作将所述组件的依赖模式修改为路径依赖模式:
获取所述组件的声明数据;
通过对所述声明数据进行修改,以使所述组件的依赖模式修改为路径依赖模式。
可选地,所述通过对所述声明数据进行修改,以使所述组件的依赖模式修改为路径依赖模式,包括:
通过修改依赖模式的正则匹配,对所述声明数据进行修改,以使所述组件的依赖模式修改为路径依赖模式。
可选地,所述生成针对所述待修改代码的属性描述文件,包括:
通过修改所述待修改代码的组件配置文件,以生成针对所述待修改代码的属性描述文件。
可选地,所述通过修改所述待修改代码的组件配置文件,以生成针对所述待修改代码的属性描述文件,包括:
通过修改所述待修改代码的组件基本描述数据以及所述依赖模式的记录数据,以生成针对所述待修改代码的属性描述文件。
可选地,所述代码同步方法还包括:响应于接收到针对所述目标代码的同步请求,
将所述目标代码上传到指定目录下;
将所述目标代码从所述指定目录同步给所述同步请求的发起方。
可选地,所述代码同步方法还包括:响应于接收到针对所述目标代码的同步请求,
在确定所述目标代码已被同步至所述工程中的情况下,执行将所述目标代码上传到指定目录下,并将所述目标代码从所述指定目录同步给所述同步请求的发起方的操作;和/或
在确定所述目标代码尚未被同步至所述工程中的情况下,先通知所述目标代码的开发方将所述目标代码同步至所述工程中,再执行将所述目标代码上传到指定目录下,并将所述目标代码从所述指定目录同步给所述同步请求的发起方的操作。
可选地,所述代码同步方法还包括:在确定所述目标代码已被同步至所述工程中的情况下,先通知所述目标代码的开发方确认所述目标代码是否还有更新版本尚未同步至所述工程中,其中,
在所述开发方确认所述目标代码还有更新版本尚未同步至所述工程中的情况下,提醒所述开发方对所述目标代码进行版本更新,并且待所述开发方将所述目标代码的更新版本同步至所述工程中后,再执行将所述目标代码上传到指定目录下,并将所述目标代码从所述指定目录同步给所述同步请求的发起方的操作;和/或
在所述开发方确认所述目标代码没有更新版本需要同步至所述工程中的情况下,直接执行将所述目标代码上传到指定目录下,并将所述目标代码从所述指定目录同步给所述同步请求的发起方的操作。
可选地,所述代码同步方法还包括:响应于接收到针对所述目标代码的同步请求,
在确定所述同步请求的发起方也是所述目标代码的开发方,且确定所述目标代码尚未从所述开发方的第一开发端本地同步至所述工程中的情况下,生成并向所述开发方发送上传代码的提示。
可选地,所述代码同步方法还包括:
在所述目标代码已被基于所述提示上传至所述工程的情况下,执行将所述目标代码上传到指定目录下,并将所述目标代码从所述指定目录同步给所述开发方的第二开发端的操作。
一种组件发布方法,包括:
确定已同步或可同步到管理Pod库的工程中的目标代码;
将所述目标代码的依赖模式修改为版本依赖模式,并修改所述目标代码对应的属性描述文件,以将对应于所述目标代码的组件发布到对应的服务端。
可选地,所述将所述目标代码的依赖模式修改为版本依赖模式,包括:
确定对应于所述目标代码的组件;
通过将所述组件的依赖模式修改为版本依赖模式,以使所述目标代码的依赖模式修改为版本依赖模式。
可选地,通过以下操作将所述组件的依赖模式修改为版本依赖模式:
获取所述组件的声明数据;
通过对所述声明数据进行修改,以使所述组件的依赖模式修改为版本依赖模式。
可选地,所述通过对所述声明数据进行修改,以使所述组件的依赖模式修改为版本依赖模式,包括:
通过修改依赖模式的正则匹配,对所述声明数据进行修改,以使所述组件的依赖模式修改为版本依赖模式。
可选地,所述将所述目标代码的依赖模式修改为版本依赖模式,并修改所述目标代码对应的属性描述文件,以将对应于所述目标代码的组件发布到对应的服务端,包括:
由所述工程基于所述版本依赖模式,以及修改后的属性描述文件,将对应于所述目标代码的组件发布到对应的服务端。
一种代码同步装置,包括:
第一处理单元,用于将待修改代码的依赖模式修改为路径依赖模式,并生成针对所述待修改代码的属性描述文件,以对所述待修改代码进行编辑而生成需要同步的目标代码;
第二处理单元,用于执行包括所述目标代码的Pod库,以将所述目标代码同步到管理所述Pod库的工程中。
一种组件发布装置,包括:
第三处理单元,用于确定已同步或可同步到管理Pod库的工程中的目标代码;
第四处理单元,用于将所述目标代码的依赖模式修改为版本依赖模式,并修改所述目标代码对应的属性描述文件,以将对应于所述目标代码的组件发布到对应的服务端。
一种计算机存储介质,所述计算机存储介质上存储有计算机可执行程序,所述计算机可执行程序被运行以实施根据本公开实施例中任一项所述的方法。
一种电子设备,所述电子设备包括存储器以及处理器,所述存储器上用于存储计算机可执行程序,所述处理器用于运行所述计算机可执行程序以实施根据本公开实施例中任一项所述的方法。
一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据本公开实施例中任一项所述的方法。
本公开实施例,通过将待修改代码的依赖模式修改为路径依赖模式,并生成针对所述待修改代码的属性描述文件,以对所述待修改代码进行编辑而生成需要同步的目标代码,执行包括所述目标代码的Pod库,以将所述目标代码同步到管理所述Pod库的工程中,使得多人协作开发项目中,所有开发者都可以将自己开发的软件代码自动同步至同一共享位置(即,管理Pod库的工程中),进而这些开发者也都可以从管理Pod库的工程中获取自己或者他人同步出来的目标代码,因而可以提高代码同步效率,同时可以提高团队合作效率,节约开发成本。
本公开实施例,将所述目标代码的依赖模式修改为版本依赖模式,并修改所述目标代码对应的属性描述文件,以将对应于所述目标代码的组件发布到对应的服务端,整个过程无须手动操作,因而可以提高组件的发布效率,加快应用程序开发的进度,降低开发成本。
附图说明
图1示意性示出了本公开一实施例的应用场景示意图;
图2示意性示出了本公开另一实施例的应用场景示意图;
图3A示意性示出了本公开实施例代码同步方法的流程示意图;
图3B示意性示出了本公开实施例步骤S301的流程示意图;
图3C示意性示出了本公开实施例步骤S321的流程示意图;
图4A示意性示出了本公开实施例的组件发布方法的流程示意图;
图4B示意性示出了本公开实施例步骤S402的流程示意图;
图4C示意性示出了本公开实施例步骤S422的流程示意图;
图5示意性示出了本公开实施例的代码同步装置的示意图;
图6示意性示出了本公开实施例的组件发布装置的示意图;
图7示意性示出了本公开实施例的电子设备的示意图。
具体实施方式
为使本公开要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
本公开下述实施例中,示例性地,考虑到在应用程序开发时,由于会涉及到应用程序要实现的多种功能,为此,针对各个功能的开发,按照组件进行划分存在多个功能组件,即一个功能组件开发的目标是要实现至少一个功能,这种开发模式业界又称之为组件化开发。为此,在应用程序的开发过程中,引入了组件化管理工具,比如针对基于IOS(InternetOperating System,互联网操作***)***的应用程序开发,一般采用CocoaPods工具进行管理。基于CocoaPods工具进行组件化开发时,针对每个功能组件的开发,都会分配一个Pod库进行相关代码的独立编写,所有组件的Pod库在一个project(即,工程)下进行管理,每一个组件对应代码完成之后,都可以通过运行对应的Pod库即可同步到project,便于负责同一应用程序不同组件开发的所有开发人员都可见,在产品即将要上线时,合并到一起进行测试(或者又称之合并提测)。
当应用程序的需求有变化时会出现Pod库的联动改动,或者,在多个Pod库之间进行切换时,就会涉及到各个组件对应的代码的同步问题。
在一种实现方案中,上述代码的同步完全依赖于开发者手动操作实现,由此导致代码同步的效率较低,进而导致应用程序的开发进度较慢,开发成本较高。
基于上述具体的应用场景,对本公开实施例进行如下的示例性说明。
图1示意性示出了本公开一实施例的应用场景示意图。如图1所示,该应用场景针对一代码同步***,该代码同步***包括电子设备101、服务端102。服务端102可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。电子设备101可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。电子设备101以及上述服务端102可以通过无线通信方式(如网络)进行直接或间接地连接,本公开在此不做限制。
为此,本公开实施例中,通过在所述电子设备101设置代码的同步装置,通过该装置可以执行如下代码同步方法:将待修改代码的依赖模式修改为路径依赖模式,并生成针对所述待修改代码的属性描述文件,以对所述待修改代码进行编辑而生成需要同步的目标代码;执行包括所述目标代码的Pod库,以将所述目标代码同步到管理所述Pod库的工程中。
和/或,所述电子设备101还可以执行如下方法:确定已同步或可同步到管理Pod库的工程中的目标代码;将所述目标代码的依赖模式修改为版本依赖模式,并修改所述目标代码对应的属性描述文件,以将对应于所述目标代码的组件发布到对应的服务端。
本公开实施例,在软件代码开发阶段,可以通过将待修改代码的依赖模式修改为路径依赖模式,并生成针对所述待修改代码的属性描述文件,以对所述待修改代码进行编辑而生成需要同步的目标代码,执行包括所述目标代码的Pod库,以将所述目标代码同步到管理所述Pod库的工程中,使得多人协作开发项目中,所有开发者都可以将自己开发的软件代码自动同步至同一共享位置(即,管理Pod库的工程中),进而这些开发者也都可以从管理Pod库的工程中获取自己或者他人同步出来的目标代码,因而可以提高代码同步效率,同时可以提高团队合作效率,节约开发成本。
本公开实施例,在组件发布阶段,可以确定已同步或可同步到管理Pod库的工程中的目标代码,将所述目标代码的依赖模式修改为版本依赖模式,并修改所述目标代码对应的属性描述文件,以将对应于所述目标代码的组件发布到对应的服务端,整个过程无须手动操作,因而可以提高组件的发布效率,加快应用程序开发的进度,降低开发成本。
图2示意性示出了本公开另一实施例的应用场景示意图。如图2所示,在该***中,以基于IOS***为进行应用程序的开发为例进行说明,为此,在进行代码编写的每个电子设备101上安装有CocoaPods工具,该CocoaPods工具用于实现组件化管理,比如,一个功能组件用于提供实现应用程序一个功能的代码,针对一个功能组件,如果以仅有一台电子设备来参与开发的话,在该电子设备上设置有一个Pod库,由此,由于有多个功能组件,则会存在多个Pod库,该多个Pod库在一个project下进行管理。
当然此处,仅仅以基于IOS***为例进行说明,对于基于ANDROID***的应用程序开发来说也类似,详细不再赘述。
图3A示意性示出了本公开实施例代码同步方法的流程示意图。如图3A所示,其包括:
S301、将待修改代码的依赖模式修改为路径依赖模式,并生成针对所述待修改代码的属性描述文件,以对所述待修改代码进行编辑而生成需要同步的目标代码。
可选地,图3B示意性示出了本公开实施例步骤S301的流程示意图。如图3B所示,步骤S301中所述将待修改代码的依赖模式修改为路径依赖模式,包括:
S311、确定对应于所述待修改代码的组件;
S321、通过将所述组件的依赖模式修改为路径依赖模式,以使所述待修改代码的依赖模式修改为路径依赖模式。
具体地,如果应用到IOS***的场景中,所述步骤311中,具体可以通过所述Pod库(如,Podfile)确定管理所述待修改代码的组件。
应该理解,一旦将组件的依赖模式修改为路径依赖模式,则表征该组件当前处于开发状态。一旦将组件的依赖模式修改为版本依赖模式,则表征该组件当前处于已发布状态。
图3C示意性示出了本公开实施例步骤S321的流程示意图。如图3C所示,步骤S321中,通过以下操作将所述组件的依赖模式修改为路径依赖模式:
S3211、获取所述组件的声明数据;
S3212、通过对所述声明数据进行修改,以使所述组件的依赖模式修改为路径依赖模式。
具体地,在所述声明数据中记录有组件的依赖模式,因此,通过对记录的依赖模式进行修改,可以实现组件的依赖模式修改。
对于基于IOS***的应用程序开发来说,路径依赖模式又称之为path依赖模式。
进一步地,本实施例或者其他实施例中,步骤S3212中,通过对所述声明数据进行修改,以使所述组件的依赖模式修改为路径依赖模式,包括:通过修改依赖模式的正则匹配,对所述声明数据进行修改,以使所述组件的依赖模式修改为路径依赖模式。
由于组件化开发过程中,依赖模式的种类相对有限,因此,通过正则匹配这种简单的方式,可以有效地实现对声明数据的修改,进而能够快速地达到依赖模式修改的目的。比如,在一具体应用场景中,通过修改依赖模式的指令来触发修改依赖模式的正则匹配,以实现将依赖模式修改为路径依赖模式的步骤,比如:修改依赖模式的指令为Pod changePodName–path,其中,PodName为组件所对应的Pod库名称,由于Pod库和组件是一一对应地,因此,通过Pod库名称即可确定要修改的是那个组件,进而通过此处的指令触发修改路径依赖模式的步骤。
在一应用场景中,所述组件的依赖模式默认为版本依赖(即正式发布的组件版本),由于依赖模式为版本依赖模式,无法实现目标代码的实时同步,因此,在步骤S301中将版本依赖模式修改为路径依赖模式。
可选地,本实施例或者其他实施例中,步骤S301中,所述生成针对所述待修改代码的属性描述文件,具体可以包括:通过修改所述待修改代码的组件配置文件,以生成针对所述待修改代码的属性描述文件。
进一步地,所述通过修改所述待修改代码的组件配置文件,以生成针对所述待修改代码的属性描述文件,具体包括:通过修改所述待修改代码的组件基本描述数据以及所述依赖模式的记录数据,以生成针对所述待修改代码的属性描述文件。
在组件基本描述数据中包括组件的版本号、组件对应代码的地址,而在依赖模式的记录数据中,记录有路径依赖模式与组件的映射关系,因此,通过修改基本描述数据中,以实现版本号的修改,代码的地址修改,而通过修改依赖模式的记录数据,实现将所述组件和路径依赖模式的映射关系增加到所述依赖模式的记录数据中。
示例性地,在基于IOS***进行应用程序开发的场景中,所述组件配置文件比如包括PodSource.plist和SourchArray,修改PodSource.plist以实现修改所述待修改代码的组件基本描述数据,修改SourchArray以实现修改所述依赖模式记录数据以将所述组件和路径依赖模式的映射关系增加到所述依赖模式记录数据中,所述待修改代码的属性描述文件包括修改后的PodSource.plist和SourchArray,从而可以基于PodSource.plist匹配到Pod库的名称,再去SourchArray确认依赖模式为路径依赖,进而保证在开发过程中Pod库的下载以进行编辑。
S302、执行包括所述目标代码的Pod库,以将所述目标代码同步到管理所述Pod库的工程。
本实施例中,比如可以运行install pod指令,执行包括所述目标代码的Pod库,以将所述目标代码同步到管理所述Pod库的工程。
进一步地,在本公开的一些实施例中,所述代码同步方法还可以包括:响应于接收到针对所述目标代码的同步请求,将所述目标代码上传到指定目录下;将所述目标代码从所述指定目录同步给所述同步请求的发起方。
或者,在本公开的其他实施例中,所述代码方法还可以具体包括:响应于接收到针对所述目标代码的同步请求,在确定所述目标代码已被同步至所述工程中的情况下,执行将所述目标代码上传到指定目录下,并将所述目标代码从所述指定目录同步给所述同步请求的发起方的操作。
和/或,在本公开的其他实施例中,所述代码方法还可以具体包括:响应于接收到针对所述目标代码的同步请求,在确定所述目标代码尚未被同步至所述工程中的情况下,先通知所述目标代码的开发方将所述目标代码同步至所述工程中,再执行将所述目标代码上传到指定目录下,并将所述目标代码从所述指定目录同步给所述同步请求的发起方的操作。
或者,在本公开的一些实施例中,所述代码同步方法还包括:在确定所述目标代码已被同步至所述工程中的情况下,先通知所述目标代码的开发方确认所述目标代码是否还有更新版本尚未同步至所述工程中,其中,在所述开发方确认所述目标代码还有更新版本尚未同步至所述工程中的情况下,提醒所述开发方对所述目标代码进行版本更新,并且待所述开发方将所述目标代码的更新版本同步至所述工程中后,再执行将所述目标代码上传到指定目录下,并将所述目标代码从所述指定目录同步给所述同步请求的发起方的操作;和/或,在所述开发方确认所述目标代码没有更新版本需要同步至所述工程中的情况下,直接执行将所述目标代码上传到指定目录下,并将所述目标代码从所述指定目录同步给所述同步请求的发起方的操作。
或者,在本公开的一些实施例中,所述代码同步方法还包括:响应于接收到针对所述目标代码的同步请求,在确定所述同步请求的发起方也是所述目标代码的开发方,且确定所述目标代码尚未从所述开发方的第一开发端本地同步至所述工程中的情况下,生成并向所述开发方发送上传代码的提示。
进一步地,在本公开的其他实施例中,所述代码同步方法还可以包括:在所述目标代码已被基于所述提示上传至所述工程的情况下,执行将所述目标代码上传到指定目录下,并将所述目标代码从所述指定目录同步给所述开发方的第二开发端的操作。该操作可以在生成并向所述开发方发送上传代码的提示之后执行。
此处,需要说明的是,上述基于响应于接收到针对所述目标代码的同步请求的相关步骤的执行顺序,在不偏离本公开思想的前提下,可以根据应用场景的需求灵活设置。
图4A示意性示出了本公开实施例的组件发布方法的流程示意图。如图4A所示,组件发布方法可以包括:
S401、确定已同步或可同步到管理Pod库的工程中的目标代码;
S402、将所述目标代码的依赖模式修改为版本依赖模式,并修改所述目标代码对应的属性描述文件,以将对应于所述目标代码的组件发布到服务端。
可选地,图4B示意性示出了本公开实施例步骤S402的流程示意图。如图4B所示,所述将所述目标代码的依赖模式修改为版本依赖模式,包括:
S412、确定对应于所述目标代码的组件;
S422、通过将所述组件的依赖模式修改为版本依赖模式,以使所述目标代码的依赖模式修改为版本依赖模式。
可选地,图4C示意性示出了本公开实施例步骤S422的流程示意图。如图4C所示,所述步骤S422中,通过以下操作将所述组件的依赖模式修改为版本依赖模式:
S4221、获取所述组件的声明数据;
S4222、通过对所述声明数据进行修改,以使所述组件的依赖模式修改为版本依赖模式。
可选地,本实施例中,所述通过对所述声明数据进行修改,以使所述组件的依赖模式修改为版本依赖模式,包括:通过修改依赖模式的正则匹配,对所述声明数据进行修改,以使所述组件的依赖模式修改为版本依赖模式。
本实施例中,上述步骤S4221和步骤S4222的执行类似上述步骤S3111和步骤S3112,不同的是,上述步骤S3111和步骤S3112是把依赖模式修改为路径依赖,而步骤S4221和步骤S4222中,考虑到后续向服务端上发布代码时,是以组件为单位进行发布的,即发布完一个组件对应的所有代码才算完成了代码发布,而为了支持此种需要,通过上述步骤S4221和步骤S4222,从而将依赖模式修改为版本依赖。
示例性地,由于依赖模式修改为了版本依赖,因此,可以从SourchArray移除所述组件和路径依赖模式的映射关系,同时,修改PodSource.plist,更新了组件的版本号和组件对应代码的地址,便于Pod库的执行。
示例性地,本实施例中,所述将所述目标代码的依赖模式修改为版本依赖模式,并修改所述目标代码对应的属性描述文件,以将对应于所述目标代码的组件同步到服务端,包括:由所述工程基于所述版本依赖模式,以及修改后的属性描述文件,将对应于所述目标代码的组件发布到对应的服务端。
图5示意性示出了本公开实施例的代码同步装置的示意图。如图5所示,代码同步装置500包括:
第一处理单元501,用于将待修改代码的依赖模式修改为路径依赖模式,并生成针对所述待修改代码的属性描述文件,以对所述待修改代码进行编辑而生成需要同步的目标代码;
第二处理单元502,用于执行包括所述目标代码的Pod库,以将所述目标代码同步到管理所述Pod库的工程中。
可选地,所述第一处理单元501具体用于确定对应于所述待修改代码的组件;以及通过将所述组件的依赖模式修改为路径依赖模式,以使所述待修改代码的依赖模式修改为路径依赖模式。
可选地,所述第一处理单元501具体用于通过以下操作将所述组件的依赖模式修改为路径依赖模式:获取所述组件的声明数据;以及通过对所述声明数据进行修改,以使所述组件的依赖模式修改为路径依赖模式。
可选地,所述第一处理单元501具体用于通过修改依赖模式的正则匹配,对所述声明数据进行修改,以使所述组件的依赖模式修改为路径依赖模式。
可选地,所述第一处理单元501具体用于通过修改所述待修改代码的组件配置文件,以生成针对所述待修改代码的属性描述文件。
可选地,所述第一处理单元501具体用于通过修改所述待修改代码的组件基本描述数据以及所述依赖模式的记录数据,以生成针对所述待修改代码的属性描述文件。
可选地,所述代码同步装置还可以包括代码上传单元,用于响应于接收到针对所述目标代码的同步请求,将所述目标代码上传到指定目录下;以及将所述目标代码从所述指定目录同步给所述同步请求的发起方。
或者,可选地,所述代码同步装置还可以包括代码上传单元,用于响应于接收到针对所述目标代码的同步请求,在确定所述目标代码已被同步至所述工程中的情况下,执行将所述目标代码上传到指定目录下,并将所述目标代码从所述指定目录同步给所述同步请求的发起方的操作;和/或在确定所述目标代码尚未被同步至所述工程中的情况下,先通知所述目标代码的开发方将所述目标代码同步至所述工程中,再执行将所述目标代码上传到指定目录下,并将所述目标代码从所述指定目录同步给所述同步请求的发起方的操作。
或者,可选地,所述代码同步装置还可以包括代码上传单元,响应于接收到针对所述目标代码的同步请求,在确定所述同步请求的发起方也是所述目标代码的开发方,且确定所述目标代码尚未从所述开发方的第一开发端本地同步至所述工程中的情况下,生成并向所述开发方发送上传代码的提示。
可选地,所述代码上传单元还用于在所述目标代码已被基于所述提示上传至所述工程的情况下,执行将所述目标代码上传到指定目录下,并将所述目标代码从所述指定目录同步给所述开发方的第二开发端的操作。
图6示意性示出了本公开实施例的组件发布装置的示意图。如图6所示,代码同步装置600包括:
第三处理单元601,用于确定管理Pod库工程中可同步的目标代码;
第四处理单元602,用于将所述目标代码的依赖模式修改为版本依赖模式,并修改所述目标代码对应的属性描述文件,以将对应于所述目标代码的组件同步到对应的服务端。
可选地,所述第三处理单元601具体用于确定对应于所述目标代码的组件;以及通过将所述组件的依赖模式修改为版本依赖模式,以使所述目标代码的依赖模式修改为版本依赖模式。
可选地,所述第三处理单元601具体用于通过以下操作将所述组件的依赖模式修改为版本依赖模式:获取所述组件的声明数据;通过对所述声明数据进行修改,以使所述组件的依赖模式修改为版本依赖模式。
可选地,所述第三处理单元601具体用于通过修改依赖模式的正则匹配,对所述声明数据进行修改,以使所述组件的依赖模式修改为版本依赖模式。
可选地,所述第四处理单元602具体用于:由所述工程基于所述版本依赖模式,以及修改后的属性描述文件,将对应于所述目标代码的组件发布到对应的服务端。
图7示意性示出了本公开实施例的电子设备的示意图。如图7所示,电子设备包括:存储器701以及处理器702,所述存储器上存储有计算机可执行程序,所述处理器用于运行所述计算机可执行程序以实施本公开实施例中任一项所述的方法。
本公开实施例还提供一种计算机存储介质,所述计算机存储介质上存储有计算机可执行程序,所述计算机可执行程序被运行以实施本公开实施例中任一项所述的方法。
本公开实施例还提供一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据本公开实施例中任一项所述的方法。
以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
Claims (21)
1.一种代码同步方法,包括:
将待修改代码的依赖模式修改为路径依赖模式,并生成针对所述待修改代码的属性描述文件,以对所述待修改代码进行编辑而生成需要同步的目标代码;
执行包括所述目标代码的Pod库,以将所述目标代码同步到管理所述Pod库的工程中。
2.根据权利要求1所述的方法,其特征在于,所述将待修改代码的依赖模式修改为路径依赖模式,包括:
确定对应于所述待修改代码的组件;
通过将所述组件的依赖模式修改为路径依赖模式,以使所述待修改代码的依赖模式修改为路径依赖模式。
3.根据权利要求2所述的方法,其特征在于,通过以下操作将所述组件的依赖模式修改为路径依赖模式:
获取所述组件的声明数据;
通过对所述声明数据进行修改,以使所述组件的依赖模式修改为路径依赖模式。
4.根据权利要求3所述的方法,其特征在于,所述通过对所述声明数据进行修改,以使所述组件的依赖模式修改为路径依赖模式,包括:
通过修改依赖模式的正则匹配,对所述声明数据进行修改,以使所述组件的依赖模式修改为路径依赖模式。
5.根据权利要求1所述的方法,其特征在于,所述生成针对所述待修改代码的属性描述文件,包括:
通过修改所述待修改代码的组件配置文件,以生成针对所述待修改代码的属性描述文件。
6.根据权利要求5所述的方法,其特征在于,所述通过修改所述待修改代码的组件配置文件,以生成针对所述待修改代码的属性描述文件,包括:
通过修改所述待修改代码的组件基本描述数据以及所述依赖模式的记录数据,以生成针对所述待修改代码的属性描述文件。
7.根据权利要求1所述的方法,还包括:响应于接收到针对所述目标代码的同步请求,
将所述目标代码上传到指定目录下;
将所述目标代码从所述指定目录同步给所述同步请求的发起方。
8.根据权利要求7所述的方法,还包括:响应于接收到针对所述目标代码的同步请求,
在确定所述目标代码已被同步至所述工程中的情况下,执行将所述目标代码上传到指定目录下,并将所述目标代码从所述指定目录同步给所述同步请求的发起方的操作;和/或
在确定所述目标代码尚未被同步至所述工程中的情况下,先通知所述目标代码的开发方将所述目标代码同步至所述工程中,再执行将所述目标代码上传到指定目录下,并将所述目标代码从所述指定目录同步给所述同步请求的发起方的操作。
9.根据权利要求8所述的方法,还包括:
在确定所述目标代码已被同步至所述工程中的情况下,先通知所述目标代码的开发方确认所述目标代码是否还有更新版本尚未同步至所述工程中,其中,
在所述开发方确认所述目标代码还有更新版本尚未同步至所述工程中的情况下,提醒所述开发方对所述目标代码进行版本更新,并且待所述开发方将所述目标代码的更新版本同步至所述工程中后,再执行将所述目标代码上传到指定目录下,并将所述目标代码从所述指定目录同步给所述同步请求的发起方的操作;和/或
在所述开发方确认所述目标代码没有更新版本需要同步至所述工程中的情况下,直接执行将所述目标代码上传到指定目录下,并将所述目标代码从所述指定目录同步给所述同步请求的发起方的操作。
10.根据权利要求1所述的方法,还包括:响应于接收到针对所述目标代码的同步请求,
在确定所述同步请求的发起方也是所述目标代码的开发方,且确定所述目标代码尚未从所述开发方的第一开发端本地同步至所述工程中的情况下,生成并向所述开发方发送上传代码的提示。
11.根据权利要求10所述的方法,还包括:
在所述目标代码已被基于所述提示上传至所述工程的情况下,执行将所述目标代码上传到指定目录下,并将所述目标代码从所述指定目录同步给所述开发方的第二开发端的操作。
12.一种组件发布方法,包括:
确定已同步或可同步到管理Pod库的工程中的目标代码;
将所述目标代码的依赖模式修改为版本依赖模式,并修改所述目标代码对应的属性描述文件,以将对应于所述目标代码的组件发布到对应的服务端。
13.根据权利要求12所述的方法,其特征在于,所述将所述目标代码的依赖模式修改为版本依赖模式,包括:
确定对应于所述目标代码的组件;
通过将所述组件的依赖模式修改为版本依赖模式,以使所述目标代码的依赖模式修改为版本依赖模式。
14.根据权利要求12或13所述的方法,其特征在于,通过以下操作将所述组件的依赖模式修改为版本依赖模式:
获取所述组件的声明数据;
通过对所述声明数据进行修改,以使所述组件的依赖模式修改为版本依赖模式。
15.根据权利要求14所述的方法,其特征在于,所述通过对所述声明数据进行修改,以使所述组件的依赖模式修改为版本依赖模式,包括:
通过修改依赖模式的正则匹配,对所述声明数据进行修改,以使所述组件的依赖模式修改为版本依赖模式。
16.根据权利要求12-15中任一项所述的方法,其特征在于,所述将所述目标代码的依赖模式修改为版本依赖模式,并修改所述目标代码对应的属性描述文件,以将对应于所述目标代码的组件发布到对应的服务端,包括:
由所述工程基于所述版本依赖模式,以及修改后的属性描述文件,将对应于所述目标代码的组件发布到对应的服务端。
17.一种代码同步装置,包括:
第一处理单元,用于将待修改代码的依赖模式修改为路径依赖模式,并生成针对所述待修改代码的属性描述文件,以对所述待修改代码进行编辑而生成需要同步的目标代码;
第二处理单元,用于执行包括所述目标代码的Pod库,以将所述目标代码同步到管理所述Pod库的工程中。
18.一种组件发布装置,包括:
第三处理单元,用于确定已同步或可同步到管理Pod库的工程中的目标代码;
第四处理单元,用于将所述目标代码的依赖模式修改为版本依赖模式,并修改所述目标代码对应的属性描述文件,以将对应于所述目标代码的组件发布到对应的服务端。
19.一种计算机存储介质,所述计算机存储介质上存储有计算机可执行程序,所述计算机可执行程序被运行以实施根据权利要求1-16中任一项所述的方法。
20.一种电子设备,所述电子设备包括存储器以及处理器,所述存储器上用于存储计算机可执行程序,所述处理器用于运行所述计算机可执行程序以实施根据权利要求1-16中任一项所述的方法。
21.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-16中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111482168.7A CN114153480A (zh) | 2021-12-06 | 2021-12-06 | 代码同步、组件发布方法及其装置、计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111482168.7A CN114153480A (zh) | 2021-12-06 | 2021-12-06 | 代码同步、组件发布方法及其装置、计算机存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114153480A true CN114153480A (zh) | 2022-03-08 |
Family
ID=80452738
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111482168.7A Pending CN114153480A (zh) | 2021-12-06 | 2021-12-06 | 代码同步、组件发布方法及其装置、计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114153480A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114924788A (zh) * | 2022-07-20 | 2022-08-19 | 北京达佳互联信息技术有限公司 | 代码同步方法和装置 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107247601A (zh) * | 2017-07-04 | 2017-10-13 | 武汉斗鱼网络科技有限公司 | 开发流程优化方法、装置及存储介质 |
US20190073230A1 (en) * | 2016-03-01 | 2019-03-07 | 650 Industries, Inc. | Method and apparatus for loading multiple differing versions of a native library into a native environment |
CN110377290A (zh) * | 2019-07-22 | 2019-10-25 | 阿里巴巴集团控股有限公司 | 一种目标工程编译的方法、装置及设备 |
CN110442371A (zh) * | 2019-08-05 | 2019-11-12 | 武汉斗鱼网络科技有限公司 | 一种发布代码的方法、装置、介质及计算机设备 |
CN110795078A (zh) * | 2019-09-28 | 2020-02-14 | 同程网络科技股份有限公司 | 基于ios***下的app工程运作***的架构方法 |
CN111142895A (zh) * | 2019-11-26 | 2020-05-12 | 叮当快药科技集团有限公司 | 基于svn模块的项目中组件的同步更新方法和*** |
CN111245918A (zh) * | 2020-01-07 | 2020-06-05 | 微民保险代理有限公司 | 一种服务请求的传输方法和装置 |
CN111736762A (zh) * | 2020-05-21 | 2020-10-02 | 平安国际智慧城市科技股份有限公司 | 数据存储网络的同步更新方法、装置、设备及存储介质 |
CN112052037A (zh) * | 2020-09-07 | 2020-12-08 | 北京达佳互联信息技术有限公司 | 一种应用软件开发方法、装置、设备及介质 |
CN112882700A (zh) * | 2021-02-09 | 2021-06-01 | 京东方科技集团股份有限公司 | iOS应用程序构建方法及装置、电子设备及存储介质 |
CN113094086A (zh) * | 2021-04-13 | 2021-07-09 | 北京房江湖科技有限公司 | 组件集成方法、装置、计算机可读存储介质及电子设备 |
CN113238795A (zh) * | 2021-05-14 | 2021-08-10 | 北京达佳互联信息技术有限公司 | 组件发布方法、装置、电子设备、存储介质及程序产品 |
CN113434472A (zh) * | 2021-06-25 | 2021-09-24 | 平安国际智慧城市科技股份有限公司 | 一种文件生成方法、装置、服务器及存储介质 |
US11157253B1 (en) * | 2020-06-30 | 2021-10-26 | Td Ameritrade Ip Company, Inc. | Computer-automated software release and deployment architecture |
-
2021
- 2021-12-06 CN CN202111482168.7A patent/CN114153480A/zh active Pending
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190073230A1 (en) * | 2016-03-01 | 2019-03-07 | 650 Industries, Inc. | Method and apparatus for loading multiple differing versions of a native library into a native environment |
CN107247601A (zh) * | 2017-07-04 | 2017-10-13 | 武汉斗鱼网络科技有限公司 | 开发流程优化方法、装置及存储介质 |
CN110377290A (zh) * | 2019-07-22 | 2019-10-25 | 阿里巴巴集团控股有限公司 | 一种目标工程编译的方法、装置及设备 |
CN110442371A (zh) * | 2019-08-05 | 2019-11-12 | 武汉斗鱼网络科技有限公司 | 一种发布代码的方法、装置、介质及计算机设备 |
CN110795078A (zh) * | 2019-09-28 | 2020-02-14 | 同程网络科技股份有限公司 | 基于ios***下的app工程运作***的架构方法 |
CN111142895A (zh) * | 2019-11-26 | 2020-05-12 | 叮当快药科技集团有限公司 | 基于svn模块的项目中组件的同步更新方法和*** |
CN111245918A (zh) * | 2020-01-07 | 2020-06-05 | 微民保险代理有限公司 | 一种服务请求的传输方法和装置 |
CN111736762A (zh) * | 2020-05-21 | 2020-10-02 | 平安国际智慧城市科技股份有限公司 | 数据存储网络的同步更新方法、装置、设备及存储介质 |
US11157253B1 (en) * | 2020-06-30 | 2021-10-26 | Td Ameritrade Ip Company, Inc. | Computer-automated software release and deployment architecture |
CN112052037A (zh) * | 2020-09-07 | 2020-12-08 | 北京达佳互联信息技术有限公司 | 一种应用软件开发方法、装置、设备及介质 |
CN112882700A (zh) * | 2021-02-09 | 2021-06-01 | 京东方科技集团股份有限公司 | iOS应用程序构建方法及装置、电子设备及存储介质 |
CN113094086A (zh) * | 2021-04-13 | 2021-07-09 | 北京房江湖科技有限公司 | 组件集成方法、装置、计算机可读存储介质及电子设备 |
CN113238795A (zh) * | 2021-05-14 | 2021-08-10 | 北京达佳互联信息技术有限公司 | 组件发布方法、装置、电子设备、存储介质及程序产品 |
CN113434472A (zh) * | 2021-06-25 | 2021-09-24 | 平安国际智慧城市科技股份有限公司 | 一种文件生成方法、装置、服务器及存储介质 |
Non-Patent Citations (4)
Title |
---|
PETER FARKAŠ: "On run-length limited error control codes constructed from binary single parity check product codes", 《 2018 CYBERNETICS & INFORMATICS (K&I)》, 16 April 2018 (2018-04-16), pages 1 - 7 * |
李雪满: "基于iOS平台的双语阅读交流平台的设计与实现", 《中国优秀硕士学位论文全文数据库 (信息科技辑)》, 15 October 2018 (2018-10-15), pages 138 - 142 * |
湖北勒布朗: "iOS私有pod库的发布流程", pages 1 - 11, Retrieved from the Internet <URL:《https://www.jianshu.com/p/7ad5af7aa7d9》> * |
突突突突突突: "iOS组件化之本地调试", pages 1 - 13, Retrieved from the Internet <URL:《https://juejin.cn/post/7024401196513230861》> * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114924788A (zh) * | 2022-07-20 | 2022-08-19 | 北京达佳互联信息技术有限公司 | 代码同步方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8683430B2 (en) | Synchronizing development code and deployed executable versioning within distributed systems | |
US10447814B2 (en) | Joint servicing of software packages | |
CN107193607B (zh) | 用于更新代码文件的方法和装置、存储介质、处理器以及终端 | |
US11113050B2 (en) | Application architecture generation | |
CN111459539B (zh) | 基于镜像分层的持续集成流水线运行方法及装置 | |
CN107391634B (zh) | 数据迁移方法及装置 | |
CN109634591B (zh) | 一种文件处理方法及装置 | |
CN111158730B (zh) | ***更新方法、装置、电子设备和可读存储介质 | |
CN112379940B (zh) | 一种可执行文件处理方法、装置、电子设备及存储介质 | |
US11099837B2 (en) | Providing build avoidance without requiring local source code | |
US20170371641A1 (en) | Multi-tenant upgrading | |
US20170277742A1 (en) | Synchronizing files on different computing devices using file anchors | |
CN108132832B (zh) | 应用程序启动方法和装置 | |
CN114153480A (zh) | 代码同步、组件发布方法及其装置、计算机存储介质 | |
CN106990974B (zh) | 一种app应用更新方法、装置及电子设备 | |
US20070185929A1 (en) | Method and apparatus for processing monitoring | |
CN106293790B (zh) | 基于Firefox操作***的应用程序升级方法和装置 | |
CN110597552A (zh) | 项目持续集成流水线的配置方法、装置、设备及存储介质 | |
CN109739539A (zh) | 跨环境的应用发布方法、装置、设备及存储介质 | |
CN109144524B (zh) | 一种教育平台上学科游戏的版本发布方法及电子设备 | |
JP5943753B2 (ja) | 仮想マシン管理システム、仮想マシン管理方法およびプログラム | |
CN112426722A (zh) | 节点图的热更新方法、装置、存储介质及计算机设备 | |
CN113626007B (zh) | 连接器模型的应用方法、装置及服务器 | |
CN112579113A (zh) | 应用程序的升级方法、装置、存储介质及终端 | |
CN116893834B (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 |