IBuildInfo

public interface IBuildInfo
implements Serializable

com.android.tradefed.build.IBuildInfo


保存受測版本的相關資訊。

摘要

常數

String REMOTE_FILE_PREFIX

名稱中使用的前置字串,表示檔案已設為延遲下載。

String REMOTE_FILE_VERSION

遠端檔案沒有版本。

String UNKNOWN_BUILD_ID

建構 ID 不明時的預設值。

公用方法

default void addAppPackageFile(File appPackageFile, String version)

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

abstract void addBuildAttribute(String attributeName, String attributeValue)

新增建構屬性。

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

新增建構屬性

default void allowStagingRemoteFile(boolean stageRemoteFile)

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

abstract void cleanUp()

清理所有暫時建構檔案

abstract void cleanUp(List<File> doNotDelete)

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

abstract IBuildInfo clone()

複製 IBuildInfo 物件。

default List<VersionedFile> getAppPackageFiles()

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

abstract Map<String, String> getBuildAttributes()

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

abstract String getBuildBranch()

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

abstract String getBuildFlavor()

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

abstract String getBuildId()

傳回受測版本的專屬 ID。

abstract String getBuildTargetName()

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

abstract String getDeviceSerial()
abstract File getFile(String name)

Helper method to retrieve a file with given name.

default File getFile(BuildInfoKey.BuildInfoFileKey key)

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

abstract Collection<VersionedFile> getFiles()

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

abstract Set<IBuildInfo.BuildInfoProperties> getProperties()

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

default Set<File> getRemoteFiles()

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

abstract String getTestTag()

Return a unique name for the tests being run.

default String getVersion(BuildInfoKey.BuildInfoFileKey key)

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

abstract String getVersion(String name)

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

default VersionedFile getVersionedFile(BuildInfoKey.BuildInfoFileKey key)

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

default VersionedFile getVersionedFile(String name)

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

default Set<String> getVersionedFileKeys()

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

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

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

default void removeBuildAttribute(String attributeName)

從追蹤中移除指定的 attributeName。

abstract void setBuildBranch(String branch)

設定建構分支版本

abstract void setBuildFlavor(String buildFlavor)

設定建構變種版本。

abstract void setBuildId(String buildId)

設定受測版本的專屬 ID。

abstract void setDeviceSerial(String serial)

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

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

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

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

Stores an file with given name in this build info.

abstract void setProperties(BuildInfoProperties... properties)

IBuildInfo 執行個體設定 BuildInfoProperties

abstract void setTestTag(String testTag)

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

default File stageRemoteFile(String fileName, File workingDir)

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

default BuildInformation.BuildInfo toProto()

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

常數

REMOTE_FILE_PREFIX

public static final String REMOTE_FILE_PREFIX

名稱中使用的前置字串,表示檔案已設為延遲下載。

常數值: "remote_file:"

REMOTE_FILE_VERSION

public static final String REMOTE_FILE_VERSION

遠端檔案沒有版本。

常數值: ""

UNKNOWN_BUILD_ID

public static final String UNKNOWN_BUILD_ID

建構 ID 不明時的預設值。

常數值: "-1"

公用方法

addAppPackageFile

public void addAppPackageFile (File appPackageFile, 
                String version)

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

參數
appPackageFile File

version String

addBuildAttribute

public abstract 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 abstract void cleanUp ()

清理所有暫時建構檔案

cleanUp

public abstract void cleanUp (List<File> doNotDelete)

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

參數
doNotDelete List

clone

public abstract IBuildInfo clone ()

複製 IBuildInfo 物件。

傳回
IBuildInfo

getAppPackageFiles

public List<VersionedFile> getAppPackageFiles ()

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

傳回
List<VersionedFile>

getBuildAttributes

public abstract Map<String, String> getBuildAttributes ()

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

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

getBuildBranch

public abstract String getBuildBranch ()

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

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

getBuildFlavor

public abstract String getBuildFlavor ()

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

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

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

getBuildId

public abstract String getBuildId ()

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

傳回
String

getBuildTargetName

public abstract String getBuildTargetName ()

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

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

傳回
String

getDeviceSerial

public abstract String getDeviceSerial ()

傳回
String 執行這個建構作業的 ITestDevice 序號。如果這個版本未與任何裝置建立關聯,則傳回 null

getFile

public abstract File getFile (String name)

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

傳回
File 圖片檔案,或 null (如果找不到)

getFile

public File getFile (BuildInfoKey.BuildInfoFileKey key)

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

參數
key BuildInfoKey.BuildInfoFileKey:要求的 BuildInfoFileKey

傳回
File 圖片檔案,或 null (如果找不到)

getFiles

public abstract Collection<VersionedFile> getFiles ()

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

傳回
Collection<VersionedFile>

getProperties

public abstract Set<IBuildInfo.BuildInfoProperties> getProperties ()

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

傳回
Set<IBuildInfo.BuildInfoProperties>

getRemoteFiles

public Set<File> getRemoteFiles ()

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

傳回
Set<File>

getTestTag

public abstract String getTestTag ()

傳回正在執行的測試專屬名稱。

傳回
String

getVersion

public String getVersion (BuildInfoKey.BuildInfoFileKey key)

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

參數
key BuildInfoKey.BuildInfoFileKey:要求的 BuildInfoFileKey

傳回
String 映像檔版本或 null (如果找不到)

getVersion

public abstract String getVersion (String name)

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

傳回
String 映像檔版本或 null (如果找不到)

getVersionedFile

public VersionedFile getVersionedFile (BuildInfoKey.BuildInfoFileKey key)

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

參數
key BuildInfoKey.BuildInfoFileKey:要求的 BuildInfoFileKey

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

getVersionedFile

public VersionedFile getVersionedFile (String name)

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

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

getVersionedFileKeys

public Set<String> getVersionedFileKeys ()

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

傳回
Set<String>

getVersionedFiles

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

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

參數
key BuildInfoKey.BuildInfoFileKey:要求的 BuildInfoFileKey

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

removeBuildAttribute

public void removeBuildAttribute (String attributeName)

從追蹤中移除指定 attributeName。

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

setBuildBranch

public abstract void setBuildBranch (String branch)

設定建構分支版本

參數
branch String:分支名稱

setBuildFlavor

public abstract void setBuildFlavor (String buildFlavor)

設定建構變種版本。

setBuildId

public abstract void setBuildId (String buildId)

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

參數
buildId String

setDeviceSerial

public abstract 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 abstract void setFile (String name, 
                File file, 
                String version)

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

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

file File:當地 File

version String:檔案版本

setProperties

public abstract void setProperties (BuildInfoProperties... properties)

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

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

setTestTag

public abstract 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