1.本公开涉及计算机技术领域,具体涉及一种代码同步、组件发布方法及其装置、计算机存储介质、电子设备、计算机程序产品。
背景技术:
2.在应用程序开发时,会涉及到代码的同步问题,但是,现有技术中,代码的同步完全依赖于开发手动操作实现,由此导致同步的效率较低,导致应用程序的开发进度较慢,开发成本较高。
技术实现要素:
3.本公开实施例提供一种代码同步、组件发布方法及其装置、计算机存储介质、电子设备、计算机程序产品,用以克服或者缓解现有技术中存在的上述技术问题。
4.本公开采用的技术方案为:
5.一种代码同步方法,包括:
6.将待修改代码的依赖模式修改为路径依赖模式,并生成针对所述待修改代码的属性描述文件,以对所述待修改代码进行编辑而生成需要同步的目标代码;
7.执行包括所述目标代码的pod库,以将所述目标代码同步到管理所述pod库的工程中。
8.可选地,所述将待修改代码的依赖模式修改为路径依赖模式,包括:
9.确定对应于所述待修改代码的组件;
10.通过将所述组件的依赖模式修改为路径依赖模式,以使所述待修改代码的依赖模式修改为路径依赖模式。
11.可选地,通过以下操作将所述组件的依赖模式修改为路径依赖模式:
12.获取所述组件的声明数据;
13.通过对所述声明数据进行修改,以使所述组件的依赖模式修改为路径依赖模式。
14.可选地,所述通过对所述声明数据进行修改,以使所述组件的依赖模式修改为路径依赖模式,包括:
15.通过修改依赖模式的正则匹配,对所述声明数据进行修改,以使所述组件的依赖模式修改为路径依赖模式。
16.可选地,所述生成针对所述待修改代码的属性描述文件,包括:
17.通过修改所述待修改代码的组件配置文件,以生成针对所述待修改代码的属性描述文件。
18.可选地,所述通过修改所述待修改代码的组件配置文件,以生成针对所述待修改代码的属性描述文件,包括:
19.通过修改所述待修改代码的组件基本描述数据以及所述依赖模式的记录数据,以生成针对所述待修改代码的属性描述文件。
20.可选地,所述代码同步方法还包括:响应于接收到针对所述目标代码的同步请求,
21.将所述目标代码上传到指定目录下;
22.将所述目标代码从所述指定目录同步给所述同步请求的发起方。
23.可选地,所述代码同步方法还包括:响应于接收到针对所述目标代码的同步请求,
24.在确定所述目标代码已被同步至所述工程中的情况下,执行将所述目标代码上传到指定目录下,并将所述目标代码从所述指定目录同步给所述同步请求的发起方的操作;和/或
25.在确定所述目标代码尚未被同步至所述工程中的情况下,先通知所述目标代码的开发方将所述目标代码同步至所述工程中,再执行将所述目标代码上传到指定目录下,并将所述目标代码从所述指定目录同步给所述同步请求的发起方的操作。
26.可选地,所述代码同步方法还包括:在确定所述目标代码已被同步至所述工程中的情况下,先通知所述目标代码的开发方确认所述目标代码是否还有更新版本尚未同步至所述工程中,其中,
27.在所述开发方确认所述目标代码还有更新版本尚未同步至所述工程中的情况下,提醒所述开发方对所述目标代码进行版本更新,并且待所述开发方将所述目标代码的更新版本同步至所述工程中后,再执行将所述目标代码上传到指定目录下,并将所述目标代码从所述指定目录同步给所述同步请求的发起方的操作;和/或
28.在所述开发方确认所述目标代码没有更新版本需要同步至所述工程中的情况下,直接执行将所述目标代码上传到指定目录下,并将所述目标代码从所述指定目录同步给所述同步请求的发起方的操作。
29.可选地,所述代码同步方法还包括:响应于接收到针对所述目标代码的同步请求,
30.在确定所述同步请求的发起方也是所述目标代码的开发方,且确定所述目标代码尚未从所述开发方的第一开发端本地同步至所述工程中的情况下,生成并向所述开发方发送上传代码的提示。
31.可选地,所述代码同步方法还包括:
32.在所述目标代码已被基于所述提示上传至所述工程的情况下,执行将所述目标代码上传到指定目录下,并将所述目标代码从所述指定目录同步给所述开发方的第二开发端的操作。
33.一种组件发布方法,包括:
34.确定已同步或可同步到管理pod库的工程中的目标代码;
35.将所述目标代码的依赖模式修改为版本依赖模式,并修改所述目标代码对应的属性描述文件,以将对应于所述目标代码的组件发布到对应的服务端。
36.可选地,所述将所述目标代码的依赖模式修改为版本依赖模式,包括:
37.确定对应于所述目标代码的组件;
38.通过将所述组件的依赖模式修改为版本依赖模式,以使所述目标代码的依赖模式修改为版本依赖模式。
39.可选地,通过以下操作将所述组件的依赖模式修改为版本依赖模式:
40.获取所述组件的声明数据;
41.通过对所述声明数据进行修改,以使所述组件的依赖模式修改为版本依赖模式。
42.可选地,所述通过对所述声明数据进行修改,以使所述组件的依赖模式修改为版本依赖模式,包括:
43.通过修改依赖模式的正则匹配,对所述声明数据进行修改,以使所述组件的依赖模式修改为版本依赖模式。
44.可选地,所述将所述目标代码的依赖模式修改为版本依赖模式,并修改所述目标代码对应的属性描述文件,以将对应于所述目标代码的组件发布到对应的服务端,包括:
45.由所述工程基于所述版本依赖模式,以及修改后的属性描述文件,将对应于所述目标代码的组件发布到对应的服务端。
46.一种代码同步装置,包括:
47.第一处理单元,用于将待修改代码的依赖模式修改为路径依赖模式,并生成针对所述待修改代码的属性描述文件,以对所述待修改代码进行编辑而生成需要同步的目标代码;
48.第二处理单元,用于执行包括所述目标代码的pod库,以将所述目标代码同步到管理所述pod库的工程中。
49.一种组件发布装置,包括:
50.第三处理单元,用于确定已同步或可同步到管理pod库的工程中的目标代码;
51.第四处理单元,用于将所述目标代码的依赖模式修改为版本依赖模式,并修改所述目标代码对应的属性描述文件,以将对应于所述目标代码的组件发布到对应的服务端。
52.一种计算机存储介质,所述计算机存储介质上存储有计算机可执行程序,所述计算机可执行程序被运行以实施根据本公开实施例中任一项所述的方法。
53.一种电子设备,所述电子设备包括存储器以及处理器,所述存储器上用于存储计算机可执行程序,所述处理器用于运行所述计算机可执行程序以实施根据本公开实施例中任一项所述的方法。
54.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据本公开实施例中任一项所述的方法。
55.本公开实施例,通过将待修改代码的依赖模式修改为路径依赖模式,并生成针对所述待修改代码的属性描述文件,以对所述待修改代码进行编辑而生成需要同步的目标代码,执行包括所述目标代码的pod库,以将所述目标代码同步到管理所述pod库的工程中,使得多人协作开发项目中,所有开发者都可以将自己开发的软件代码自动同步至同一共享位置(即,管理pod库的工程中),进而这些开发者也都可以从管理pod库的工程中获取自己或者他人同步出来的目标代码,因而可以提高代码同步效率,同时可以提高团队合作效率,节约开发成本。
56.本公开实施例,将所述目标代码的依赖模式修改为版本依赖模式,并修改所述目标代码对应的属性描述文件,以将对应于所述目标代码的组件发布到对应的服务端,整个过程无须手动操作,因而可以提高组件的发布效率,加快应用程序开发的进度,降低开发成本。
附图说明
57.图1示意性示出了本公开一实施例的应用场景示意图;
58.图2示意性示出了本公开另一实施例的应用场景示意图;
59.图3a示意性示出了本公开实施例代码同步方法的流程示意图;
60.图3b示意性示出了本公开实施例步骤s301的流程示意图;
61.图3c示意性示出了本公开实施例步骤s321的流程示意图;
62.图4a示意性示出了本公开实施例的组件发布方法的流程示意图;
63.图4b示意性示出了本公开实施例步骤s402的流程示意图;
64.图4c示意性示出了本公开实施例步骤s422的流程示意图;
65.图5示意性示出了本公开实施例的代码同步装置的示意图;
66.图6示意性示出了本公开实施例的组件发布装置的示意图;
67.图7示意性示出了本公开实施例的电子设备的示意图。
具体实施方式
68.为使本公开要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
69.本公开下述实施例中,示例性地,考虑到在应用程序开发时,由于会涉及到应用程序要实现的多种功能,为此,针对各个功能的开发,按照组件进行划分存在多个功能组件,即一个功能组件开发的目标是要实现至少一个功能,这种开发模式业界又称之为组件化开发。为此,在应用程序的开发过程中,引入了组件化管理工具,比如针对基于ios(internet operating system,互联网操作系统)系统的应用程序开发,一般采用cocoapods工具进行管理。基于cocoapods工具进行组件化开发时,针对每个功能组件的开发,都会分配一个pod库进行相关代码的独立编写,所有组件的pod库在一个project(即,工程)下进行管理,每一个组件对应代码完成之后,都可以通过运行对应的pod库即可同步到project,便于负责同一应用程序不同组件开发的所有开发人员都可见,在产品即将要上线时,合并到一起进行测试(或者又称之合并提测)。
70.当应用程序的需求有变化时会出现pod库的联动改动,或者,在多个pod库之间进行切换时,就会涉及到各个组件对应的代码的同步问题。
71.在一种实现方案中,上述代码的同步完全依赖于开发者手动操作实现,由此导致代码同步的效率较低,进而导致应用程序的开发进度较慢,开发成本较高。
72.基于上述具体的应用场景,对本公开实施例进行如下的示例性说明。
73.图1示意性示出了本公开一实施例的应用场景示意图。如图1所示,该应用场景针对一代码同步系统,该代码同步系统包括电子设备101、服务端102。服务端102可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。电子设备101可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。电子设备101以及上述服务端102可以通过无线通信方式(如网络)进行直接或间接地连接,本公开在此不做限制。
74.为此,本公开实施例中,通过在所述电子设备101设置代码的同步装置,通过该装置可以执行如下代码同步方法:将待修改代码的依赖模式修改为路径依赖模式,并生成针
对所述待修改代码的属性描述文件,以对所述待修改代码进行编辑而生成需要同步的目标代码;执行包括所述目标代码的pod库,以将所述目标代码同步到管理所述pod库的工程中。
75.和/或,所述电子设备101还可以执行如下方法:确定已同步或可同步到管理pod库的工程中的目标代码;将所述目标代码的依赖模式修改为版本依赖模式,并修改所述目标代码对应的属性描述文件,以将对应于所述目标代码的组件发布到对应的服务端。
76.本公开实施例,在软件代码开发阶段,可以通过将待修改代码的依赖模式修改为路径依赖模式,并生成针对所述待修改代码的属性描述文件,以对所述待修改代码进行编辑而生成需要同步的目标代码,执行包括所述目标代码的pod库,以将所述目标代码同步到管理所述pod库的工程中,使得多人协作开发项目中,所有开发者都可以将自己开发的软件代码自动同步至同一共享位置(即,管理pod库的工程中),进而这些开发者也都可以从管理pod库的工程中获取自己或者他人同步出来的目标代码,因而可以提高代码同步效率,同时可以提高团队合作效率,节约开发成本。
77.本公开实施例,在组件发布阶段,可以确定已同步或可同步到管理pod库的工程中的目标代码,将所述目标代码的依赖模式修改为版本依赖模式,并修改所述目标代码对应的属性描述文件,以将对应于所述目标代码的组件发布到对应的服务端,整个过程无须手动操作,因而可以提高组件的发布效率,加快应用程序开发的进度,降低开发成本。
78.图2示意性示出了本公开另一实施例的应用场景示意图。如图2所示,在该系统中,以基于ios系统为进行应用程序的开发为例进行说明,为此,在进行代码编写的每个电子设备101上安装有cocoapods工具,该cocoapods工具用于实现组件化管理,比如,一个功能组件用于提供实现应用程序一个功能的代码,针对一个功能组件,如果以仅有一台电子设备来参与开发的话,在该电子设备上设置有一个pod库,由此,由于有多个功能组件,则会存在多个pod库,该多个pod库在一个project下进行管理。
79.当然此处,仅仅以基于ios系统为例进行说明,对于基于android系统的应用程序开发来说也类似,详细不再赘述。
80.图3a示意性示出了本公开实施例代码同步方法的流程示意图。如图3a所示,其包括:
81.s301、将待修改代码的依赖模式修改为路径依赖模式,并生成针对所述待修改代码的属性描述文件,以对所述待修改代码进行编辑而生成需要同步的目标代码。
82.可选地,图3b示意性示出了本公开实施例步骤s301的流程示意图。如图3b所示,步骤s301中所述将待修改代码的依赖模式修改为路径依赖模式,包括:
83.s311、确定对应于所述待修改代码的组件;
84.s321、通过将所述组件的依赖模式修改为路径依赖模式,以使所述待修改代码的依赖模式修改为路径依赖模式。
85.具体地,如果应用到ios系统的场景中,所述步骤311中,具体可以通过所述pod库(如,podfile)确定管理所述待修改代码的组件。
86.应该理解,一旦将组件的依赖模式修改为路径依赖模式,则表征该组件当前处于开发状态。一旦将组件的依赖模式修改为版本依赖模式,则表征该组件当前处于已发布状态。
87.图3c示意性示出了本公开实施例步骤s321的流程示意图。如图3c所示,步骤s321
中,通过以下操作将所述组件的依赖模式修改为路径依赖模式:
88.s3211、获取所述组件的声明数据;
89.s3212、通过对所述声明数据进行修改,以使所述组件的依赖模式修改为路径依赖模式。
90.具体地,在所述声明数据中记录有组件的依赖模式,因此,通过对记录的依赖模式进行修改,可以实现组件的依赖模式修改。
91.对于基于ios系统的应用程序开发来说,路径依赖模式又称之为path依赖模式。
92.进一步地,本实施例或者其他实施例中,步骤s3212中,通过对所述声明数据进行修改,以使所述组件的依赖模式修改为路径依赖模式,包括:通过修改依赖模式的正则匹配,对所述声明数据进行修改,以使所述组件的依赖模式修改为路径依赖模式。
93.由于组件化开发过程中,依赖模式的种类相对有限,因此,通过正则匹配这种简单的方式,可以有效地实现对声明数据的修改,进而能够快速地达到依赖模式修改的目的。比如,在一具体应用场景中,通过修改依赖模式的指令来触发修改依赖模式的正则匹配,以实现将依赖模式修改为路径依赖模式的步骤,比如:修改依赖模式的指令为pod change podname
–
path,其中,podname为组件所对应的pod库名称,由于pod库和组件是一一对应地,因此,通过pod库名称即可确定要修改的是那个组件,进而通过此处的指令触发修改路径依赖模式的步骤。
94.在一应用场景中,所述组件的依赖模式默认为版本依赖(即正式发布的组件版本),由于依赖模式为版本依赖模式,无法实现目标代码的实时同步,因此,在步骤s301中将版本依赖模式修改为路径依赖模式。
95.可选地,本实施例或者其他实施例中,步骤s301中,所述生成针对所述待修改代码的属性描述文件,具体可以包括:通过修改所述待修改代码的组件配置文件,以生成针对所述待修改代码的属性描述文件。
96.进一步地,所述通过修改所述待修改代码的组件配置文件,以生成针对所述待修改代码的属性描述文件,具体包括:通过修改所述待修改代码的组件基本描述数据以及所述依赖模式的记录数据,以生成针对所述待修改代码的属性描述文件。
97.在组件基本描述数据中包括组件的版本号、组件对应代码的地址,而在依赖模式的记录数据中,记录有路径依赖模式与组件的映射关系,因此,通过修改基本描述数据中,以实现版本号的修改,代码的地址修改,而通过修改依赖模式的记录数据,实现将所述组件和路径依赖模式的映射关系增加到所述依赖模式的记录数据中。
98.示例性地,在基于ios系统进行应用程序开发的场景中,所述组件配置文件比如包括podsource.plist和sourcharray,修改podsource.plist以实现修改所述待修改代码的组件基本描述数据,修改sourcharray以实现修改所述依赖模式记录数据以将所述组件和路径依赖模式的映射关系增加到所述依赖模式记录数据中,所述待修改代码的属性描述文件包括修改后的podsource.plist和sourcharray,从而可以基于podsource.plist匹配到pod库的名称,再去sourcharray确认依赖模式为路径依赖,进而保证在开发过程中pod库的下载以进行编辑。
99.s302、执行包括所述目标代码的pod库,以将所述目标代码同步到管理所述pod库的工程。
100.本实施例中,比如可以运行install pod指令,执行包括所述目标代码的pod库,以将所述目标代码同步到管理所述pod库的工程。
101.进一步地,在本公开的一些实施例中,所述代码同步方法还可以包括:响应于接收到针对所述目标代码的同步请求,将所述目标代码上传到指定目录下;将所述目标代码从所述指定目录同步给所述同步请求的发起方。
102.或者,在本公开的其他实施例中,所述代码方法还可以具体包括:响应于接收到针对所述目标代码的同步请求,在确定所述目标代码已被同步至所述工程中的情况下,执行将所述目标代码上传到指定目录下,并将所述目标代码从所述指定目录同步给所述同步请求的发起方的操作。
103.和/或,在本公开的其他实施例中,所述代码方法还可以具体包括:响应于接收到针对所述目标代码的同步请求,在确定所述目标代码尚未被同步至所述工程中的情况下,先通知所述目标代码的开发方将所述目标代码同步至所述工程中,再执行将所述目标代码上传到指定目录下,并将所述目标代码从所述指定目录同步给所述同步请求的发起方的操作。
104.或者,在本公开的一些实施例中,所述代码同步方法还包括:在确定所述目标代码已被同步至所述工程中的情况下,先通知所述目标代码的开发方确认所述目标代码是否还有更新版本尚未同步至所述工程中,其中,在所述开发方确认所述目标代码还有更新版本尚未同步至所述工程中的情况下,提醒所述开发方对所述目标代码进行版本更新,并且待所述开发方将所述目标代码的更新版本同步至所述工程中后,再执行将所述目标代码上传到指定目录下,并将所述目标代码从所述指定目录同步给所述同步请求的发起方的操作;和/或,在所述开发方确认所述目标代码没有更新版本需要同步至所述工程中的情况下,直接执行将所述目标代码上传到指定目录下,并将所述目标代码从所述指定目录同步给所述同步请求的发起方的操作。
105.或者,在本公开的一些实施例中,所述代码同步方法还包括:响应于接收到针对所述目标代码的同步请求,在确定所述同步请求的发起方也是所述目标代码的开发方,且确定所述目标代码尚未从所述开发方的第一开发端本地同步至所述工程中的情况下,生成并向所述开发方发送上传代码的提示。
106.进一步地,在本公开的其他实施例中,所述代码同步方法还可以包括:在所述目标代码已被基于所述提示上传至所述工程的情况下,执行将所述目标代码上传到指定目录下,并将所述目标代码从所述指定目录同步给所述开发方的第二开发端的操作。该操作可以在生成并向所述开发方发送上传代码的提示之后执行。
107.此处,需要说明的是,上述基于响应于接收到针对所述目标代码的同步请求的相关步骤的执行顺序,在不偏离本公开思想的前提下,可以根据应用场景的需求灵活设置。
108.图4a示意性示出了本公开实施例的组件发布方法的流程示意图。如图4a所示,组件发布方法可以包括:
109.s401、确定已同步或可同步到管理pod库的工程中的目标代码;
110.s402、将所述目标代码的依赖模式修改为版本依赖模式,并修改所述目标代码对应的属性描述文件,以将对应于所述目标代码的组件发布到服务端。
111.可选地,图4b示意性示出了本公开实施例步骤s402的流程示意图。如图4b所示,所
述将所述目标代码的依赖模式修改为版本依赖模式,包括:
112.s412、确定对应于所述目标代码的组件;
113.s422、通过将所述组件的依赖模式修改为版本依赖模式,以使所述目标代码的依赖模式修改为版本依赖模式。
114.可选地,图4c示意性示出了本公开实施例步骤s422的流程示意图。如图4c所示,所述步骤s422中,通过以下操作将所述组件的依赖模式修改为版本依赖模式:
115.s4221、获取所述组件的声明数据;
116.s4222、通过对所述声明数据进行修改,以使所述组件的依赖模式修改为版本依赖模式。
117.可选地,本实施例中,所述通过对所述声明数据进行修改,以使所述组件的依赖模式修改为版本依赖模式,包括:通过修改依赖模式的正则匹配,对所述声明数据进行修改,以使所述组件的依赖模式修改为版本依赖模式。
118.本实施例中,上述步骤s4221和步骤s4222的执行类似上述步骤s3111和步骤s3112,不同的是,上述步骤s3111和步骤s3112是把依赖模式修改为路径依赖,而步骤s4221和步骤s4222中,考虑到后续向服务端上发布代码时,是以组件为单位进行发布的,即发布完一个组件对应的所有代码才算完成了代码发布,而为了支持此种需要,通过上述步骤s4221和步骤s4222,从而将依赖模式修改为版本依赖。
119.示例性地,由于依赖模式修改为了版本依赖,因此,可以从sourcharray移除所述组件和路径依赖模式的映射关系,同时,修改podsource.plist,更新了组件的版本号和组件对应代码的地址,便于pod库的执行。
120.示例性地,本实施例中,所述将所述目标代码的依赖模式修改为版本依赖模式,并修改所述目标代码对应的属性描述文件,以将对应于所述目标代码的组件同步到服务端,包括:由所述工程基于所述版本依赖模式,以及修改后的属性描述文件,将对应于所述目标代码的组件发布到对应的服务端。
121.图5示意性示出了本公开实施例的代码同步装置的示意图。如图5所示,代码同步装置500包括:
122.第一处理单元501,用于将待修改代码的依赖模式修改为路径依赖模式,并生成针对所述待修改代码的属性描述文件,以对所述待修改代码进行编辑而生成需要同步的目标代码;
123.第二处理单元502,用于执行包括所述目标代码的pod库,以将所述目标代码同步到管理所述pod库的工程中。
124.可选地,所述第一处理单元501具体用于确定对应于所述待修改代码的组件;以及通过将所述组件的依赖模式修改为路径依赖模式,以使所述待修改代码的依赖模式修改为路径依赖模式。
125.可选地,所述第一处理单元501具体用于通过以下操作将所述组件的依赖模式修改为路径依赖模式:获取所述组件的声明数据;以及通过对所述声明数据进行修改,以使所述组件的依赖模式修改为路径依赖模式。
126.可选地,所述第一处理单元501具体用于通过修改依赖模式的正则匹配,对所述声明数据进行修改,以使所述组件的依赖模式修改为路径依赖模式。
127.可选地,所述第一处理单元501具体用于通过修改所述待修改代码的组件配置文件,以生成针对所述待修改代码的属性描述文件。
128.可选地,所述第一处理单元501具体用于通过修改所述待修改代码的组件基本描述数据以及所述依赖模式的记录数据,以生成针对所述待修改代码的属性描述文件。
129.可选地,所述代码同步装置还可以包括代码上传单元,用于响应于接收到针对所述目标代码的同步请求,将所述目标代码上传到指定目录下;以及将所述目标代码从所述指定目录同步给所述同步请求的发起方。
130.或者,可选地,所述代码同步装置还可以包括代码上传单元,用于响应于接收到针对所述目标代码的同步请求,在确定所述目标代码已被同步至所述工程中的情况下,执行将所述目标代码上传到指定目录下,并将所述目标代码从所述指定目录同步给所述同步请求的发起方的操作;和/或在确定所述目标代码尚未被同步至所述工程中的情况下,先通知所述目标代码的开发方将所述目标代码同步至所述工程中,再执行将所述目标代码上传到指定目录下,并将所述目标代码从所述指定目录同步给所述同步请求的发起方的操作。
131.或者,可选地,所述代码同步装置还可以包括代码上传单元,响应于接收到针对所述目标代码的同步请求,在确定所述同步请求的发起方也是所述目标代码的开发方,且确定所述目标代码尚未从所述开发方的第一开发端本地同步至所述工程中的情况下,生成并向所述开发方发送上传代码的提示。
132.可选地,所述代码上传单元还用于在所述目标代码已被基于所述提示上传至所述工程的情况下,执行将所述目标代码上传到指定目录下,并将所述目标代码从所述指定目录同步给所述开发方的第二开发端的操作。
133.图6示意性示出了本公开实施例的组件发布装置的示意图。如图6所示,代码同步装置600包括:
134.第三处理单元601,用于确定管理pod库工程中可同步的目标代码;
135.第四处理单元602,用于将所述目标代码的依赖模式修改为版本依赖模式,并修改所述目标代码对应的属性描述文件,以将对应于所述目标代码的组件同步到对应的服务端。
136.可选地,所述第三处理单元601具体用于确定对应于所述目标代码的组件;以及通过将所述组件的依赖模式修改为版本依赖模式,以使所述目标代码的依赖模式修改为版本依赖模式。
137.可选地,所述第三处理单元601具体用于通过以下操作将所述组件的依赖模式修改为版本依赖模式:获取所述组件的声明数据;通过对所述声明数据进行修改,以使所述组件的依赖模式修改为版本依赖模式。
138.可选地,所述第三处理单元601具体用于通过修改依赖模式的正则匹配,对所述声明数据进行修改,以使所述组件的依赖模式修改为版本依赖模式。
139.可选地,所述第四处理单元602具体用于:由所述工程基于所述版本依赖模式,以及修改后的属性描述文件,将对应于所述目标代码的组件发布到对应的服务端。
140.图7示意性示出了本公开实施例的电子设备的示意图。如图7所示,电子设备包括:存储器701以及处理器702,所述存储器上存储有计算机可执行程序,所述处理器用于运行所述计算机可执行程序以实施本公开实施例中任一项所述的方法。
141.本公开实施例还提供一种计算机存储介质,所述计算机存储介质上存储有计算机可执行程序,所述计算机可执行程序被运行以实施本公开实施例中任一项所述的方法。
142.本公开实施例还提供一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据本公开实施例中任一项所述的方法。
143.以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
技术特征:
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中任一项所述的方法。
技术总结
本公开提供了一种代码同步、组件发布方法及其装置、计算机存储介质、电子设备、计算机程序产品,涉及计算机技术领域,其中,该代码同步方法:将待修改代码的依赖模式修改为路径依赖模式,并生成针对待修改代码的属性描述文件,以对待修改代码进行编辑而生成需要同步的目标代码;执行包括目标代码的Pod库,以将目标代码同步到管理Pod库的工程中。码同步到管理Pod库的工程中。码同步到管理Pod库的工程中。
技术研发人员:魏景云 尹力
受保护的技术使用者:北京金堤科技有限公司
技术研发日:2021.12.06
技术公布日:2022/3/8