CN111158701A - 库模块发布方法、装置、设备及存储介质 - Google Patents

库模块发布方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN111158701A
CN111158701A CN201911310523.5A CN201911310523A CN111158701A CN 111158701 A CN111158701 A CN 111158701A CN 201911310523 A CN201911310523 A CN 201911310523A CN 111158701 A CN111158701 A CN 111158701A
Authority
CN
China
Prior art keywords
library module
dependency
module
issuing
access
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.)
Granted
Application number
CN201911310523.5A
Other languages
English (en)
Other versions
CN111158701B (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.)
Guangzhou Huaduo Network Technology Co Ltd
Original Assignee
Guangzhou Huaduo Network Technology 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 Guangzhou Huaduo Network Technology Co Ltd filed Critical Guangzhou Huaduo Network Technology Co Ltd
Priority to CN201911310523.5A priority Critical patent/CN111158701B/zh
Publication of CN111158701A publication Critical patent/CN111158701A/zh
Application granted granted Critical
Publication of CN111158701B publication Critical patent/CN111158701B/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/60Software deployment
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

本申请公开了一种库模块发布方法、装置、设备及存储介质,属于计算机技术领域。所述方法包括:获取待发布的发布库模块所依赖的依赖库模块的标识;基于该依赖库模块的标识判断该依赖库模块是否访问受限,得到判断结果;将该发布库模块发布至共享仓库中,并根据该判断结果确定是否将该依赖库模块共同发布至该共享仓库中。本申请实施例提供的技术方案可以保证库模块的正常使用。

Description

库模块发布方法、装置、设备及存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种库模块发布方法、装置、设备及存储介质。
背景技术
实际应用中,安卓系统的开发人员可以将库模块发布至共享仓库中,以使访问该共享仓库的其他人员能够调用该库模块。其中,库模块是安卓系统中应用程序的一种组成部分,库模块可以被调用,以通过调用实现该库模块的功能。
相关技术中,开发人员可以将一个工程包括的多个库模块打包发布至共享仓库中,然而,利用这样的发布方式发布的库模块很可能不能被正常使用。
发明内容
基于此,本申请实施例提供了一种库模块发布方法、装置、设备及存储介质,可以保证库模块的正常使用。
第一方面,提供了一种库模块发布方法,该方法包括:
获取待发布的发布库模块所依赖的依赖库模块的标识;基于该依赖库模块的标识判断该依赖库模块是否访问受限,得到判断结果;将该发布库模块发布至共享仓库中,并根据该判断结果确定是否将该依赖库模块共同发布至该共享仓库中。
在其中一个实施例中,基于该依赖库模块的标识判断该依赖库模块是否访问受限,得到判断结果,包括:
基于该依赖库模块的标识判断该依赖库模块是否与该发布库模块属于同一工程;若该依赖库模块与该发布库模块属于同一工程,确定该判断结果为该依赖库模块访问不受限。
在其中一个实施例中,该方法还包括:
若该依赖库模块与该发布库模块不属于同一工程,则基于该依赖库模块的标识判断该依赖库模块是否位于访问受限的仓库内;若该依赖库模块位于访问受限的仓库内,确定该判断结果为该依赖库模块访问受限;若该依赖库模块不位于访问受限的仓库内,确定该判断结果为该依赖库模块访问不受限。
在其中一个实施例中,根据该判断结果确定是否将该依赖库模块共同发布至该共享仓库中,包括:
若该判断结果为该依赖库模块访问不受限,则禁止将该依赖库模块共同发布至该共享仓库中;若该判断结果为该依赖库模块访问受限,则将该依赖库模块共同发布至该共享仓库中。
在其中一个实施例中,该方法还包括:
将该依赖库模块的标识写入该发布库模块的依赖配置文件中,并将该发布库模块的依赖配置文件发布至该共享仓库中。
在其中一个实施例中,基于该依赖库模块的标识判断该依赖库模块是否位于访问受限的仓库内,包括:
创建发布任务,该发布任务包括判断该依赖库模块是否位于访问受限的仓库的条件参数;在执行该发布任务的过程中,利用该发布任务中的条件参数,根据该依赖库模块的标识判断该发布库模块是否位于访问受限的仓库内。
在其中一个实施例中,获取待发布的发布库模块所依赖的依赖库模块的标识,包括:
获取该发布库模块直接依赖的第一依赖库模块的标识以及该第一依赖库模块的第一依赖配置文件;根据该第一依赖配置文件,获取该发布库模块间接依赖的第二依赖库模块的标识。
在其中一个实施例中,该第二依赖库模块包括第1级至第n级第二依赖库模块,根据该第一依赖配置文件,获取该发布库模块间接依赖的第二依赖库模块的标识,包括:
根据该第一依赖配置文件,搜索第1级第二依赖库模块,根据该第1级第二依赖库模块的依赖配置文件依次搜索第2级至第n级第二依赖库模块,并通过搜索得到该第1级至第n级第二依赖库模块的标识;其中,在搜索第j级第二依赖库模块时,获取已经搜索到的第j-1级第二依赖库模块的依赖配置文件,根据该第j-1级第二依赖库模块的依赖配置文件搜索该第j级第二依赖库模块,j为大于1且小于等于n的整数。
第二方面,提供了一种库模块发布装置,该装置包括:
获取模块,用于获取待发布的发布库模块所依赖的依赖库模块的标识;
判断模块,用于基于该依赖库模块的标识判断该依赖库模块是否访问受限,得到判断结果;
发布模块,用于将该发布库模块发布至共享仓库中,并根据该判断结果确定是否将该依赖库模块共同发布至该共享仓库中。
在其中一个实施例中,该判断模块,具体用于:
基于该依赖库模块的标识判断该依赖库模块是否与该发布库模块属于同一工程;若该依赖库模块与该发布库模块属于同一工程,确定该判断结果为该依赖库模块访问不受限。
在其中一个实施例中,该判断模块,具体用于:
若该依赖库模块与该发布库模块不属于同一工程,则基于该依赖库模块的标识判断该依赖库模块是否位于访问受限的仓库内;若该依赖库模块位于访问受限的仓库内,确定该判断结果为该依赖库模块访问受限;若该依赖库模块不位于访问受限的仓库内,确定该判断结果为该依赖库模块访问不受限。
在其中一个实施例中,该发布模块,具体用于:
若该判断结果为该依赖库模块访问不受限,则禁止将该依赖库模块共同发布至该共享仓库中;若该判断结果为该依赖库模块访问受限,则将该依赖库模块共同发布至该共享仓库中。
在其中一个实施例中,该发布模块,还用于:
将该依赖库模块的标识写入该发布库模块的依赖配置文件中,并将该发布库模块的依赖配置文件发布至该共享仓库中。
在其中一个实施例中,该判断模块,具体用于:
创建发布任务,该发布任务包括判断该依赖库模块是否位于访问受限的仓库的条件参数;在执行该发布任务的过程中,利用该发布任务中的条件参数,根据该依赖库模块的标识判断该发布库模块是否位于访问受限的仓库内。
在其中一个实施例中,该获取模块,具体用于:
获取该发布库模块直接依赖的第一依赖库模块的标识以及该第一依赖库模块的第一依赖配置文件;根据该第一依赖配置文件,获取该发布库模块间接依赖的第二依赖库模块的标识。
在其中一个实施例中,该第二依赖库模块包括第1级至第n级第二依赖库模块,该获取模块,具体用于:
根据该第一依赖配置文件,搜索第1级第二依赖库模块,根据该第1级第二依赖库模块的依赖配置文件依次搜索第2级至第n级第二依赖库模块,并通过搜索得到该第1级至第n级第二依赖库模块的标识;其中,在搜索第j级第二依赖库模块时,获取已经搜索到的第j-1级第二依赖库模块的依赖配置文件,根据该第j-1级第二依赖库模块的依赖配置文件搜索该第j级第二依赖库模块,j为大于1且小于等于n的整数。
第三方面,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该计算机程序被该处理器执行时实现如上述第一方面任一所述的库模块发布方法。
第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述第一方面任一所述的库模块发布方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
通过获取待发布的发布库模块所依赖的依赖库模块的标识,并基于该依赖库模块的标识判断该依赖库模块是否访问受限,从而得到判断结果,而后,将该发布库模块发布至共享仓库中,并根据该判断结果确定是否将该依赖库模块共同发布至该共享仓库中,由于计算机设备可以根据依赖库模块是否访问受限来确定是否将发布库模块和依赖库模块共同发布至共享仓库中,因此,可以保证访问受限的依赖库模块能够和发布库模块一起被发布至共享仓库中,从而使该访问受限的依赖库模块能够在共享仓库中被访问到,这样,就可以保证发布于共享仓库中的发布库模块的正常使用。
附图说明
图1为本申请实施例提供的一种计算机设备的框图;
图2为本申请实施例提供的一种库模块发布方法的流程图;
图3为本申请实施例提供的另一种库模块发布方法的流程图;
图4为本申请实施例提供的另一种库模块发布方法的流程图;
图5为本申请实施例提供的一种库模块发布装置的框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
实际应用中,安卓系统的开发人员可以将库模块(英文:Library Module)发布至共享仓库中,以使访问该共享仓库的其他人员能够调用该库模块。其中,库模块是安卓系统中应用程序的一种组成部分,库模块可以被调用,以通过调用实现该库模块的功能。
实践中比较常见的共享仓库包括Maven仓库,通常情况下,开发人员可以通过Gradle的发布脚本(英文:publish脚本)将一个工程包括的多个库模块打包发布至Maven仓库中。
实际应用中,库模块之间通常存在依赖关系,在实现库模块的功能时,库模块需要调用其依赖的库模块。因此,当共享仓库中的某一库模块被调用时,该库模块就需要调用其所依赖的库模块。然而,在一些情况下,共享仓库中的库模块所依赖的库模块无法被访问到,在出现这种情况时,共享仓库中的库模块就无法被正常使用。
例如,共享仓库中存储有库模块A,该库模块A依赖库模块B,而库模块B无法被访问到,当库模块A被调用时,其需要调用库模块B才能实现自身的功能,而由于库模块B无法被访问到,因此,库模块A就无法实现自身的功能,这导致库模块A无法被正常使用。
有鉴于此,本申请实施例提供了一种库模块发布方法,在该库模块发布方法中,计算机设备可以获取待发布的发布库模块所依赖的依赖库模块的标识,并基于该依赖库模块的标识判断该依赖库模块是否访问受限,从而得到判断结果,而后,计算机设备可以将该发布库模块发布至共享仓库中,并根据该判断结果确定是否将该依赖库模块共同发布至该共享仓库中,由于计算机设备可以根据依赖库模块是否访问受限来确定是否将发布库模块和依赖库模块共同发布至共享仓库中,因此,可以保证访问受限的依赖库模块能够和发布库模块一起被发布至共享仓库中,从而使该访问受限的依赖库模块能够在共享仓库中被访问到,这样,就可以保证发布于共享仓库中的发布库模块的正常使用。
下面,将对本申请实施例提供的库模块发布方法所涉及到的实施环境进行简要说明。
其中,该实施环境可以包括计算机设备,该计算机设备可以为终端或者服务器,该计算机设备可以用于执行本申请实施例提供的库模块发布方法。
请参考图1,其示出了该计算机设备的内部结构图。如图1所示,该计算机设备包括通过系统总线连接的处理器和存储器。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机程序被处理器执行时以实现一种库模块发布方法。
本领域技术人员可以理解,图1中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
请参考图2,其示出了本申请实施例提供的一种库模块发布方法的流程图,如上文所述,该库模块发布方法可以应用于计算机设备中。如图2所示,该库模块发布方法可以包括以下步骤:
步骤201、计算机设备获取待发布的发布库模块所依赖的依赖库模块的标识。
这里所谓的“发布库模块”指的是需要发布至共享仓库中的库模块,该发布库模块可以是一个工程中的库模块。
如上文所述,实际应用中,库模块之间通常存在依赖关系,在实现库模块的功能时,库模块需要调用其依赖的库模块,例如,库模块A依赖库模块B,在实现库模块A的功能时,库模块A需要调用该库模块B。
通常情况下,库模块之间的依赖关系可以包括直接依赖和间接依赖两种,其中,间接依赖指的是两个库模块间通过中间的库模块进行相互依赖,直接依赖指的是两个库模块间不通过中间的库模块进行相互依赖。
例如,库模块A依赖库模块B,库模块B依赖库模块C,由于库模块A和库模块C需要通过中间的库模块B进行相互依赖,因此,库模块A和库模块C之间的依赖关系为间接依赖,由于库模块A和库模块B不需要通过中间的库模块进行相互依赖,库模块B和库模块C也不需要通过中间的库模块进行相互依赖,因此,库模块A和库模块B之间的依赖关系为直接依赖,库模块B和库模块C之间的依赖关系也为直接依赖。
在步骤201中,计算机设备可以调用预先设置的Gradle脚本,通过该Gradle脚本对发布库模块的依赖进行遍历,通过遍历可以得到发布库模块直接依赖的依赖库模块(以下称为第一依赖库模块)的标识,以及间接依赖的依赖库模块(以下称为第二依赖库模块)的标识。
步骤202、计算机设备基于依赖库模块的标识判断依赖库模块是否访问受限,得到判断结果。
实际应用中,许多库模块的访问是不受限的,例如,安卓系统本身提供的一些库模块对于所有的开发人员均开放,其访问不受限,又例如,存放在本地仓库中的库模块对于本地访问而言不受限。通常情况下,访问不受限的库模块意味着该库模块可以被访问到。
然而,实际应用中,许多库模块的访问是受限的,例如,某些互联网企业的私有仓库中的库模块对企业外部并不开放,对于企业外部来说,这些库模块的访问就受限。通常情况下,访问受限的库模块意味着该库模块无法被访问到。
在步骤202中,计算机设备可以通过上文所述的Gradle脚本调用发布脚本(英文:publish脚本),该发布脚本可以执行预先创建的发布任务,通过对该发布任务的执行,计算机设备可以基于依赖库模块的标识判断依赖库模块是否访问受限,从而得到判断结果,其中,该判断结果包括依赖库模块访问受限和依赖库模块访问不受限两种。
步骤203、计算机设备将发布库模块发布至共享仓库中,并根据判断结果确定是否将依赖库模块共同发布至共享仓库中。
若判断结果为依赖库模块访问不受限,那么发布库模块在被调用时,其可以正常调用该依赖库模块,因此,发布库模块可以被正常使用,在这种情况下,可以禁止将依赖库模块共同发布至共享仓库中。
若判断结果为依赖库模块访问受限,那么发布库模块在被调用时,其无法正常调用该依赖库模块,因此,发布库模块无法被正常使用,在这种情况下,可以将该依赖库模块连同发布库模块共同发布至共享仓库中。这样,具有访问共享仓库权限的用户可以既访问到发布库模块,又访问到依赖库模块,那么其在调用发布库模块时,也可以正常调用依赖库模块,这样,就可以保证发布库模块能够被正常使用。
可选的,在本申请的一个实施例中,计算机设备还可以将依赖库模块的标识写入发布库模块的依赖配置文件(英文:POM文件)中,并将发布库模块的依赖配置文件发布至共享仓库中。
可选的,计算机设备可以仅将发布库模块直接依赖的第一依赖库模块的标识写入发布库模块的依赖配置文件中。
通过将依赖库模块的标识写入发布库模块的依赖配置文件中,可以起到声明发布库模块的依赖关系的作用。
可选的,在创建上文所述的发布任务时,技术人员可以输入工程的标识(英文:groupid)以及工程版本号(英文:version)作为该发布任务的参数,在本申请实施例中,计算机设备还可以将工程的标识以及工程版本号写入该发布库模块的依赖配置文件中。
请参考图3,在上文所述实施例的基础之上,可选的,在本申请实施例中,计算机设备可以按照如图3所示的步骤实现上述步骤202的技术过程。
步骤2021、计算机设备基于依赖库模块的标识判断依赖库模块是否与发布库模块属于同一工程。
通常情况下,同一工程的库模块会同时被发布至共享仓库内,同时,同一工程内的库模块之间可以相互依赖。例如,某一工程可以包括库模块A、库模块B和库模块C,其中,库模块A可以依赖库模块B。
由于同一工程的库模块会同时被发布至共享仓库中,因此,若某一发布库模块所依赖的依赖库模块与该发布库模块属于同一工程,那么,就说明该发布库模块所依赖的依赖库模块的访问不受限。
考虑到上述情况,在步骤2021中,计算机设备可以基于依赖库模块的标识判断依赖库模块是否与发布库模块属于同一工程。可选的,计算机设备中可以存储有发布库模块所在工程中包含的所有库模块的标识,若依赖库模块的标识与该工程中包含的某一库模块的标识相同,说明该依赖库模块与发布库模块属于同一工程,反之,若依赖库模块的标识与该工程中包含的任一库模块的标识均不相同,说明该依赖库模块与发布库模块不属于同一工程。
步骤2022、若依赖库模块与发布库模块属于同一工程,计算机设备确定判断结果为依赖库模块访问不受限。
步骤2023、若依赖库模块与发布库模块不属于同一工程,计算机设备基于依赖库模块的标识判断依赖库模块是否位于访问受限的仓库内。
实际应用中,若依赖库模块位于访问受限的仓库内,那么该依赖库模块的访问就会受限。
例如,访问受限的仓库可以是互联网企业的私有仓库,其仅对企业内部开放,而对企业外部不开放,则对企业外部而言,该私有仓库访问受限。
基于此,在本申请实施例中,计算机设备可以判断依赖库模块是否位于访问受限的仓库内,从而判断依赖库模块是否访问受限。
其中,需要指出的是,在本申请实施例中,计算机设备拥有该“访问受限的仓库”的访问权限。
例如,对于互联网企业的私有仓库而言,对于企业外部而言,该私有仓库访问受限,而对于企业内部而言,该私有仓库访问不受限,则本申请实施例中的计算机设备可以位于企业内部,其拥有该私有仓库的访问权限。
可选的,计算机设备中可以存储有该访问受限的仓库内中包含的所有库模块的标识,若依赖库模块的标识与该访问受限的仓库内包含的某一库模块的标识相同,说明该依赖库模块位于访问受限的仓库内,反之,若依赖库模块的标识与该访问受限的仓库内包含的任一库模块的标识均不相同,说明该依赖库模块不常见位于访问受限的仓库内。
可选的,在创建上文所述的发布任务时,技术人员可以还输入判断依赖库模块是否位于访问受限的仓库的条件参数,以作为该发布任务的参数,例如,该条件参数可以包括访问受限的仓库内中包含的所有库模块的标识,又例如,该条件参数可以指示一存储地址,该存储地址对应的存储空间中存储有访问受限的仓库内中包含的所有库模块的标识。
在执行发布任务的过程中,计算机设备可以利用该发布任务中的条件参数,根据依赖库模块的标识判断发布库模块是否位于访问受限的仓库内。
步骤2024、若依赖库模块位于访问受限的仓库内,计算机设备确定判断结果为依赖库模块访问受限。
步骤2025、若依赖库模块不位于访问受限的仓库内,计算机设备确定判断结果为依赖库模块访问不受限。
请参考图4,在上文所述实施例的基础之上,可选的,在本申请实施例中,计算机设备可以按照如图4所示的步骤实现上述步骤201的技术过程。
步骤401、计算机设备获取发布库模块直接依赖的第一依赖库模块的标识以及第一依赖库模块的第一依赖配置文件。
可选的,计算机设备可以获取发布库模块的Gradle脚本中的依赖配置信息(英文:dependencies),其中,该依赖配置信息用于指示发布库模块直接依赖的第一依赖库模块的标识。
计算机设备可以根据该第一依赖库模块的标识获取该第一依赖库模块的第一依赖配置文件(英文:POM文件)。可选的,计算机设备可以根据该第一依赖库模块的标识在计算机本地的依赖配置文件缓存中进行查询,通过查询即可得到该第一依赖配置文件,其中,该依赖配置文件缓存中存储有多个依赖配置文件。
步骤402、计算机设备根据第一依赖配置文件,获取发布库模块间接依赖的第二依赖库模块的标识。
其中,该第二依赖库模块包括第1级至第n级第二依赖库模块,第i级第二依赖库模块直接依赖第i+1级第二依赖库模块。
在本申请实施例中,第一依赖库模块直接依赖第1级第二依赖库模块,而该第一依赖配置文件记录有第一依赖库模块直接依赖的库模块的标识(也即是第1级第二依赖库模块的标识),因此,可选的,计算机设备可以根据第一依赖配置文件搜索第1级第二依赖库模块。
接着,计算机设备可以根据第1级第二依赖库模块的依赖配置文件依次搜索第2级至第n级第二依赖库模块,并通过搜索得到该第1级至第n级第二依赖库模块的标识。
其中,在搜索第j级第二依赖库模块时,计算机设备可以在本地依赖配置文件缓存中获取已经搜索到的第j-1级第二依赖库模块的依赖配置文件,由于第j-1级第二依赖库模块的依赖配置文件记录有该第j-1级第二依赖库模块直接依赖的库模块的标识,因此,计算机设备可以根据该第j-1级第二依赖库模块的依赖配置文件搜索该第j级第二依赖库模块,j为大于1且小于等于n的整数。
请参考图5,其示出了本申请实施例提供的一种库模块发布装置500的框图,该库模块发布装置500可以配置于上文所述的计算机设备中。如图5所示,该库模块发布装置500可以包括:获取模块501、判断模块502和发布模块503。
该获取模块501,用于获取待发布的发布库模块所依赖的依赖库模块的标识。
该判断模块502,用于基于该依赖库模块的标识判断该依赖库模块是否访问受限,得到判断结果。
该发布模块503,用于将该发布库模块发布至共享仓库中,并根据该判断结果确定是否将该依赖库模块共同发布至该共享仓库中。
在本申请的一个实施例中,该判断模块502,具体用于:基于该依赖库模块的标识判断该依赖库模块是否与该发布库模块属于同一工程;若该依赖库模块与该发布库模块属于同一工程,确定该判断结果为该依赖库模块访问不受限。
在本申请的一个实施例中,该判断模块502,具体用于:若该依赖库模块与该发布库模块不属于同一工程,则基于该依赖库模块的标识判断该依赖库模块是否位于访问受限的仓库内;若该依赖库模块位于访问受限的仓库内,确定该判断结果为该依赖库模块访问受限;若该依赖库模块不位于访问受限的仓库内,确定该判断结果为该依赖库模块访问不受限。
在本申请的一个实施例中,该发布模块503,具体用于:若该判断结果为该依赖库模块访问不受限,则禁止将该依赖库模块共同发布至该共享仓库中;若该判断结果为该依赖库模块访问受限,则将该依赖库模块共同发布至该共享仓库中。
在本申请的一个实施例中,该发布模块503,还用于:将该依赖库模块的标识写入该发布库模块的依赖配置文件中,并将该发布库模块的依赖配置文件发布至该共享仓库中。
在本申请的一个实施例中,该判断模块502,具体用于:创建发布任务,该发布任务包括判断该依赖库模块是否位于访问受限的仓库的条件参数;在执行该发布任务的过程中,利用该发布任务中的条件参数,根据该依赖库模块的标识判断该发布库模块是否位于访问受限的仓库内。
在本申请的一个实施例中,该获取模块501,具体用于:获取该发布库模块直接依赖的第一依赖库模块的标识以及该第一依赖库模块的第一依赖配置文件;根据该第一依赖配置文件,获取该发布库模块间接依赖的第二依赖库模块的标识。
在本申请的一个实施例中,该第二依赖库模块包括第1级至第n级第二依赖库模块,该获取模块501,具体用于:根据该第一依赖配置文件,搜索第1级第二依赖库模块,根据该第1级第二依赖库模块的依赖配置文件依次搜索第2级至第n级第二依赖库模块,并通过搜索得到该第1级至第n级第二依赖库模块的标识;其中,在搜索第j级第二依赖库模块时,获取已经搜索到的第j-1级第二依赖库模块的依赖配置文件,根据该第j-1级第二依赖库模块的依赖配置文件搜索该第j级第二依赖库模块,j为大于1且小于等于n的整数。
本申请实施例提供的库模块发布装置,可以实现上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
关于库模块发布装置的具体限定可以参见上文中对于库模块发布方法的限定,在此不再赘述。上述库模块发布装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在本申请的一个实施例中,提供了一种计算机设备,该计算机设备包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取待发布的发布库模块所依赖的依赖库模块的标识;基于该依赖库模块的标识判断该依赖库模块是否访问受限,得到判断结果;将该发布库模块发布至共享仓库中,并根据该判断结果确定是否将该依赖库模块共同发布至该共享仓库中。
在本申请的一个实施例中,处理器执行计算机程序时还实现以下步骤:基于该依赖库模块的标识判断该依赖库模块是否与该发布库模块属于同一工程;若该依赖库模块与该发布库模块属于同一工程,确定该判断结果为该依赖库模块访问不受限。
在本申请的一个实施例中,处理器执行计算机程序时还实现以下步骤:若该依赖库模块与该发布库模块不属于同一工程,则基于该依赖库模块的标识判断该依赖库模块是否位于访问受限的仓库内;若该依赖库模块位于访问受限的仓库内,确定该判断结果为该依赖库模块访问受限;若该依赖库模块不位于访问受限的仓库内,确定该判断结果为该依赖库模块访问不受限。
在本申请的一个实施例中,处理器执行计算机程序时还实现以下步骤:若该判断结果为该依赖库模块访问不受限,则禁止将该依赖库模块共同发布至该共享仓库中;若该判断结果为该依赖库模块访问受限,则将该依赖库模块共同发布至该共享仓库中。
在本申请的一个实施例中,处理器执行计算机程序时还实现以下步骤:将该依赖库模块的标识写入该发布库模块的依赖配置文件中,并将该发布库模块的依赖配置文件发布至该共享仓库中。
在本申请的一个实施例中,处理器执行计算机程序时还实现以下步骤:创建发布任务,该发布任务包括判断该依赖库模块是否位于访问受限的仓库的条件参数;在执行该发布任务的过程中,利用该发布任务中的条件参数,根据该依赖库模块的标识判断该发布库模块是否位于访问受限的仓库内。
在本申请的一个实施例中,处理器执行计算机程序时还实现以下步骤:获取该发布库模块直接依赖的第一依赖库模块的标识以及该第一依赖库模块的第一依赖配置文件;根据该第一依赖配置文件,获取该发布库模块间接依赖的第二依赖库模块的标识。
在本申请的一个实施例中,处理器执行计算机程序时还实现以下步骤:该第二依赖库模块包括第1级至第n级第二依赖库模块,根据该第一依赖配置文件,搜索第1级第二依赖库模块,根据该第1级第二依赖库模块的依赖配置文件依次搜索第2级至第n级第二依赖库模块,并通过搜索得到该第1级至第n级第二依赖库模块的标识;其中,在搜索第j级第二依赖库模块时,获取已经搜索到的第j-1级第二依赖库模块的依赖配置文件,根据该第j-1级第二依赖库模块的依赖配置文件搜索该第j级第二依赖库模块,j为大于1且小于等于n的整数。
本申请实施例提供的计算机设备,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
在本申请的一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取待发布的发布库模块所依赖的依赖库模块的标识;基于该依赖库模块的标识判断该依赖库模块是否访问受限,得到判断结果;将该发布库模块发布至共享仓库中,并根据该判断结果确定是否将该依赖库模块共同发布至该共享仓库中。
在本申请的一个实施例中,计算机程序被处理器执行时还实现以下步骤:基于该依赖库模块的标识判断该依赖库模块是否与该发布库模块属于同一工程;若该依赖库模块与该发布库模块属于同一工程,确定该判断结果为该依赖库模块访问不受限。
在本申请的一个实施例中,计算机程序被处理器执行时还实现以下步骤:若该依赖库模块与该发布库模块不属于同一工程,则基于该依赖库模块的标识判断该依赖库模块是否位于访问受限的仓库内;若该依赖库模块位于访问受限的仓库内,确定该判断结果为该依赖库模块访问受限;若该依赖库模块不位于访问受限的仓库内,确定该判断结果为该依赖库模块访问不受限。
在本申请的一个实施例中,计算机程序被处理器执行时还实现以下步骤:若该判断结果为该依赖库模块访问不受限,则禁止将该依赖库模块共同发布至该共享仓库中;若该判断结果为该依赖库模块访问受限,则将该依赖库模块共同发布至该共享仓库中。
在本申请的一个实施例中,计算机程序被处理器执行时还实现以下步骤:将该依赖库模块的标识写入该发布库模块的依赖配置文件中,并将该发布库模块的依赖配置文件发布至该共享仓库中。
在本申请的一个实施例中,计算机程序被处理器执行时还实现以下步骤:创建发布任务,该发布任务包括判断该依赖库模块是否位于访问受限的仓库的条件参数;在执行该发布任务的过程中,利用该发布任务中的条件参数,根据该依赖库模块的标识判断该发布库模块是否位于访问受限的仓库内。
在本申请的一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取该发布库模块直接依赖的第一依赖库模块的标识以及该第一依赖库模块的第一依赖配置文件;根据该第一依赖配置文件,获取该发布库模块间接依赖的第二依赖库模块的标识。
在本申请的一个实施例中,计算机程序被处理器执行时还实现以下步骤:该第二依赖库模块包括第1级至第n级第二依赖库模块,根据该第一依赖配置文件,搜索第1级第二依赖库模块,根据该第1级第二依赖库模块的依赖配置文件依次搜索第2级至第n级第二依赖库模块,并通过搜索得到该第1级至第n级第二依赖库模块的标识;其中,在搜索第j级第二依赖库模块时,获取已经搜索到的第j-1级第二依赖库模块的依赖配置文件,根据该第j-1级第二依赖库模块的依赖配置文件搜索该第j级第二依赖库模块,j为大于1且小于等于n的整数。
本实施例提供的计算机可读存储介质,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (11)

1.一种库模块发布方法,其特征在于,所述方法包括:
获取待发布的发布库模块所依赖的依赖库模块的标识;
基于所述依赖库模块的标识判断所述依赖库模块是否访问受限,得到判断结果;
将所述发布库模块发布至共享仓库中,并根据所述判断结果确定是否将所述依赖库模块共同发布至所述共享仓库中。
2.根据权利要求1所述的方法,其特征在于,所述基于所述依赖库模块的标识判断所述依赖库模块是否访问受限,得到判断结果,包括:
基于所述依赖库模块的标识判断所述依赖库模块是否与所述发布库模块属于同一工程;
若所述依赖库模块与所述发布库模块属于同一工程,确定所述判断结果为所述依赖库模块访问不受限。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若所述依赖库模块与所述发布库模块不属于同一工程,则基于所述依赖库模块的标识判断所述依赖库模块是否位于访问受限的仓库内;
若所述依赖库模块位于访问受限的仓库内,确定所述判断结果为所述依赖库模块访问受限;
若所述依赖库模块不位于访问受限的仓库内,确定所述判断结果为所述依赖库模块访问不受限。
4.根据权利要求1至3任一所述的方法,其特征在于,所述根据所述判断结果确定是否将所述依赖库模块共同发布至所述共享仓库中,包括:
若所述判断结果为所述依赖库模块访问不受限,则禁止将所述依赖库模块共同发布至所述共享仓库中;
若所述判断结果为所述依赖库模块访问受限,则将所述依赖库模块共同发布至所述共享仓库中。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述依赖库模块的标识写入所述发布库模块的依赖配置文件中,并将所述发布库模块的依赖配置文件发布至所述共享仓库中。
6.根据权利要求3所述的方法,其特征在于,所述基于所述依赖库模块的标识判断所述依赖库模块是否位于访问受限的仓库内,包括:
创建发布任务,所述发布任务包括判断所述依赖库模块是否位于访问受限的仓库的条件参数;
在执行所述发布任务的过程中,利用所述发布任务中的条件参数,根据所述依赖库模块的标识判断所述发布库模块是否位于访问受限的仓库内。
7.根据权利要求1所述的方法,其特征在于,所述获取待发布的发布库模块所依赖的依赖库模块的标识,包括:
获取所述发布库模块直接依赖的第一依赖库模块的标识以及所述第一依赖库模块的第一依赖配置文件;
根据所述第一依赖配置文件,获取所述发布库模块间接依赖的第二依赖库模块的标识。
8.根据权利要求7所述的方法,其特征在于,所述第二依赖库模块包括第1级至第n级第二依赖库模块,所述根据所述第一依赖配置文件,获取所述发布库模块间接依赖的第二依赖库模块的标识,包括:
根据所述第一依赖配置文件,搜索第1级第二依赖库模块,根据所述第1级第二依赖库模块的依赖配置文件依次搜索第2级至第n级第二依赖库模块,并通过搜索得到所述第1级至第n级第二依赖库模块的标识;
其中,在搜索第j级第二依赖库模块时,获取已经搜索到的第j-1级第二依赖库模块的依赖配置文件,根据所述第j-1级第二依赖库模块的依赖配置文件搜索所述第j级第二依赖库模块,j为大于1且小于等于n的整数。
9.一种库模块发布装置,其特征在于,所述装置包括:
获取模块,用于获取待发布的发布库模块所依赖的依赖库模块的标识;
判断模块,用于基于所述依赖库模块的标识判断所述依赖库模块是否访问受限,得到判断结果;
发布模块,用于将所述发布库模块发布至共享仓库中,并根据所述判断结果确定是否将所述依赖库模块共同发布至所述共享仓库中。
10.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至8任一所述的库模块发布方法。
11.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至8任一所述的库模块发布方法。
CN201911310523.5A 2019-12-18 2019-12-18 库模块发布方法、装置、设备及存储介质 Active CN111158701B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911310523.5A CN111158701B (zh) 2019-12-18 2019-12-18 库模块发布方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911310523.5A CN111158701B (zh) 2019-12-18 2019-12-18 库模块发布方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN111158701A true CN111158701A (zh) 2020-05-15
CN111158701B CN111158701B (zh) 2023-08-08

Family

ID=70557860

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911310523.5A Active CN111158701B (zh) 2019-12-18 2019-12-18 库模块发布方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN111158701B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102393845A (zh) * 2011-06-30 2012-03-28 北京新媒传信科技有限公司 一种共享库管理方法和系统
WO2014158128A1 (en) * 2013-03-25 2014-10-02 Hewlett-Packard Development Company, L.P. Extensible firmware abstraction
CN104866369A (zh) * 2015-05-22 2015-08-26 广州华多网络科技有限公司 一种数据处理的方法以及装置
CN108334334A (zh) * 2018-03-07 2018-07-27 政采云有限公司 一种管理依赖包版本的方法和系统
US20180287872A1 (en) * 2017-03-31 2018-10-04 Microsoft Technology Licensing, Llc Dependency graph for coordination of device configuration
CN109587258A (zh) * 2018-12-14 2019-04-05 北京金山云网络技术有限公司 一种服务探活方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102393845A (zh) * 2011-06-30 2012-03-28 北京新媒传信科技有限公司 一种共享库管理方法和系统
WO2014158128A1 (en) * 2013-03-25 2014-10-02 Hewlett-Packard Development Company, L.P. Extensible firmware abstraction
CN104866369A (zh) * 2015-05-22 2015-08-26 广州华多网络科技有限公司 一种数据处理的方法以及装置
US20180287872A1 (en) * 2017-03-31 2018-10-04 Microsoft Technology Licensing, Llc Dependency graph for coordination of device configuration
CN108334334A (zh) * 2018-03-07 2018-07-27 政采云有限公司 一种管理依赖包版本的方法和系统
CN109587258A (zh) * 2018-12-14 2019-04-05 北京金山云网络技术有限公司 一种服务探活方法及装置

Also Published As

Publication number Publication date
CN111158701B (zh) 2023-08-08

Similar Documents

Publication Publication Date Title
US10846083B2 (en) Semantic-aware and self-corrective re-architecting system
EP3355226B1 (en) System call policies for containers
US20160275019A1 (en) Method and apparatus for protecting dynamic libraries
Lowe Testing for linearizability
US20090077086A1 (en) Policy-based method for configuring an access control service
CN111290919A (zh) 日志文件生成方法、装置、计算机设备和存储介质
US11726896B2 (en) Application monitoring using workload metadata
US10540154B2 (en) Safe loading of dynamic user-defined code
CN112292679A (zh) 密码模块和用于密码模块的运行方法
CN112199391A (zh) 一种数据加锁检测方法、设备及计算机可读存储介质
CN111339054A (zh) 一种存储系统分级管理的方法、装置、设备及存储介质
CN111158701A (zh) 库模块发布方法、装置、设备及存储介质
CN111143790B (zh) 代码混淆方法、装置、设备及存储介质
CN115421699A (zh) 类继承关系分析方法、装置、计算机设备和存储介质
CN111427623B (zh) 程序退出方法、装置、计算机设备和存储介质
US11687490B2 (en) Management of contextual information for data
CN114491422A (zh) 一种用户操作权限审核方法及装置
US10747871B2 (en) System and method for producing secure data management software
US10104042B2 (en) Security policy management
CN110969430A (zh) 可疑用户的识别方法、装置、计算机设备和存储介质
US10423578B2 (en) Management of contextual information for data
CN112100249B (zh) 一种数据挖掘方法及系统
US20160202956A1 (en) Resource closing
CN111078370B (zh) fabric联盟链的任务执行方法、装置和计算机设备
US20160313938A1 (en) Fine grained memory protection to thwart memory overrun attacks

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
EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20200515

Assignee: GUANGZHOU CUBESILI INFORMATION TECHNOLOGY Co.,Ltd.

Assignor: GUANGZHOU HUADUO NETWORK TECHNOLOGY Co.,Ltd.

Contract record no.: X2021440000031

Denomination of invention: Library module publishing method, device, device and storage medium

License type: Common License

Record date: 20210125

GR01 Patent grant
GR01 Patent grant