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( buildAttributes)

新增建構屬性

void allowStagingRemoteFile(boolean stageRemoteFile)

設定權限,允許布建遠端檔案。

void cleanUp()

清理任何暫存的建構檔案

void cleanUp( doNotClean)

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

IBuildInfo clone()

final void copyAllFileFrom(BuildInfo build)

將特定版本中的所有 VersionedFile 複製到這個版本。

boolean equals(Object obj)

static IBuildInfo fromProto(BuildInformation.BuildInfo protoBuild)

toProto() 執行反向操作,即可取回例項。

getAppPackageFiles()

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

getBuildAttributes()

取得一組額外屬性名稱/值組合,用於說明版本。

String getBuildBranch()

選用方法,用於傳回測試中產生的建構版本來源控制分支。

String getBuildFlavor()

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

String getBuildId()

傳回測試中版本的專屬 ID。

String getBuildTargetName()

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

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)

輔助方法,可透過指定的 BuildInfoFileKey 擷取 VersionedFile

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)

設定建構分支

void setBuildFlavor(String buildFlavor)

設定建構變種。

void setBuildId(String buildId)

設定測試中版本的專屬 ID。

void setDeviceSerial(String serial)

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

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

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

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

在這個版本資訊中儲存 BuildInfoFileKey 指定的檔案。

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)

輔助方法,用於複製其他版本中的所有檔案。

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:版本 ID

buildTargetName String:建構目標名稱

公用方法

addAppPackageFile

public void addAppPackageFile (File appPackageFile, 
                String version)

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

參數
appPackageFile File

version String

addBuildAttribute

public void addBuildAttribute (String attributeName, 
                String attributeValue)

新增建構屬性。這麼做不會覆寫現有的 attributeName。

參數
attributeName String:不重複的屬性名稱

attributeValue String:屬性值

addBuildAttributes

public void addBuildAttributes ( buildAttributes)

新增建構屬性

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

allowStagingRemoteFile

public void allowStagingRemoteFile (boolean stageRemoteFile)

設定權限,允許布建遠端檔案。

參數
stageRemoteFile boolean

cleanUp

public void cleanUp ()

清理任何暫時性建構檔案

cleanUp

public void cleanUp ( doNotClean)

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

參數
doNotClean

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  getAppPackageFiles ()

取得本機應用程式 APK 檔案集合及其版本的副本。傳回的順序會與 APK 新增至 IAppBuildInfo 的順序相符。

傳回

getBuildAttributes

public  getBuildAttributes ()

取得一組描述版本的額外屬性名稱/值組合。

傳回
建構屬性的 ERROR(/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  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)

輔助方法,可透過指定的 BuildInfoFileKey 擷取 VersionedFile

參數
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)

設定建構分支

參數
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 (String name, 
                File file, 
                String version)

在這個版本資訊中儲存指定名稱的檔案。

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

file File:當地 ERROR(/File)

version String:檔案版本

setFile

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

在這個版本資訊中,儲存 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

stageRemoteFile

public File stageRemoteFile (String fileName, 
                File workingDir)

在建構資訊的根目錄中,將遠端檔案的一部分檔案設為階段檔案。

TODO(b/138416078):如果測試所需的模組可以正確建構至測試模組的資料夾,請移除此介面及其呼叫端。

參數
fileName String:要位於遠端檔案中的檔案名稱。

workingDir File:要將檔案置入暫存區的目錄的 ERROR(/File) 物件。

傳回
File 在本機 workingDir 中暫存的檔案的 ERROR(/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)

輔助方法,用於複製其他版本中的所有檔案。

建立檔案的新硬連結,讓每個版本都有檔案的專屬檔案路徑。

參數
build BuildInfo

擲回
如果在建立硬連結時擲回例外狀況。

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  getVersionedFileMap ()

傳回

getVersionedFileMapFull

protected MultiMap<String, VersionedFile> getVersionedFileMapFull ()

傳回
MultiMap<String, VersionedFile>