BuildInfo

public class BuildInfo
extends Object implements IBuildInfo

java.lang.Object 中
   ↳ com.android.tradefed.build.BuildInfo


应关联的 IBuildInfo 的通用实现 以及 ITestDevice

摘要

公共构造函数

BuildInfo()

使用默认属性值创建 BuildInfo

BuildInfo(String buildId, String buildTargetName)

创建 BuildInfo

公共方法

void addAppPackageFile(File appPackageFile, String version)

添加本地 APK 文件及其关联版本。

void addBuildAttribute(String attributeName, String attributeValue)

添加 build 属性。

void addBuildAttributes( buildAttributes)

添加 build 属性

void allowStagingRemoteFile(boolean stageRemoteFile)

设置允许暂存远程文件的权限。

void cleanUp()

清理所有临时 build 文件

void cleanUp( doNotClean)

cleanUp() 的版本(其中某些文件不会被删除)。

IBuildInfo clone()

final void copyAllFileFrom(BuildInfo build)

将给定 build 中的所有 VersionedFile 复制到此版本。

boolean equals(Object obj)

static IBuildInfo fromProto(BuildInformation.BuildInfo protoBuild)

toProto() 执行反运算,以返回实例。

getAppPackageFiles()

获取一组本地应用 APK 文件及其版本的副本。

getBuildAttributes()

获取一组描述 build 的其他属性的名称-值对。

String getBuildBranch()

可选方法,用于返回要测试的 build 曾经是哪个源代码控制分支

String getBuildFlavor()

可选方法,用于返回要测试的 build 的类型。

String getBuildId()

返回被测 build 的唯一标识符。

String getBuildTargetName()

返回被测 build 的全名。

String getDeviceSerial()

File getFile(String name)

用于检索具有给定名称的文件的辅助方法。

File getFile(BuildInfoKey.BuildInfoFileKey key)

用于检索具有指定 BuildInfoFileKey 的文件的辅助方法。

getFiles()

返回此 BuildInfo 中存储的所有 VersionedFile

getProperties()

返回 IBuildInfo 上当前设置的属性的副本。

getRemoteFiles()

获取延迟下载的构建工件的路径。

String getTestTag()

为所运行的测试返回唯一的名称。

String getVersion(BuildInfoKey.BuildInfoFileKey key)

使用给定 BuildInfoFileKey 检索文件版本的辅助方法。

String getVersion(String name)

用于检索具有给定名称的文件版本的辅助方法。

VersionedFile getVersionedFile(BuildInfoKey.BuildInfoFileKey key)

用于检索具有给定 BuildInfoFileKeyVersionedFile 的辅助方法。

final VersionedFile getVersionedFile(String name)

用于检索具有给定名称的 VersionedFile 的辅助方法。

getVersionedFileKeys()

返回可通过 getFile(BuildInfoFileKey) 查询 VersionedFile 的一组键。

final getVersionedFiles(BuildInfoKey.BuildInfoFileKey key)

用于检索与给定 BuildInfoFileKey 关联的 VersionedFile 列表的辅助方法。

int hashCode()

void removeBuildAttribute(String attributeName)

从跟踪中移除给定的 attributeName。

void setBuildBranch(String branch)

设置 build 分支

void setBuildFlavor(String buildFlavor)

设置 build 变种。

void setBuildId(String buildId)

设置被测 build 的唯一标识符。

void setDeviceSerial(String serial)

设置与此 build 关联的 ITestDevice 序列号。

void setFile(String name, File file, String version)

在此 build 信息中存储具有给定名称的文件。

void setFile(BuildInfoKey.BuildInfoFileKey key, File file, String version)

存储在此 build 信息中指定了 BuildInfoFileKey 的文件。

void setProperties(BuildInfoProperties... properties)

IBuildInfo 实例设置 BuildInfoProperties

void setTestTag(String testTag)

为要运行的测试设置唯一名称。

File stageRemoteFile(String fileName, File workingDir)

在 build 信息的根目录中暂存一个属于远程文件的文件。

BuildInformation.BuildInfo toProto()

将 BuildInfo 实例序列化为 protobuf。

String toString()

受保护的方法

void addAllBuildAttributes(BuildInfo build)

用于从其他 build 复制 build 属性、分支和变种的辅助方法。

void addAllFiles(BuildInfo build)

用于从其他 build 复制所有文件的辅助方法。

boolean applyBuildProperties(VersionedFile origFileConsidered, IBuildInfo build, IBuildInfo receiver)

允许应用某些IBuildInfo.BuildInfoProperties 并且可能会进行不同的处理

MultiMap<String, String> getAttributesMultiMap()
getVersionedFileMap()
MultiMap<String, VersionedFile> getVersionedFileMapFull()

公共构造函数

BuildInfo

public BuildInfo ()

使用默认属性值创建 BuildInfo

BuildInfo

public BuildInfo (String buildId, 
                String buildTargetName)

创建 BuildInfo

参数
buildId String:build ID

buildTargetName String:构建目标名称

公共方法

addAppPackageFile

public void addAppPackageFile (File appPackageFile, 
                String version)

添加本地 APK 文件及其关联版本。请注意,系统会将 APK 从 getAppPackageFiles()(按此方法添加它们的顺序)。

参数
appPackageFile File

version String

addBuildAttribute

public void addBuildAttribute (String attributeName, 
                String attributeValue)

添加 build 属性。这不允许覆盖现有 attributeName。

参数
attributeName String:唯一属性名称

attributeValue String:属性值

addBuildAttributes

public void addBuildAttributes ( buildAttributes)

添加 build 属性

参数
buildAttributes :要添加的属性的映射

allowStagingRemoteFile

public void allowStagingRemoteFile (boolean stageRemoteFile)

设置允许暂存远程文件的权限。

参数
stageRemoteFile boolean

清理

public void cleanUp ()

清理所有临时 build 文件

清理

public void cleanUp ( doNotClean)

cleanUp() 的版本(其中某些文件不会被删除)。

参数
doNotClean

克隆

public IBuildInfo clone ()

返回
IBuildInfo

全部文件复制来源

public final void copyAllFileFrom (BuildInfo build)

将给定 build 中的所有 VersionedFile 复制到此版本。

参数
build BuildInfo

equals

public boolean equals (Object obj)

参数
obj Object

返回
boolean

来自 Proto

public static IBuildInfo fromProto (BuildInformation.BuildInfo protoBuild)

toProto() 进行逆向运算,以返回实例。

参数
protoBuild BuildInformation.BuildInfo

返回
IBuildInfo

getAppPackageFiles

public  getAppPackageFiles ()

获取一组本地应用 APK 文件及其版本的副本。退货订单 与将 APK 添加到 IAppBuildInfo 的顺序一致。

返回

getBuildAttributes

public  getBuildAttributes ()

获取一组描述 build 的其他属性的名称-值对。

返回
build 属性的 ERROR(/Map)。不会是 null,但可以为空。

getBuildBranch

public String getBuildBranch ()

可选方法,用于返回要测试的 build 所在的源代码控制分支

返回
String build 分支或 null(如果未设置/不适用)

getBuildFlavor

public String getBuildFlavor ()

可选方法,用于返回要测试的 build 的类型。

Android 平台 build 的一种常见实现是返回 (build product)-(build os)-(build 变体)。 例如 general-linux-userdebug

返回
String build 变种或 null(如果未设置/不适用)

getBuildId

public String getBuildId ()

返回被测 build 的唯一标识符。不得为 null。默认为 UNKNOWN_BUILD_ID

返回
String

getBuildTargetName

public String getBuildTargetName ()

返回被测 build 的全名。

一种常见的实现是通过 build 变种和分支名称[ie (分支名称)-(build 变种)]

返回
String

getDeviceSerial

public String getDeviceSerial ()

返回
String

getFile

public File getFile (String name)

用于检索具有给定名称的文件的辅助方法。

返回
File 图片文件或 null(如果未找到)

getFile

public File getFile (BuildInfoKey.BuildInfoFileKey key)

用于检索具有指定 BuildInfoFileKey 的文件的辅助方法。

参数
key BuildInfoKey.BuildInfoFileKey:请求的 BuildInfoFileKey

返回
File 图片文件或 null(如果未找到)

getFiles

public  getFiles ()

返回此 BuildInfo 中存储的所有 VersionedFile

返回

getProperties

public  getProperties ()

返回 IBuildInfo 上当前设置的属性的副本。

返回

getRemoteFiles

public  getRemoteFiles ()

获取延迟下载的构建工件的路径。

返回

getTestTag

public String getTestTag ()

为所运行的测试返回唯一的名称。

返回
String

getVersion

public String getVersion (BuildInfoKey.BuildInfoFileKey key)

使用给定 BuildInfoFileKey 检索文件版本的辅助方法。

参数
key BuildInfoKey.BuildInfoFileKey:请求的 BuildInfoFileKey

返回
String 映像版本;如果未找到,则为 null

getVersion

public String getVersion (String name)

用于检索具有给定名称的文件版本的辅助方法。

返回
String 映像版本;如果未找到,则为 null

getVersionedFile

public VersionedFile getVersionedFile (BuildInfoKey.BuildInfoFileKey key)

用于检索具有给定 BuildInfoFileKeyVersionedFile 的辅助方法。

参数
key BuildInfoKey.BuildInfoFileKey:请求的 BuildInfoFileKey

返回
VersionedFile 版本化文件;如果未找到,则为 null

getVersionedFile

public final VersionedFile getVersionedFile (String name)

用于检索具有给定名称的 VersionedFile 的辅助方法。

返回
VersionedFile 版本化文件;如果未找到,则为 null

getVersionedFileKeys

public  getVersionedFileKeys ()

返回可通过 getFile(BuildInfoFileKey) 查询 VersionedFile 的一组键。

返回

getVersionedFiles

public final  getVersionedFiles (BuildInfoKey.BuildInfoFileKey key)

用于检索与给定 BuildInfoFileKey 关联的 VersionedFile 列表的辅助方法。该键是否允许存储列表。

参数
key BuildInfoKey.BuildInfoFileKey:请求的 BuildInfoFileKey

返回
版本化文件;如果未找到,则为 null

hashCode

public int hashCode ()

返回
int

removeBuildAttribute

public void removeBuildAttribute (String attributeName)

从跟踪中移除给定的 attributeName。

参数
attributeName String:要停止跟踪的属性

setBuildBranch

public void setBuildBranch (String branch)

设置 build 分支

参数
branch String:分支名称

setBuildFlavor

public void setBuildFlavor (String buildFlavor)

设置 build 变种。

setBuildId

public void setBuildId (String buildId)

设置被测 build 的唯一标识符。不得为 null。

参数
buildId String

setDeviceSerial

public void setDeviceSerial (String serial)

设置与此 build 关联的 ITestDevice 序列号。

参数
serial String:执行此 build 时所用的 ITestDevice 的序列号。

setFile

public void setFile (String name, 
                File file, 
                String version)

在此 build 信息中存储具有给定名称的文件。

参数
name String:文件的唯一名称

file File:本地 ERROR(/File)

version String:文件版本

setFile

public void setFile (BuildInfoKey.BuildInfoFileKey key, 
                File file, 
                String version)

存储在此 build 信息中指定了 BuildInfoFileKey 的文件。

参数
key BuildInfoKey.BuildInfoFileKey:文件的唯一名称,基于 BuildInfoFileKey

file File:本地 ERROR(/File)

version String:文件版本

setProperties

public void setProperties (BuildInfoProperties... properties)

IBuildInfo 实例设置 BuildInfoProperties。替换任意值 和之前设置的现有属性

参数
properties BuildInfoProperties:要添加的属性的列表。

setTestTag

public void setTestTag (String testTag)

为要运行的测试设置唯一名称。

参数
testTag String

阶段远程文件

public File stageRemoteFile (String fileName, 
                File workingDir)

在 build 信息的根目录中暂存一个属于远程文件的文件。

TODO(b/138416078):当测试需要模块时,请移除此接口及其调用方 可以正确构建输出到测试模块目录本身。

参数
fileName String:远程文件中要位于的文件的名称。

workingDir File:用于暂存文件的目录的 ERROR(/File) 对象。

返回
File 在本地工作目录中暂存的文件的 ERROR(/File) 对象。

ToProto

public BuildInformation.BuildInfo toProto ()

将 BuildInfo 实例序列化为 protobuf。

返回
BuildInformation.BuildInfo

toString

public String toString ()

返回
String

受保护的方法

addAllBuildAttributes

protected void addAllBuildAttributes (BuildInfo build)

用于从其他 build 复制 build 属性、分支和变种的辅助方法。

参数
build BuildInfo

添加全部文件

protected void addAllFiles (BuildInfo build)

用于从其他 build 复制所有文件的辅助方法。

创建指向文件的新硬链接,以便每个 build 具有指向 文件。

参数
build BuildInfo

抛出
(如果在创建硬链接时抛出异常)。

applyBuildProperties

protected boolean applyBuildProperties (VersionedFile origFileConsidered, 
                IBuildInfo build, 
                IBuildInfo receiver)

允许应用某些IBuildInfo.BuildInfoProperties 并且可能会进行不同的处理

参数
origFileConsidered VersionedFile:当前查看的是VersionedFile

build IBuildInfo:要克隆的原始 build

receiver IBuildInfo:接收信息的 build。

返回
boolean 如果我们应用了这些属性,并且应跳过进一步的处理,则为 true。错误 否则。

getAttributesMultiMap

protected MultiMap<String, String> getAttributesMultiMap ()

返回
MultiMap<String, String>

getVersionedFileMap

protected  getVersionedFileMap ()

返回

getVersionedFileMapFull

protected MultiMap<String, VersionedFile> getVersionedFileMapFull ()

返回
MultiMap<String, VersionedFile>