建構資訊

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)

新增建構屬性。

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)

輔助方法可擷取具有指定 BuildInfoFileKeyVersionedFile

final VersionedFile getVersionedFile(String name)

輔助方法可擷取具有指定名稱的 VersionedFile

getVersionedFileKeys()

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

final getVersionedFiles(BuildInfoKey.BuildInfoFileKey key)

輔助方法可擷取與指定 BuildInfoFileKey 相關的 VersionedFile 清單。

int hashCode()

void removeBuildAttribute(String 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()

公用建構函式

建構資訊

public 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(),依照此方法新增的順序。

參數
appPackageFile File

version String

addBuildAttribute

public void addBuildAttribute (String attributeName, 
                String attributeValue)

新增建構屬性。但這無法覆寫現有的屬性名稱。

參數
attributeName String:專屬屬性名稱

attributeValue String:屬性值

addBuildAttributes

public void addBuildAttributes ( buildAttributes)

新增建構屬性

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

allowStagingRemoteFile

public void allowStagingRemoteFile (boolean stageRemoteFile)

設定權限,允許執行測試環境遠端檔案。

參數
stageRemoteFile boolean

清理

public void cleanUp ()

清除任何暫存建構檔案

清理

public void cleanUp ( doNotClean)

cleanUp() 版本,其中某些檔案未刪除。

參數
doNotClean

本機副本

public IBuildInfo clone ()

傳回
IBuildInfo

複製所有檔案來源:

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 平台版本的常見實作方式是 (build product)-(build os)-(建構變數)。 ie generic-linux-userdebug

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

getBuildId

public String getBuildId ()

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

傳回
String

getBuildTargetName

public String getBuildTargetName ()

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

常見的實作方式是使用以下項目建構建構目標名稱: 建構版本和分支版本名稱[ie (branch name)-(build flavor)]

傳回
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 String:停止追蹤的屬性

setBuild 分支版本

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 序號。

設定檔案

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

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

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

file File:本機 ERROR(/File)

version String:檔案版本

設定檔案

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 暫存於本機 taskDir 中的檔案 ERROR(/File) 物件。

通訊協定

public BuildInformation.BuildInfo toProto ()

將 BuildInfo 例項序列化到 protobuf。

傳回
BuildInformation.BuildInfo

toString

public String toString ()

傳回
String

保護方法

addAllBuildAttributes

protected void addAllBuildAttributes (BuildInfo build)

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

參數
build BuildInfo

新增所有檔案

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。不正確 反之。

getAttributesMultiMap

protected MultiMap<String, String> getAttributesMultiMap ()

傳回
MultiMap<String, String>

getVersionedFileMap

protected  getVersionedFileMap ()

傳回

getVersionedFileMapFull

protected MultiMap<String, VersionedFile> getVersionedFileMapFull ()

傳回
MultiMap<String, VersionedFile>