CN107193622B - 代码编译的处理方法、装置及终端 - Google Patents

代码编译的处理方法、装置及终端 Download PDF

Info

Publication number
CN107193622B
CN107193622B CN201710342999.1A CN201710342999A CN107193622B CN 107193622 B CN107193622 B CN 107193622B CN 201710342999 A CN201710342999 A CN 201710342999A CN 107193622 B CN107193622 B CN 107193622B
Authority
CN
China
Prior art keywords
code
file
subfile
code file
name list
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.)
Active
Application number
CN201710342999.1A
Other languages
English (en)
Other versions
CN107193622A (zh
Inventor
邢旺
张晓亮
张建春
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Xiaomi Mobile Software Co Ltd
Original Assignee
Beijing Xiaomi Mobile Software Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Xiaomi Mobile Software Co Ltd filed Critical Beijing Xiaomi Mobile Software Co Ltd
Priority to CN201710342999.1A priority Critical patent/CN107193622B/zh
Publication of CN107193622A publication Critical patent/CN107193622A/zh
Application granted granted Critical
Publication of CN107193622B publication Critical patent/CN107193622B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/43Checking; Contextual analysis
    • G06F8/433Dependency analysis; Data or control flow analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本公开是关于一种代码编译的处理方法、装置及终端,其中,该方法包括:获取各开发用户的各代码文件,一个代码文件中包括至少一个代码子文件;针对每一个代码文件,根据各代码子文件,确定与代码文件对应的文件名列表,文件名列表中包括各被至少一个代码子文件依赖、且不属于代码文件的代码子文件;针对每一个代码文件,根据文件名列表,确定与代码文件对应的代码文件列表,代码文件列表中包括至少一个其他代码文件,其他代码文件为文件名列表中的代码子文件所对应的代码文件,且其他代码文件处于开放状态。可以安全、便捷的获取源代码的依赖关系,解决了代码依赖关系复杂而导致的开发和调试失败问题,提高了开发人员的工作效率。

Description

代码编译的处理方法、装置及终端
技术领域
本公开涉及计算机技术领域,尤其涉及代码编译的处理方法、装置及终端。
背景技术
随着终端技术的发展,很多终端采用的安卓***。开发人员需要针对采用安卓***的终端,开发出适应于安卓***各应用程序,或者适应于安卓***的整个终端***等等。不管是***级别代码的开发,还是应用级别的代码开发,都是需要多个开发人员共同负责同一个项目的。不同开发人员所开发的代码,通常都会具有上下文的依赖关系;然后在对代码进行编译的时候,只有这多个有依赖关系的代码同时进行编译才能编译通过,否则编译失败。
相关技术中,需要开发人员要非常熟悉自己的代码编译时,需要依赖哪些开发人员的代码,以及被哪些开发人员的代码所依赖;然后在对代码进行编译的时候,开发人员手动的去配置依赖关系,手动的调整依赖的代码。
然而相关技术中,代码一般具有较为负责的依赖关系,由于需要开发人员手动的调整代码的依赖关系,会出现失误的情况,进而出现调试、开发失败的情况;并且这种手动调整的方式效率较低,影响了整个代码的开发时间。
发明内容
为克服相关技术中存在的需要开发人员手动的调整代码的依赖关系出现调试、开发失败的情况;手动调整的方式效率较低,影响了整个代码的开发时间的问题,本公开提供一种代码编译的处理方法、装置及终端。
根据本公开实施例的第一方面,提供一种代码编译的处理方法,包括:
获取各开发用户的各代码文件,其中,一个所述代码文件中包括至少一个代码子文件;
针对每一个代码文件,根据各所述代码子文件,确定与代码文件对应的文件名列表,其中,所述文件名列表中包括各被至少一个所述代码子文件依赖、且不属于所述代码文件的代码子文件;
针对每一个代码文件,根据所述文件名列表,确定与所述代码文件对应的代码文件列表,其中,所述代码文件列表中包括至少一个其他代码文件,所述其他代码文件为所述文件名列表中的代码子文件所对应的代码文件,且所述其他代码文件处于开放状态。
进一步地,所述代码子文件中包括代码内容;所述针对每一个代码文件,根据各所述代码子文件,确定与代码文件对应的文件名列表,包括:
针对每一个代码文件的每一个代码子文件,根据该代码子文件的代码内容,确定该代码子文件的包含信息,其中,所述包含信息为该代码子文件的代码内容中所依赖的各代码子文件;
针对每一个代码文件的每一个代码子文件,根据该代码子文件的包含信息,确定该代码子文件的分析信息,其中,所述分析信息为所述包含信息中的不属于与该代码子文件对应的代码文件的代码子文件;
针对每一个代码文件,根据代码文件的各代码子文件的各分析信息,生成与代码文件对应的文件名列表。
进一步地,所述针对每一个代码文件,根据所述文件名列表,确定与所述代码文件对应的代码文件列表,包括:
针对每一个代码文件,根据与该代码文件对应的文件名列表中的代码子文件,确定代码文件依赖信息,其中,所述代码文件依赖信息中包括至少一个该文件名列表中的代码子文件所归属的代码文件;
针对每一个代码文件,根据所述代码文件依赖信息,判断所述代码文件依赖信息中的各代码文件的状态;
针对每一个代码文件,若确定所述代码文件依赖信息中的代码文件的状态为开放状态,则根据处于开放状态的代码文件,生成所述代码文件列表。
进一步地,所述针对每一个代码文件,根据所述文件名列表,确定与所述代码文件对应的代码文件列表,包括:
针对每一个代码文件,确定处于开放状态的其他代码文件,并确定处于开放状态的其他代码文件下的代码子文件;
针对每一个代码文件,判断处于开放状态的其他代码文件下的代码子文件中,是否具有所述文件名列表中的代码子文件;
针对每一个代码文件,在确定具有时,根据具有所述文件名列表中的代码子文件、且将处于开放状态的其他代码文件,生成所述代码文件列表。
进一步地,在所述针对每一个代码文件,根据所述文件名列表,确定与所述代码文件对应的代码文件列表之后,还包括:
根据各代码文件的各代码文件列表,对各代码文件进行编译。
进一步地,所述代码子文件中包括以下信息的至少一种:
代码版本信息、代码路径、代码子文件标识。
本公开的实施例提供的技术方案可以包括以下有益效果:通过获取各开发用户的各代码文件,其中,一个代码文件中包括至少一个代码子文件;针对每一个代码文件,根据各代码子文件,确定与代码文件对应的文件名列表,其中,文件名列表中包括各被至少一个代码子文件依赖、且不属于代码文件的代码子文件;针对每一个代码文件,根据文件名列表,确定与代码文件对应的代码文件列表,其中,代码文件列表中包括至少一个其他代码文件,其他代码文件为文件名列表中的代码子文件所对应的代码文件,且其他代码文件处于开放状态。从而提供了一种分析代码依赖关系的方法,可以自动的分析各代码文件之间的依赖关系。进而,在多个开发人员共同负责同一个开发项目的时候,尤其是在多人开发的代码依赖关系复杂这种情况下,可以安全、便捷的获取源代码的依赖关系,然后便于进行调试、测试;不管是在代码的编译阶段还是调试、测试阶段,都提供了一种稳定的技术支持,极大的解决了代码依赖关系复杂而导致的开发和调试失败问题,提高了开发人员的工作效率。
根据本公开实施例的第二方面,提供一种代码编译的处理装置,包括:
获取模块,被配置为获取各开发用户的各代码文件,其中,一个所述代码文件中包括至少一个代码子文件;
第一确定模块,被配置为针对每一个代码文件,根据各所述代码子文件,确定与代码文件对应的文件名列表,其中,所述文件名列表中包括各被至少一个所述代码子文件依赖、且不属于所述代码文件的代码子文件;
第二确定模块,被配置为针对每一个代码文件,根据所述文件名列表,确定与所述代码文件对应的代码文件列表,其中,所述代码文件列表中包括至少一个其他代码文件,所述其他代码文件为所述文件名列表中的代码子文件所对应的代码文件,且所述其他代码文件处于开放状态。
进一步地,所述代码子文件中包括代码内容;所述第一确定模块,被具体配置为:
针对每一个代码文件的每一个代码子文件,根据该代码子文件的代码内容,确定该代码子文件的包含信息,其中,所述包含信息为该代码子文件的代码内容中所依赖的各代码子文件;
针对每一个代码文件的每一个代码子文件,根据该代码子文件的包含信息,确定该代码子文件的分析信息,其中,所述分析信息为所述包含信息中的不属于与该代码子文件对应的代码文件的代码子文件;
针对每一个代码文件,根据代码文件的各代码子文件的各分析信息,生成与代码文件对应的文件名列表。
进一步地,所述第二确定模块,被具体配置为:
针对每一个代码文件,根据与该代码文件对应的文件名列表中的代码子文件,确定代码文件依赖信息,其中,所述代码文件依赖信息中包括至少一个该文件名列表中的代码子文件所归属的代码文件;
针对每一个代码文件,根据所述代码文件依赖信息,判断所述代码文件依赖信息中的各代码文件的状态;
针对每一个代码文件,若确定所述代码文件依赖信息中的代码文件的状态为开放状态,则根据处于开放状态的代码文件,生成所述代码文件列表。
进一步地,所述第二确定模块,被具体配置为:
针对每一个代码文件,确定处于开放状态的其他代码文件,并确定处于开放状态的其他代码文件下的代码子文件;
针对每一个代码文件,判断处于开放状态的其他代码文件下的代码子文件中,是否具有所述文件名列表中的代码子文件;
针对每一个代码文件,在确定具有时,根据具有所述文件名列表中的代码子文件、且将处于开放状态的其他代码文件,生成所述代码文件列表。
进一步地,所述装置,还包括:
编译模块,被配置为在所述第二确定模块针对每一个代码文件,根据所述文件名列表,确定与所述代码文件对应的代码文件列表之后,根据各代码文件的各代码文件列表,对各代码文件进行编译。
进一步地,所述代码子文件中包括以下信息的至少一种:
代码版本信息、代码路径、代码子文件标识。
本公开的实施例提供的技术方案可以包括以下有益效果:通过获取各开发用户的各代码文件,其中,一个代码文件中包括至少一个代码子文件;针对每一个代码文件,根据各代码子文件,确定与代码文件对应的文件名列表,其中,文件名列表中包括各被至少一个代码子文件依赖、且不属于代码文件的代码子文件;针对每一个代码文件,根据文件名列表,确定与代码文件对应的代码文件列表,其中,代码文件列表中包括至少一个其他代码文件,其他代码文件为文件名列表中的代码子文件所对应的代码文件,且其他代码文件处于开放状态。从而提供了一种分析代码依赖关系的方法,可以自动的分析各代码文件之间的依赖关系。进而,在多个开发人员共同负责同一个开发项目的时候,尤其是在多人开发的代码依赖关系复杂这种情况下,可以安全、便捷的获取源代码的依赖关系,然后便于进行调试、测试;不管是在代码的编译阶段还是调试、测试阶段,都提供了一种稳定的技术支持,极大的解决了代码依赖关系复杂而导致的开发和调试失败问题,提高了开发人员的工作效率。
根据本公开实施例的第三方面,提供一种终端,包括:
处理器,以及用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:获取各开发用户的各代码文件,其中,一个所述代码文件中包括至少一个代码子文件;针对每一个代码文件,根据各所述代码子文件,确定与代码文件对应的文件名列表,其中,所述文件名列表中包括各被至少一个所述代码子文件依赖、且不属于所述代码文件的代码子文件;针对每一个代码文件,根据所述文件名列表,确定与所述代码文件对应的代码文件列表,其中,所述代码文件列表中包括至少一个其他代码文件,所述其他代码文件为所述文件名列表中的代码子文件所对应的代码文件,且所述其他代码文件处于开放状态。
本公开的实施例提供的技术方案可以包括以下有益效果:通过获取各开发用户的各代码文件,其中,一个代码文件中包括至少一个代码子文件;针对每一个代码文件,根据各代码子文件,确定与代码文件对应的文件名列表,其中,文件名列表中包括各被至少一个代码子文件依赖、且不属于代码文件的代码子文件;针对每一个代码文件,根据文件名列表,确定与代码文件对应的代码文件列表,其中,代码文件列表中包括至少一个其他代码文件,其他代码文件为文件名列表中的代码子文件所对应的代码文件,且其他代码文件处于开放状态。从而提供了一种分析代码依赖关系的方法,可以自动的分析各代码文件之间的依赖关系。进而,在多个开发人员共同负责同一个开发项目的时候,尤其是在多人开发的代码依赖关系复杂这种情况下,可以安全、便捷的获取源代码的依赖关系,然后便于进行调试、测试;不管是在代码的编译阶段还是调试、测试阶段,都提供了一种稳定的技术支持,极大的解决了代码依赖关系复杂而导致的开发和调试失败问题,提高了开发人员的工作效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的一种代码编译的处理方法实施例一的流程图;
图2是根据一示例性实施例示出的一种代码编译的处理方法实施例二的流程图;
图3是根据一示例性实施例示出的一种代码编译的处理方法装置实施例三的框图;
图4是根据一示例性实施例示出的一种代码编译的处理方法装置实施例四的框图;
图5是根据一示例性实施例示出的一种终端的实体的框图;
图6是根据一示例性实施例示出的一种终端设备800的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种代码编译的处理方法实施例一的流程图,如图1所示,代码编译的处理方法用于终端中,该终端包括移动终端、个人终端等等,例如触屏手机、平板电脑、个人电脑等,该方法包括以下步骤。
在步骤S11中,获取各开发用户的各代码文件,其中,一个所述代码文件中包括至少一个代码子文件。
在本步骤中,在各开发用户进行了各自的代码文件的开发之后,终端可以获取到各开发用户的各代码文件。例如,各开发用户可以向终端中输入或拷贝各自的代码文件,或者,终端可以向各开发用户的终端中去获取各代码文件,或者,终端可以向代码库中去获取各开发用户的各代码文件。
其中,每一个代码文件中包括至少一个代码子文件。代码子文件,包括以下信息的至少一种:代码内容、代码版本信息、代码路径、代码子文件标识。
举例来说,本步骤由一个代码监测模块执行,该代码监测模块负责监听代码库的动态;该代码监测模块的输入为无,输出为提交代码文件的相关信息;从而该代码监测模块可以从代码库中获取开发人员提交的代码文件,从代码文件的代码子文件中获取到各代码子文件的代码路径、代码位于的版本分支、代码的内容、代码子文件标识,同时获取到代码文件的唯一标识changeID等信息。
在步骤S12中,针对每一个代码文件,根据各所述代码子文件,确定与代码文件对应的文件名列表,其中,所述文件名列表中包括各被至少一个所述代码子文件依赖、且不属于所述代码文件的代码子文件。
在本步骤中,针对每一个代码文件来说,对于一个代码文件中的每一个代码子文件,终端根据代码子文件中的信息,终端确定出当前代码子文件所依赖的、且不属于当前代码文件的代码子文件。针对每一个代码文件来说,终端执行以上过程,进而确定出代码文件中的各代码子文件所依赖的、且不属于当前代码文件的代码子文件,然后得到一个代码文件对应的文件名列表。
举例来说,对于代码文件changeID=1来说,该代码文件中具有3个代码子文件,分别为A代码子文件、B代码子文件、C代码子文件。终端可以确定出一个文件名列表,该文件名列表中包括了D代码子文件、E代码子文件、F代码子文件;文件名列表中子文件,为被代码文件changeID=1中至少一个代码子文件所依赖、且不属于代码文件changeID=1的代码子文件。例如,本步骤可以由代码扫描模块执行,可以向代码扫描模块中输入代码文件1,该代码扫描模块可以输出一个文件名列表;该文件名列表是一个字符串列表,如[“com.xiaomi.framework.base”,“com.miui.whetstone.strategy”…],这表示com.xiaomi.framework.base文件和com.miui.whetstone.strategy等代码子文件在输入的代码文件1中引用依赖,且com.xiaomi.framework.base文件和com.miui.whetstone.strategy等代码子文件是不存在于代码文件1中的。
在步骤S13中,针对每一个代码文件,根据所述文件名列表,确定与所述代码文件对应的代码文件列表,其中,所述代码文件列表中包括至少一个其他代码文件,所述其他代码文件为所述文件名列表中的代码子文件所对应的代码文件,且所述其他代码文件处于开放状态。
在本步骤中,针对每一个代码文件,终端可以确定出文件名列表中的代码子文件所对应的代码文件,然后终端判断确定出的代码文件的状态是否处于开发状态。终端可以确定出处于开发状态的代码文件,然后,终端根据这些处于开发状态的代码文件,得到一个代码文件列表。
本实施例可以由终端中的一个代码状态判断模块执行,可以向代码状态判断模块中输入文件名列表,然后可以得到文件名列表中的代码子文件所对应的代码文件中,处于开放状态的代码文件,得到了一个代码文件列表。该代码文件列表例如为[‘30122’,’30211’…]。
举例来说,对于代码文件changeID=1来说,该代码文件中具有3个代码子文件,分别为A代码子文件、B代码子文件、C代码子文件。终端可以确定出一个文件名列表,该文件名列表中包括了D代码子文件、E代码子文件、F代码子文件;文件名列表中子文件,为被代码文件changeID=1中至少一个代码子文件所依赖、且不属于代码文件changeID=1的代码子文件。然后,终端可以确定文件名列表的D代码子文件归属于代码文件changeID=2,确定文件名列表的E代码子文件归属于代码文件changeID=2、确定文件名列表的F代码子文件归属于代码文件changeID=3。然后,终端分别判断代码文件changeID=2、代码文件changeID=3是否处于开放状态,终端可以确定代码文件changeID=2处于开放状态,则终端就可以根据代码文件changeID=2生成一个与代码文件changeID=1对应的代码文件列表,该代码文件列表中包括代码文件changeID=2的标识changeID=2。
本实施例通过获取各开发用户的各代码文件,其中,一个代码文件中包括至少一个代码子文件;针对每一个代码文件,根据各代码子文件,确定与代码文件对应的文件名列表,其中,文件名列表中包括各被至少一个代码子文件依赖、且不属于代码文件的代码子文件;针对每一个代码文件,根据文件名列表,确定与代码文件对应的代码文件列表,其中,代码文件列表中包括至少一个其他代码文件,其他代码文件为文件名列表中的代码子文件所对应的代码文件,且其他代码文件处于开放状态。从而提供了一种分析代码依赖关系的方法,可以自动的分析各代码文件之间的依赖关系。进而,在多个开发人员共同负责同一个开发项目的时候,尤其是在多人开发的代码依赖关系复杂这种情况下,可以安全、便捷的获取源代码的依赖关系,然后便于进行调试、测试;不管是在代码的编译阶段还是调试、测试阶段,都提供了一种稳定的技术支持,极大的解决了代码依赖关系复杂而导致的开发和调试失败问题,提高了开发人员的工作效率。
图2是根据一示例性实施例示出的一种代码编译的处理方法实施例二的流程图,如图2所示,该方法包括以下步骤。
在步骤S21中,获取各开发用户的各代码文件,其中,一个所述代码文件中包括至少一个代码子文件,所述代码子文件中包括代码内容。
在本步骤中,本步骤参见图1的步骤S11。
在步骤S22中,针对每一个代码文件的每一个代码子文件,根据该代码子文件的代码内容,确定该代码子文件的包含信息,其中,所述包含信息为该代码子文件的代码内容中所依赖的各代码子文件。
在本步骤中,针对每一个代码文件来说,对于一个代码文件中的每一个代码子文件,终端根据代码子文件中的代码内容,终端确定出当前代码子文件的代码内容所依赖的各代码子文件,进而得到当前代码子文件的包含信息。针对每一个代码文件来说,终端执行以上过程,进而确定出每一个代码文件的每一个代码子文件的包含信息。
举例来说,对于代码文件changeID=1来说,该代码文件中具有3个代码子文件,分别为A代码子文件、B代码子文件、C代码子文件。终端根据A代码子文件的代码内容,确定A代码子文件的代码内容中所依赖的各代码子文件为B代码子文件、C代码子文件、D代码子文件;终端根据B代码子文件的代码内容,确定B代码子文件的代码内容中所依赖的各代码子文件为A代码子文件、E代码子文件;终端根据C代码子文件的代码内容,确定C代码子文件的代码内容中所依赖的各代码子文件为F代码子文件、G代码子文件。
在步骤S23中,针对每一个代码文件的每一个代码子文件,根据该代码子文件的包含信息,确定该代码子文件的分析信息,其中,所述分析信息为所述包含信息中的不属于与该代码子文件对应的代码文件的代码子文件;针对每一个代码文件,根据代码文件的各代码子文件的各分析信息,生成与代码文件对应的文件名列表。
在本步骤中,针对每一个代码文件的每一个代码子文件,终端根据该代码子文件的包含信息,确定出包含信息中的不属于与该代码子文件对应的代码文件的代码子文件,进而得到该代码子文件的分析信息。针对每一个代码文件来说,终端执行以上过程,进而确定出每一个代码文件的每一个代码子文件的分析信息。
然后,根据代码文件的各代码子文件的各分析信息,生成与代码文件对应的文件名列表。
举例来说,对于代码文件changeID=1来说,该代码文件中具有3个代码子文件,分别为A代码子文件、B代码子文件、C代码子文件。终端根据A代码子文件的代码内容,确定A代码子文件的包含信息为B代码子文件、C代码子文件、D代码子文件;终端根据B代码子文件的代码内容,确定B代码子文件的包含信息为A代码子文件、E代码子文件;终端根据C代码子文件的代码内容,确定C代码子文件的包含信息为F代码子文件、G代码子文件。然后,终端可以确定A代码子文件的分析信息中的D代码子文件是不属于代码文件changeID=1的,则确定A代码子文件的分析信息为D代码子文件;终端可以确定B代码子文件的分析信息中的E代码子文件是不属于代码文件changeID=1的,则确定B代码子文件的分析信息为E代码子文件;然后,终端可以确定C代码子文件的分析信息中的F代码子文件和G代码子文件是不属于代码文件changeID=1的,则确定C代码子文件的分析信息为F代码子文件和G代码子文件。然后,终端将代码文件changeID=1的各代码子文件的各分析信息下的代码子文件的标识,写入到与代码文件changeID=1对应的文件名列表中,得到文件名列表为D代码子文件、E代码子文件、F代码子文件和G代码子文件。
在步骤S24中,针对每一个代码文件,根据所述文件名列表,确定与所述代码文件对应的代码文件列表,其中,所述代码文件列表中包括至少一个其他代码文件,所述其他代码文件为所述文件名列表中的代码子文件所对应的代码文件,且所述其他代码文件处于开放状态。
其中,步骤S24的具体实现方式有两种:
第一种实现方式为:针对每一个代码文件,根据与该代码文件对应的文件名列表中的代码子文件,确定代码文件依赖信息,其中,所述代码文件依赖信息中包括至少一个该文件名列表中的代码子文件所归属的代码文件;针对每一个代码文件,根据所述代码文件依赖信息,判断所述代码文件依赖信息中的各代码文件的状态;针对每一个代码文件,若确定所述代码文件依赖信息中的代码文件的状态为开放状态,则根据处于开放状态的代码文件,生成所述代码文件列表。
第二种实现方式为:针对每一个代码文件,确定处于开放状态的其他代码文件,并确定处于开放状态的其他代码文件下的代码子文件;针对每一个代码文件,判断处于开放状态的其他代码文件下的代码子文件中,是否具有所述文件名列表中的代码子文件;针对每一个代码文件,在确定具有时,根据具有所述文件名列表中的代码子文件、且将处于开放状态的其他代码文件,生成所述代码文件列表。
在本步骤中,针对每一个代码文件,终端根据文件名列表,确定与代码文件对应的代码文件列表的过程,具有两种实现方式。
第一种方式为以下过程。针对每一个代码文件,终端根据与该代码文件对应的文件名列表中的代码子文件,查询出该文件名列表中的代码子文件所归属的代码文件,进而得到该代码文件的代码文件依赖信息;然后,由于代码文件在代码库中具有几种状态,包括有开放(Open,简称open)状态以及关闭状态,其中,关闭状态有merged或者closed或者abandon等关闭状态;终端在代码库中,查询该代码文件的代码文件依赖信息中的各代码文件的状态是否是open状态;然后,终端根据代码文件依赖信息中的处于open状态的代码文件,生成该代码文件的代码文件列表。
举例来说,终端得到代码文件changeID=1对应的文件名列表,该文件名列表为D代码子文件、E代码子文件、F代码子文件和G代码子文件;终端确定D代码子文件所归属的代码文件为代码文件changeID=2,确定E代码子文件所归属的代码文件为代码文件changeID=3,确定F代码子文件所归属的代码文件为代码文件changeID=3,确定G代码子文件所归属的代码文件为代码文件changeID=4,进而得到代码文件changeID=1的代码文件依赖信息为代码文件changeID=2、代码文件changeID=3、代码文件changeID=4。然后终端针对代码文件changeID=2、代码文件changeID=3、代码文件changeID=4,去代码库管理***中检查这些changeID的状态,如果changeID的状态是merged或者closed或者abandon等关闭状态,则跳过继续检查,遇到open状态的changeID时,将此changeID追加放入输出的列表中,并进行下一个changeID的检查,进而终端可以确定代码文件changeID=2、代码文件changeID=3处于open状态,进而得到一个代码文件列表,在该代码文件列表中包括了代码文件changeID=2的标识、代码文件changeID=3的标识。
第二种方式为以下过程。针对每一个代码文件,终端确定所有处于开放状态的其他代码文件,然后确定出处于开放状态的其他代码文件下的代码子文件;终端再继续判断处于开放状态的其他代码文件下的代码子文件中,是否具有当前代码文件的文件名列表中的代码子文件;然后终端在确定具有时,终端就可以根据具有文件名列表中的代码子文件、且将处于开放状态的其他代码文件,生成当前代码文件的代码文件列表。
举例来说,终端得到代码文件changeID=1对应的文件名列表,该文件名列表为D代码子文件、E代码子文件、F代码子文件和G代码子文件;终端在代码库中进行扫描,选出所有处于open状态的代码文件,有代码文件changeID=2、代码文件changeID=3、代码文件changeID=4等等;然后,终端所有处于open状态的代码文件下的各代码子文件中,是否具有当前的文件名列表中的代码子文件;终端可以确定处于open状态的代码文件changeID=2中具有当前的文件名列表中的D代码子文件,确定处于open状态的代码文件changeID=3中具有当前的文件名列表中的E代码子文件和F代码子文件;终端就可以根据代码文件changeID=2、代码文件changeID=3,得到一个代码文件列表,在该代码文件列表中包括了代码文件changeID=2的标识、代码文件changeID=3的标识。
在步骤S25中,根据各代码文件的各代码文件列表,对各代码文件进行编译。
在本步骤中,终端得到了各代码文件的各代码文件列表之后,就可以确定各代码文件之间的依赖关系了,然后,终端就可以根据各代码文件的各代码文件列表,对各代码文件进行编译了。
本实施例通过获取各开发用户的各代码文件,其中,一个代码文件中包括至少一个代码子文件;针对每一个代码文件,根据各代码子文件,确定与代码文件对应的文件名列表,其中,文件名列表中包括各被至少一个代码子文件依赖、且不属于代码文件的代码子文件;针对每一个代码文件,根据文件名列表,确定与代码文件对应的代码文件列表,其中,代码文件列表中包括至少一个其他代码文件,其他代码文件为文件名列表中的代码子文件所对应的代码文件,且其他代码文件处于开放状态;根据各代码文件的各代码文件列表,对各代码文件进行编译。从而提供了一种分析代码依赖关系的方法,可以自动的分析各代码文件之间的依赖关系。进而,在多个开发人员共同负责同一个开发项目的时候,尤其是在多人开发的代码依赖关系复杂这种情况下,可以安全、便捷的获取源代码的依赖关系,然后便于进行调试、测试;不管是在代码的编译阶段还是调试、测试阶段,都提供了一种稳定的技术支持,极大的解决了代码依赖关系复杂而导致的开发和调试失败问题,提高了开发人员的工作效率。
图3是根据一示例性实施例示出的一种代码编译的处理方法装置实施例三的框图。参照图3,该装置包括:
获取模块31,被配置为获取各开发用户的各代码文件,其中,一个所述代码文件中包括至少一个代码子文件;
第一确定模块32,被配置为针对每一个代码文件,根据各所述代码子文件,确定与代码文件对应的文件名列表,其中,所述文件名列表中包括各被至少一个所述代码子文件依赖、且不属于所述代码文件的代码子文件;
第二确定模块33,被配置为针对每一个代码文件,根据所述文件名列表,确定与所述代码文件对应的代码文件列表,其中,所述代码文件列表中包括至少一个其他代码文件,所述其他代码文件为所述文件名列表中的代码子文件所对应的代码文件,且所述其他代码文件处于开放状态。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本实施例通过获取各开发用户的各代码文件,其中,一个代码文件中包括至少一个代码子文件;针对每一个代码文件,根据各代码子文件,确定与代码文件对应的文件名列表,其中,文件名列表中包括各被至少一个代码子文件依赖、且不属于代码文件的代码子文件;针对每一个代码文件,根据文件名列表,确定与代码文件对应的代码文件列表,其中,代码文件列表中包括至少一个其他代码文件,其他代码文件为文件名列表中的代码子文件所对应的代码文件,且其他代码文件处于开放状态。从而提供了一种分析代码依赖关系的方法,可以自动的分析各代码文件之间的依赖关系。进而,在多个开发人员共同负责同一个开发项目的时候,尤其是在多人开发的代码依赖关系复杂这种情况下,可以安全、便捷的获取源代码的依赖关系,然后便于进行调试、测试;不管是在代码的编译阶段还是调试、测试阶段,都提供了一种稳定的技术支持,极大的解决了代码依赖关系复杂而导致的开发和调试失败问题,提高了开发人员的工作效率。
图4是根据一示例性实施例示出的一种代码编译的处理方法装置实施例四的框图。参照图4,所述代码子文件中包括代码内容;所述第一确定模块32,被具体配置为:
针对每一个代码文件的每一个代码子文件,根据该代码子文件的代码内容,确定该代码子文件的包含信息,其中,所述包含信息为该代码子文件的代码内容中所依赖的各代码子文件;
针对每一个代码文件的每一个代码子文件,根据该代码子文件的包含信息,确定该代码子文件的分析信息,其中,所述分析信息为所述包含信息中的不属于与该代码子文件对应的代码文件的代码子文件;
针对每一个代码文件,根据代码文件的各代码子文件的各分析信息,生成与代码文件对应的文件名列表。
所述第二确定模块33,被具体配置为:
针对每一个代码文件,根据与该代码文件对应的文件名列表中的代码子文件,确定代码文件依赖信息,其中,所述代码文件依赖信息中包括至少一个该文件名列表中的代码子文件所归属的代码文件;
针对每一个代码文件,根据所述代码文件依赖信息,判断所述代码文件依赖信息中的各代码文件的状态;
针对每一个代码文件,若确定所述代码文件依赖信息中的代码文件的状态为开放状态,则根据处于开放状态的代码文件,生成所述代码文件列表。
或者,所述第二确定模块33,被具体配置为:
针对每一个代码文件,确定处于开放状态的其他代码文件,并确定处于开放状态的其他代码文件下的代码子文件;
针对每一个代码文件,判断处于开放状态的其他代码文件下的代码子文件中,是否具有所述文件名列表中的代码子文件;
针对每一个代码文件,在确定具有时,根据具有所述文件名列表中的代码子文件、且将处于开放状态的其他代码文件,生成所述代码文件列表。
本实施例提供的装置,还包括:
编译模块41,被配置为在所述第二确定模块33针对每一个代码文件,根据所述文件名列表,确定与所述代码文件对应的代码文件列表之后,根据各代码文件的各代码文件列表,对各代码文件进行编译。
所述代码子文件中包括以下信息的至少一种:代码版本信息、代码路径、代码子文件标识。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本实施例通过获取各开发用户的各代码文件,其中,一个代码文件中包括至少一个代码子文件;针对每一个代码文件,根据各代码子文件,确定与代码文件对应的文件名列表,其中,文件名列表中包括各被至少一个代码子文件依赖、且不属于代码文件的代码子文件;针对每一个代码文件,根据文件名列表,确定与代码文件对应的代码文件列表,其中,代码文件列表中包括至少一个其他代码文件,其他代码文件为文件名列表中的代码子文件所对应的代码文件,且其他代码文件处于开放状态;根据各代码文件的各代码文件列表,对各代码文件进行编译。从而提供了一种分析代码依赖关系的方法,可以自动的分析各代码文件之间的依赖关系。进而,在多个开发人员共同负责同一个开发项目的时候,尤其是在多人开发的代码依赖关系复杂这种情况下,可以安全、便捷的获取源代码的依赖关系,然后便于进行调试、测试;不管是在代码的编译阶段还是调试、测试阶段,都提供了一种稳定的技术支持,极大的解决了代码依赖关系复杂而导致的开发和调试失败问题,提高了开发人员的工作效率。
图5是根据一示例性实施例示出的一种终端的实体的框图。参照图5,该终端可以具体实现为:处理器51,以及被配置为存储处理器可执行指令的存储器52;
其中,所述处理器51被配置为:获取各开发用户的各代码文件,其中,一个所述代码文件中包括至少一个代码子文件;针对每一个代码文件,根据各所述代码子文件,确定与代码文件对应的文件名列表,其中,所述文件名列表中包括各被至少一个所述代码子文件依赖、且不属于所述代码文件的代码子文件;针对每一个代码文件,根据所述文件名列表,确定与所述代码文件对应的代码文件列表,其中,所述代码文件列表中包括至少一个其他代码文件,所述其他代码文件为所述文件名列表中的代码子文件所对应的代码文件,且所述其他代码文件处于开放状态。
在上述实施例中,应理解,该处理器可以是中央处理单元(英文:CentralProcessing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:DigitalSignal Processor,简称:DSP)、专用集成电路(英文:Application Specific IntegratedCircuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,而前述的存储器可以是只读存储器(英文:read-only memory,缩写:ROM)、随机存取存储器(英文:random access memory,简称:RAM)、快闪存储器、硬盘或者固态硬盘。SIM卡也称为用户身份识别卡、智能卡,数字移动电话机必须装上此卡方能使用。即在电脑芯片上存储了数字移动电话客户的信息,加密的密钥以及用户的电话簿等内容。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
关于上述实施例中的终端,其中各个模块执行操作的具体方式已经在有关该方法和装置的实施例中进行了详细描述,此处将不做详细阐述说明。
本实施例通过获取各开发用户的各代码文件,其中,一个代码文件中包括至少一个代码子文件;针对每一个代码文件,根据各代码子文件,确定与代码文件对应的文件名列表,其中,文件名列表中包括各被至少一个代码子文件依赖、且不属于代码文件的代码子文件;针对每一个代码文件,根据文件名列表,确定与代码文件对应的代码文件列表,其中,代码文件列表中包括至少一个其他代码文件,其他代码文件为文件名列表中的代码子文件所对应的代码文件,且其他代码文件处于开放状态。从而提供了一种分析代码依赖关系的方法,可以自动的分析各代码文件之间的依赖关系。进而,在多个开发人员共同负责同一个开发项目的时候,尤其是在多人开发的代码依赖关系复杂这种情况下,可以安全、便捷的获取源代码的依赖关系,然后便于进行调试、测试;不管是在代码的编译阶段还是调试、测试阶段,都提供了一种稳定的技术支持,极大的解决了代码依赖关系复杂而导致的开发和调试失败问题,提高了开发人员的工作效率。
图6是根据一示例性实施例示出的一种终端设备800的框图。例如,终端设备800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图6,终端设备800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制终端设备800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在终端设备800的操作。这些数据的示例包括用于在终端设备800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为终端设备800的各种组件提供电力。电源组件806可以包括电源管理***,一个或多个电源,及其他与为终端设备800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述终端设备800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当终端设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜***或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当终端设备800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和***接口模块之间提供接口,上述***接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为终端设备800提供各个方面的状态评估。例如,传感器组件814可以检测到终端设备800的打开/关闭状态,组件的相对定位,例如所述组件为终端设备800的显示器和小键盘,传感器组件814还可以检测终端设备800或终端设备800一个组件的位置改变,用户与终端设备800接触的存在或不存在,终端设备800方位或加速/减速和终端设备800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于终端设备800和其他设备之间有线或无线方式的通信。终端设备800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理***的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,终端设备800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由终端设备800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由移动终端的处理器执行时,使得移动终端能够执行一种代码编译的处理方法,所述方法包括:
获取各开发用户的各代码文件,其中,一个所述代码文件中包括至少一个代码子文件;
针对每一个代码文件,根据各所述代码子文件,确定与代码文件对应的文件名列表,其中,所述文件名列表中包括各被至少一个所述代码子文件依赖、且不属于所述代码文件的代码子文件;
针对每一个代码文件,根据所述文件名列表,确定与所述代码文件对应的代码文件列表,其中,所述代码文件列表中包括至少一个其他代码文件,所述其他代码文件为所述文件名列表中的代码子文件所对应的代码文件,且所述其他代码文件处于开放状态。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

Claims (11)

1.一种代码编译的处理方法,其特征在于,包括:
获取各开发用户的各代码文件,其中,一个所述代码文件中包括至少一个代码子文件;
针对每一个代码文件,根据各所述代码子文件,确定与代码文件对应的文件名列表,其中,所述文件名列表中包括各被至少一个所述代码子文件依赖、且不属于所述代码文件的代码子文件;
针对每一个代码文件,根据所述文件名列表,确定与所述代码文件对应的代码文件列表,其中,所述代码文件列表中包括至少一个其他代码文件,所述其他代码文件为所述文件名列表中的代码子文件所对应的代码文件,且所述其他代码文件处于开放状态;
根据所述文件名列表,确定与所述代码文件对应的代码文件列表,包括:
针对每一个代码文件,根据与该代码文件对应的文件名列表中的代码子文件,确定代码文件依赖信息,其中,所述代码文件依赖信息中包括至少一个该文件名列表中的代码子文件所归属的代码文件;
针对每一个代码文件,根据所述代码文件依赖信息,判断所述代码文件依赖信息中的各代码文件的状态;
针对每一个代码文件,若确定所述代码文件依赖信息中的代码文件的状态为开放状态,则根据处于开放状态的代码文件,生成所述代码文件列表。
2.根据权利要求1所述的方法,其特征在于,所述代码子文件中包括代码内容;
所述针对每一个代码文件,根据各所述代码子文件,确定与代码文件对应的文件名列表,包括:
针对每一个代码文件的每一个代码子文件,根据该代码子文件的代码内容,确定该代码子文件的包含信息,其中,所述包含信息为该代码子文件的代码内容中所依赖的各代码子文件;
针对每一个代码文件的每一个代码子文件,根据该代码子文件的包含信息,确定该代码子文件的分析信息,其中,所述分析信息为所述包含信息中的不属于与该代码子文件对应的代码文件的代码子文件;
针对每一个代码文件,根据代码文件的各代码子文件的各分析信息,生成与代码文件对应的文件名列表。
3.根据权利要求1所述的方法,其特征在于,所述针对每一个代码文件,根据所述文件名列表,确定与所述代码文件对应的代码文件列表,包括:
针对每一个代码文件,确定处于开放状态的其他代码文件,并确定处于开放状态的其他代码文件下的代码子文件;
针对每一个代码文件,判断处于开放状态的其他代码文件下的代码子文件中,是否具有所述文件名列表中的代码子文件;
针对每一个代码文件,在确定具有时,根据具有所述文件名列表中的代码子文件、且将处于开放状态的其他代码文件,生成所述代码文件列表。
4.根据权利要求1-3任一项所述的方法,其特征在于,在所述针对每一个代码文件,根据所述文件名列表,确定与所述代码文件对应的代码文件列表之后,还包括:
根据各代码文件的各代码文件列表,对各代码文件进行编译。
5.根据权利要求1-3任一项所述的方法,其特征在于,所述代码子文件中包括以下信息的至少一种:
代码版本信息、代码路径、代码子文件标识。
6.一种代码编译的处理装置,其特征在于,包括:
获取模块,被配置为获取各开发用户的各代码文件,其中,一个所述代码文件中包括至少一个代码子文件;
第一确定模块,被配置为针对每一个代码文件,根据各所述代码子文件,确定与代码文件对应的文件名列表,其中,所述文件名列表中包括各被至少一个所述代码子文件依赖、且不属于所述代码文件的代码子文件;
第二确定模块,被配置为针对每一个代码文件,根据所述文件名列表,确定与所述代码文件对应的代码文件列表,其中,所述代码文件列表中包括至少一个其他代码文件,所述其他代码文件为所述文件名列表中的代码子文件所对应的代码文件,且所述其他代码文件处于开放状态;
所述第二确定模块,被具体配置为:
针对每一个代码文件,根据与该代码文件对应的文件名列表中的代码子文件,确定代码文件依赖信息,其中,所述代码文件依赖信息中包括至少一个该文件名列表中的代码子文件所归属的代码文件;
针对每一个代码文件,根据所述代码文件依赖信息,判断所述代码文件依赖信息中的各代码文件的状态;
针对每一个代码文件,若确定所述代码文件依赖信息中的代码文件的状态为开放状态,则根据处于开放状态的代码文件,生成所述代码文件列表。
7.根据权利要求6所述的装置,其特征在于,所述代码子文件中包括代码内容;
所述第一确定模块,被具体配置为:
针对每一个代码文件的每一个代码子文件,根据该代码子文件的代码内容,确定该代码子文件的包含信息,其中,所述包含信息为该代码子文件的代码内容中所依赖的各代码子文件;
针对每一个代码文件的每一个代码子文件,根据该代码子文件的包含信息,确定该代码子文件的分析信息,其中,所述分析信息为所述包含信息中的不属于与该代码子文件对应的代码文件的代码子文件;
针对每一个代码文件,根据代码文件的各代码子文件的各分析信息,生成与代码文件对应的文件名列表。
8.根据权利要求6所述的装置,其特征在于,所述第二确定模块,被具体配置为:
针对每一个代码文件,确定处于开放状态的其他代码文件,并确定处于开放状态的其他代码文件下的代码子文件;
针对每一个代码文件,判断处于开放状态的其他代码文件下的代码子文件中,是否具有所述文件名列表中的代码子文件;
针对每一个代码文件,在确定具有时,根据具有所述文件名列表中的代码子文件、且将处于开放状态的其他代码文件,生成所述代码文件列表。
9.根据权利要求6-8任一项所述的装置,其特征在于,所述装置,还包括:
编译模块,被配置为在所述第二确定模块针对每一个代码文件,根据所述文件名列表,确定与所述代码文件对应的代码文件列表之后,根据各代码文件的各代码文件列表,对各代码文件进行编译。
10.根据权利要求6-8任一项所述的装置,其特征在于,所述代码子文件中包括以下信息的至少一种:
代码版本信息、代码路径、代码子文件标识。
11.一种终端,其特征在于,包括:
处理器,以及用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:获取各开发用户的各代码文件,其中,一个所述代码文件中包括至少一个代码子文件;针对每一个代码文件,根据各所述代码子文件,确定与代码文件对应的文件名列表,其中,所述文件名列表中包括各被至少一个所述代码子文件依赖、且不属于所述代码文件的代码子文件;针对每一个代码文件,根据所述文件名列表,确定与所述代码文件对应的代码文件列表,其中,所述代码文件列表中包括至少一个其他代码文件,所述其他代码文件为所述文件名列表中的代码子文件所对应的代码文件,且所述其他代码文件处于开放状态;
根据所述文件名列表,确定与所述代码文件对应的代码文件列表,包括:
针对每一个代码文件,根据与该代码文件对应的文件名列表中的代码子文件,确定代码文件依赖信息,其中,所述代码文件依赖信息中包括至少一个该文件名列表中的代码子文件所归属的代码文件;
针对每一个代码文件,根据所述代码文件依赖信息,判断所述代码文件依赖信息中的各代码文件的状态;
针对每一个代码文件,若确定所述代码文件依赖信息中的代码文件的状态为开放状态,则根据处于开放状态的代码文件,生成所述代码文件列表。
CN201710342999.1A 2017-05-16 2017-05-16 代码编译的处理方法、装置及终端 Active CN107193622B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710342999.1A CN107193622B (zh) 2017-05-16 2017-05-16 代码编译的处理方法、装置及终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710342999.1A CN107193622B (zh) 2017-05-16 2017-05-16 代码编译的处理方法、装置及终端

Publications (2)

Publication Number Publication Date
CN107193622A CN107193622A (zh) 2017-09-22
CN107193622B true CN107193622B (zh) 2020-03-17

Family

ID=59873641

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710342999.1A Active CN107193622B (zh) 2017-05-16 2017-05-16 代码编译的处理方法、装置及终端

Country Status (1)

Country Link
CN (1) CN107193622B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111984944B (zh) * 2020-08-28 2024-04-19 重庆小雨点小额贷款有限公司 一种源代码处理方法、相关装置及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102880466A (zh) * 2012-09-04 2013-01-16 中标软件有限公司 一种Linux操作***软件包依赖关系检测方法
CN104077140A (zh) * 2014-07-04 2014-10-01 用友软件股份有限公司 用于持续集成的自动化编译方法和编译装置
CN104991773A (zh) * 2015-06-30 2015-10-21 小米科技有限责任公司 程序生成方法及装置
CN105354037A (zh) * 2015-11-30 2016-02-24 用友优普信息技术有限公司 模块化的软件开发方法及软件开发装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102880466A (zh) * 2012-09-04 2013-01-16 中标软件有限公司 一种Linux操作***软件包依赖关系检测方法
CN104077140A (zh) * 2014-07-04 2014-10-01 用友软件股份有限公司 用于持续集成的自动化编译方法和编译装置
CN104991773A (zh) * 2015-06-30 2015-10-21 小米科技有限责任公司 程序生成方法及装置
CN105354037A (zh) * 2015-11-30 2016-02-24 用友优普信息技术有限公司 模块化的软件开发方法及软件开发装置

Also Published As

Publication number Publication date
CN107193622A (zh) 2017-09-22

Similar Documents

Publication Publication Date Title
CN109032606B (zh) 原生应用程序的编译处理方法、装置及终端
CN111221559B (zh) 应用更新方法、装置、存储介质、终端及服务器
CN111274131A (zh) 接口测试方法、装置、电子设备及存储介质
CN108764003B (zh) 图片识别方法及装置
CN107423218B (zh) 应用测试方法、装置及终端
CN111240694B (zh) 应用检测方法、应用检测装置及存储介质
CN109814942B (zh) 一种参数处理方法及装置
CN115185717B (zh) 接口调用方法、装置、电子设备和存储介质
CN107911482B (zh) 目标应用打开方法及装置
CN111221733A (zh) 信息处理方法、装置、移动终端及存储介质
CN107562500B (zh) 调试装置、方法及设备
CN113377370A (zh) 一种文件处理方法、装置、电子设备及存储介质
CN107463372B (zh) 一种数据驱动的页面更新方法和装置
CN109684112B (zh) 程序文件运行方法、装置、终端及存储介质
CN111538502A (zh) 安装包的处理方法、装置、电子设备及存储介质
CN108280342B (zh) 应用同步方法和装置、用于应用同步的装置
CN109344051B (zh) 数据处理的方法、装置、电子设备及存储介质
CN110852163A (zh) 绑定方法及装置
CN116069612A (zh) 一种异常定位方法、装置和电子设备
CN107193622B (zh) 代码编译的处理方法、装置及终端
CN110221813B (zh) 应用的数据连接建立方法、装置、存储介质和电子设备
CN112114814A (zh) 编译文件确定方法及装置、应用程序生成方法及装置
CN106293683B (zh) 一种项目的编译方法及装置
CN111913756A (zh) 应用程序的优化方法、装置、***、电子设备及存储介质
CN112631695B (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
GR01 Patent grant
GR01 Patent grant