BuildInfo

public class BuildInfo
extends Object implements IBuildInfo

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


應與 ITestDevice 相關聯的 IBuildInfo 一般實作方式。

摘要

公用建構函式

BuildInfo()

使用預設屬性值建立 BuildInfo

BuildInfo(String buildId, String buildTargetName)

建立 BuildInfo

公用方法

void addAppPackageFile(File appPackageFile, String version)

新增本機 APK 檔案及其相關聯的版本。

void addBuildAttribute(String attributeName, String attributeValue)

新增建構屬性。

void addBuildAttributes(Map<String, String> buildAttributes)

新增建構屬性

void allowStagingRemoteFile(boolean stageRemoteFile)

設定權限,允許暫存遠端檔案。

void cleanUp()

清理所有暫時建構檔案

void cleanUp(List<File> doNotClean)

cleanUp() 版本,其中部分檔案未刪除。

IBuildInfo clone()

final void copyAllFileFrom(BuildInfo build)

將指定建構版本中的所有 VersionedFile 複製到這個版本。

boolean equals(Object obj)

static IBuildInfo fromProto(BuildInformation.BuildInfo protoBuild)

反向操作 toProto() 即可還原執行個體。

List<VersionedFile> getAppPackageFiles()

取得一組本機應用程式 APK 檔案及其版本的副本。

Map<String, String> getBuildAttributes()

取得一組描述建構作業的其他屬性名稱/值配對。

String getBuildBranch()

選用方法,可傳回用於產生受測建構作業的來源控制分支版本。

String getBuildFlavor()

可選用方法,用於傳回測試中的建構類型。

String getBuildId()

傳回受測版本的專屬 ID。

String getBuildTargetName()

傳回測試中的建構版本完整名稱。

String getDeviceSerial()

File getFile(String name)

Helper method to retrieve a file with given name.

File getFile(BuildInfoKey.BuildInfoFileKey key)

輔助方法,用於擷取具有指定 BuildInfoFileKey 的檔案。

Collection<VersionedFile> getFiles()

傳回這個 BuildInfo 中儲存的所有 VersionedFile

Set<IBuildInfo.BuildInfoProperties> getProperties()

傳回目前在 IBuildInfo 上設定的屬性副本。

Set<File> getRemoteFiles()

取得延遲下載的建構構件路徑。

String getTestTag()

Return a unique name for the tests being run.

String getVersion(BuildInfoKey.BuildInfoFileKey key)

輔助方法,用於擷取具有指定 BuildInfoFileKey 的檔案版本。

String getVersion(String name)

輔助方法,用於擷取具有指定名稱的檔案版本。

VersionedFile getVersionedFile(BuildInfoKey.BuildInfoFileKey key)

輔助方法,用於擷取具有指定 BuildInfoFileKeyVersionedFile

final VersionedFile getVersionedFile(String name)

輔助方法,用於擷取具有指定名稱的 VersionedFile

Set<String> getVersionedFileKeys()

傳回可透過 getFile(BuildInfoFileKey) 查詢 VersionedFile 的金鑰組合。

final List<VersionedFile> getVersionedFiles(BuildInfoKey.BuildInfoFileKey key)

輔助方法,用於擷取與指定 BuildInfoFileKey 相關聯的 VersionedFile 清單。

int hashCode()

void removeBuildAttribute(String attributeName)

從追蹤中移除指定的 attributeName。

void setBuildBranch(String branch)

設定建構分支版本

void setBuildFlavor(String buildFlavor)

設定建構變種版本。

void setBuildId(String buildId)

設定受測版本的專屬 ID。

void setDeviceSerial(String serial)

設定與這個建構版本相關聯的ITestDevice序號。

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

儲存此建構資訊中指定 BuildInfoFileKey 的檔案。

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

Stores an file with given name in this build info.

void setProperties(BuildInfoProperties... properties)

IBuildInfo 執行個體設定 BuildInfoProperties

void setTestTag(String testTag)

為執行的測試設定專屬名稱。

File stageRemoteFile(String fileName, File workingDir)

在建構資訊的根目錄中,暫存屬於遠端檔案的檔案。

BuildInformation.BuildInfo toProto()

將 BuildInfo 執行個體序列化為 protobuf。

String toString()

受保護的方法

void addAllBuildAttributes(BuildInfo build)

輔助方法,可從其他版本複製建構屬性、分支版本和變種版本。

void addAllFiles(BuildInfo build)

Helper method to copy all files from the other build.

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

允許套用部分 IBuildInfo.BuildInfoProperties,並可能進行不同的處理。

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

公用建構函式

BuildInfo

public BuildInfo ()

使用預設屬性值建立 BuildInfo

BuildInfo

public BuildInfo (String buildId, 
                String buildTargetName)

建立 BuildInfo

參數
buildId String:建構 ID

buildTargetName String:建構目標名稱

公用方法

addAppPackageFile

public void addAppPackageFile (File appPackageFile, 
                String version)

新增本機 APK 檔案及其相關聯的版本。請注意,系統會按照透過這個方法加入 APK 的順序,從 getAppPackageFiles() 傳回 APK。

參數
appPackageFile File

version String

addBuildAttribute

public void addBuildAttribute (String attributeName, 
                String attributeValue)

新增建構屬性。這無法覆寫現有的 attributeName。

參數
attributeName String:專屬屬性名稱

attributeValue String:屬性值

addBuildAttributes

public void addBuildAttributes (Map<String, String> buildAttributes)

新增建構屬性

參數
buildAttributes Map:要新增的屬性對應表

allowStagingRemoteFile

public void allowStagingRemoteFile (boolean stageRemoteFile)

設定權限,允許暫存遠端檔案。

參數
stageRemoteFile boolean

cleanUp

public void cleanUp ()

清理所有暫時建構檔案

cleanUp

public void cleanUp (List<File> doNotClean)

cleanUp() 版本,其中部分檔案未刪除。

參數
doNotClean List

clone

public IBuildInfo clone ()

傳回
IBuildInfo

copyAllFileFrom

public final void copyAllFileFrom (BuildInfo build)

將指定建構版本的全部 VersionedFile 複製到這個版本。

參數
build BuildInfo

等於

public boolean equals (Object obj)

參數
obj Object

傳回
boolean

fromProto

public static IBuildInfo fromProto (BuildInformation.BuildInfo protoBuild)

反向操作 toProto() 即可還原執行個體。

參數
protoBuild BuildInformation.BuildInfo

傳回
IBuildInfo

getAppPackageFiles

public List<VersionedFile> getAppPackageFiles ()

取得本機應用程式 APK 檔案和版本的副本。傳回的順序與 APK 新增至 IAppBuildInfo 的順序相同。

傳回
List<VersionedFile>

getBuildAttributes

public Map<String, String> getBuildAttributes ()

取得一組描述建構作業的其他屬性名稱/值配對。

傳回
Map<String, String> 建構屬性的 Map。不會是 null,但可能為空白。

getBuildBranch

public String getBuildBranch ()

選用方法,可傳回用於產生受測建構作業的來源控制分支。

傳回
String 建構分支版本或 null (如未設定/不適用)

getBuildFlavor

public String getBuildFlavor ()

可選用方法,用於傳回測試中的建構類型。

Android 平台建構作業的常見實作方式是傳回 (建構產品)-(建構作業系統)-(建構變化版本)。ie generic-linux-userdebug

傳回
String 如果未設定/不適用,則為建構版本或 null

getBuildId

public String getBuildId ()

傳回受測版本的專屬 ID。一律不得為空值。預設值為 UNKNOWN_BUILD_ID

傳回
String

getBuildTargetName

public String getBuildTargetName ()

傳回測試版本的完整名稱。

常見的做法是結合建構變種版本和分支版本名稱,建構建構目標名稱。[即 (分支版本名稱)-(建構版本)]

傳回
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 Collection<VersionedFile> getFiles ()

傳回這個 BuildInfo 中儲存的所有 VersionedFile

傳回
Collection<VersionedFile>

getProperties

public Set<IBuildInfo.BuildInfoProperties> getProperties ()

傳回目前在 IBuildInfo 上設定的屬性副本。

傳回
Set<IBuildInfo.BuildInfoProperties>

getRemoteFiles

public Set<File> getRemoteFiles ()

取得延遲下載的建構構件路徑。

傳回
Set<File>

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)

輔助方法,可使用指定 BuildInfoFileKey 擷取 VersionedFile

參數
key BuildInfoKey.BuildInfoFileKey:要求的 BuildInfoFileKey

傳回
VersionedFile 版本化檔案,或找不到時為 null

getVersionedFile

public final VersionedFile getVersionedFile (String name)

輔助方法,用於擷取具有指定名稱的 VersionedFile

傳回
VersionedFile 版本化檔案,或找不到時為 null

getVersionedFileKeys

public Set<String> getVersionedFileKeys ()

傳回可透過 getFile(BuildInfoFileKey) 查詢 VersionedFile 的金鑰組合。

傳回
Set<String>

getVersionedFiles

public final List<VersionedFile> getVersionedFiles (BuildInfoKey.BuildInfoFileKey key)

輔助方法,可擷取與指定 BuildInfoFileKey 相關聯的 VersionedFile 清單。如果金鑰允許儲存清單。

參數
key BuildInfoKey.BuildInfoFileKey:要求的 BuildInfoFileKey

傳回
List<VersionedFile> 版本化檔案,或找不到時為 null

hashCode

public int hashCode ()

傳回
int

removeBuildAttribute

public void removeBuildAttribute (String attributeName)

從追蹤中移除指定 attributeName。

參數
attributeName String:要停止追蹤的屬性

setBuildBranch

public void setBuildBranch (String branch)

設定建構分支版本

參數
branch String:分支名稱

setBuildFlavor

public void setBuildFlavor (String buildFlavor)

設定建構變種版本。

setBuildId

public void setBuildId (String buildId)

設定受測版本的專屬 ID。一律不得為空值。

參數
buildId String

setDeviceSerial

public void setDeviceSerial (String serial)

設定與這個版本相關聯的 ITestDevice 序號。

參數
serial String:執行此建構作業的 ITestDevice 序號。

setFile

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

儲存此建構資訊中指定 BuildInfoFileKey 的檔案。

參數
key BuildInfoKey.BuildInfoFileKey:檔案的專屬名稱 (以 BuildInfoFileKey 為準)。

file File:當地 File

version String:檔案版本

setFile

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

將具有指定名稱的檔案儲存在這個建構資訊中。

參數
name String:檔案的專屬名稱

file File:當地 File

version String:檔案版本

setProperties

public void setProperties (BuildInfoProperties... properties)

IBuildInfo 執行個體設定 BuildInfoProperties。覆寫先前設定的任何現有屬性。

參數
properties BuildInfoProperties:要新增的屬性清單。

setTestTag

public void setTestTag (String testTag)

為執行的測試設定專屬名稱。

參數
testTag String

stageRemoteFile

public File stageRemoteFile (String fileName, 
                File workingDir)

在建構資訊的根目錄中,暫存屬於遠端檔案的檔案。

TODO(b/138416078):當測試所需的模組可正確建構輸出至測試模組的目錄本身時,請移除這個介面及其呼叫端。

參數
fileName String:要在遠端檔案中尋找的檔案名稱。

workingDir File:要暫存檔案的目錄 File 物件。

傳回
File 在 local workingDir 中暫存的檔案 File 物件。

toProto

public BuildInformation.BuildInfo toProto ()

將 BuildInfo 執行個體序列化為 protobuf。

傳回
BuildInformation.BuildInfo

toString

public String toString ()

傳回
String

受保護的方法

addAllBuildAttributes

protected void addAllBuildAttributes (BuildInfo build)

輔助方法,可從其他建構作業複製建構屬性、分支版本和變種版本。

參數
build BuildInfo

addAllFiles

protected void addAllFiles (BuildInfo build)

Helper method to copy all files from the other build.

為檔案建立新的硬連結,讓每個建構作業都有檔案的專屬檔案路徑。

參數
build BuildInfo

擲回
IOException 建立硬連結時擲回例外狀況。

applyBuildProperties

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

允許套用部分 IBuildInfo.BuildInfoProperties,並可能採取不同的處理方式。

參數
origFileConsidered VersionedFile:目前查看的 VersionedFile

build IBuildInfo:要複製的原始建構作業

receiver IBuildInfo:接收資訊的版本。

傳回
boolean 如果我們已套用屬性,且應略過後續處理程序,則為 True。否則為 False。

getAttributesMultiMap

protected MultiMap<String, String> getAttributesMultiMap ()

傳回
MultiMap<String, String>

getVersionedFileMap

protected Map<String, VersionedFile> getVersionedFileMap ()

傳回
Map<String, VersionedFile>

getVersionedFileMapFull

protected MultiMap<String, VersionedFile> getVersionedFileMapFull ()

傳回
MultiMap<String, VersionedFile>