構建信息
public class BuildInfo
extends Object
implements IBuildInfo
java.lang.Object | |
↳ | com.android.tradefed.build.BuildInfo |
應與ITestDevice
關聯的IBuildInfo
的通用實現。
概括
公共構造函數 | |
---|---|
BuildInfo () 使用默認屬性值創建 | |
BuildInfo (String buildId, String buildTargetName) 創建一個 |
公共方法 | |
---|---|
void | addAppPackageFile (File appPackageFile, String version) 添加本地 apk 文件及其關聯版本。 |
void | addBuildAttribute (String attributeName, String attributeValue) 添加構建屬性。 |
void | addBuildAttributes ( buildAttributes) addBuildAttributes ( buildAttributes) 添加構建屬性 |
void | cleanUp () 清理所有臨時構建文件 |
void | cleanUp ( doNotClean) cleanUp ( doNotClean) 不刪除某些文件的 |
IBuildInfo | clone () |
final void | copyAllFileFrom ( BuildInfo build) 將給定構建中的所有 |
boolean | equals (Object obj) |
static IBuildInfo | fromProto (BuildInformation.BuildInfo protoBuild) 對 |
getAppPackageFiles () 獲取一組本地應用程序 apk 文件及其版本的副本。 | |
getBuildAttributes () 獲取一組描述構建的附加屬性的名稱-值對。 | |
String | getBuildBranch () 可選方法,用於返回生成被測試構建的源代碼控制分支。 |
String | getBuildFlavor () 返回正在測試的構建類型的可選方法。 |
String | getBuildId () 返回被測構建的唯一標識符。 |
String | getBuildTargetName () 返回正在測試的構建的完整名稱。 |
String | getDeviceSerial () |
File | getFile (String name) 檢索具有給定名稱的文件的輔助方法。 |
File | getFile ( BuildInfoKey.BuildInfoFileKey key) 使用給定的 |
getFiles () 返回存儲在此 | |
getProperties () 返回當前在 | |
getRemoteFiles () 獲取延遲下載的構建工件的路徑。 | |
String | getTestTag () 返回正在運行的測試的唯一名稱。 |
String | getVersion ( BuildInfoKey.BuildInfoFileKey key) 使用給定的 |
String | getVersion (String name) 用於檢索具有給定名稱的文件版本的幫助程序方法。 |
VersionedFile | getVersionedFile ( BuildInfoKey.BuildInfoFileKey key) 使用給定的 |
final VersionedFile | getVersionedFile (String name) 用於檢索具有給定名稱的 |
getVersionedFileKeys () 返回可用於通過 | |
final | getVersionedFiles ( BuildInfoKey.BuildInfoFileKey key) 檢索與給定 |
int | hashCode () |
void | removeBuildAttribute (String attributeName) 從跟踪中刪除給定的 attributeName。 |
void | setBuildBranch (String branch) 設置構建分支 |
void | setBuildFlavor (String buildFlavor) 設置構建風格。 |
void | setBuildId (String buildId) 設置被測構建的唯一標識符。 |
void | setDeviceSerial (String serial) 設置與此構建關聯的 |
void | setFile (String name, File file, String version) 在此構建信息中存儲具有給定名稱的文件。 |
void | setFile ( BuildInfoKey.BuildInfoFileKey key, File file, String version) 在此構建信息中存儲給定 |
void | setProperties ( BuildInfoProperties... properties) |
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) 允許應用一些 |
MultiMap <String, String> | getAttributesMultiMap () |
getVersionedFileMap () | |
MultiMap <String, VersionedFile > | getVersionedFileMapFull () |
公共構造函數
構建信息
public BuildInfo (String buildId, String buildTargetName)
創建一個BuildInfo
參數 | |
---|---|
buildId | String :構建 ID |
buildTargetName | String : 構建目標名稱 |
公共方法
添加應用程序包文件
public void addAppPackageFile (File appPackageFile, String version)
添加本地 apk 文件及其關聯版本。請注意,apk 將按照此方法添加它們的順序從getAppPackageFiles()
返回。
參數 | |
---|---|
appPackageFile | File |
version | String |
添加構建屬性
public void addBuildAttribute (String attributeName, String attributeValue)
添加構建屬性。這不允許覆蓋現有的 attributeName。
參數 | |
---|---|
attributeName | String : 唯一的屬性名稱 |
attributeValue | String : 屬性值 |
添加構建屬性
public void addBuildAttributes (buildAttributes)
添加構建屬性
參數 | |
---|---|
buildAttributes |
清理
public void cleanUp ()
清理所有臨時構建文件
複製所有文件來源
public final void copyAllFileFrom (BuildInfo build)
將給定構建中的所有VersionedFile
複製到這個構建中。
參數 | |
---|---|
build | BuildInfo |
等於
public boolean equals (Object obj)
參數 | |
---|---|
obj | Object |
退貨 | |
---|---|
boolean |
來自原型
public static IBuildInfo fromProto (BuildInformation.BuildInfo protoBuild)
對toProto()
進行逆向操作以取回實例。
參數 | |
---|---|
protoBuild | BuildInformation.BuildInfo |
退貨 | |
---|---|
IBuildInfo |
獲取應用程序包文件
publicgetAppPackageFiles ()
獲取一組本地應用程序 apk 文件及其版本的副本。返回的順序與將 apk 添加到IAppBuildInfo
順序相匹配。
退貨 | |
---|---|
獲取構建分支
public String getBuildBranch ()
可選方法,用於返回生成被測試構建的源代碼控制分支。
退貨 | |
---|---|
String | 構建分支或null 如果未設置/不適用 |
獲取BuildFlavor
public String getBuildFlavor ()
返回正在測試的構建類型的可選方法。
Android 平台構建的一個常見實現是返回(構建產品)-(構建操作系統)-(構建變體)。即通用-linux-userdebug退貨 | |
---|---|
String | 構建風格或null 如果未設置/不適用 |
getBuildTargetName
public String getBuildTargetName ()
返回正在測試的構建的完整名稱。
一個常見的實現是通過構建風格和分支名稱的組合來構造構建目標名稱。 [即(分支名稱)-(構建風味)]退貨 | |
---|---|
String |
獲取設備序列號
public String getDeviceSerial ()
退貨 | |
---|---|
String |
獲取文件
public File getFile (String name)
檢索具有給定名稱的文件的輔助方法。
退貨 | |
---|---|
File | 圖像文件或null 如果找不到 |
獲取文件
public File getFile (BuildInfoKey.BuildInfoFileKey key)
使用給定的BuildInfoFileKey
檢索文件的輔助方法。
參數 | |
---|---|
key | BuildInfoKey.BuildInfoFileKey :請求的BuildInfoFileKey 。 |
退貨 | |
---|---|
File | 圖像文件或null 如果找不到 |
獲取遠程文件
publicgetRemoteFiles ()
獲取延遲下載的構建工件的路徑。
退貨 | |
---|---|
獲取測試標籤
public String getTestTag ()
返回正在運行的測試的唯一名稱。
退貨 | |
---|---|
String |
獲取版本
public String getVersion (BuildInfoKey.BuildInfoFileKey key)
使用給定的BuildInfoFileKey
檢索文件版本的幫助程序方法。
參數 | |
---|---|
key | BuildInfoKey.BuildInfoFileKey :請求的BuildInfoFileKey 。 |
退貨 | |
---|---|
String | 圖像版本,如果未找到則為null |
獲取版本
public String getVersion (String name)
用於檢索具有給定名稱的文件版本的幫助程序方法。
退貨 | |
---|---|
String | 圖像版本,如果未找到則為null |
獲取版本文件
public VersionedFile getVersionedFile (BuildInfoKey.BuildInfoFileKey key)
使用給定的BuildInfoFileKey
檢索VersionedFile
幫助程序方法。
參數 | |
---|---|
key | BuildInfoKey.BuildInfoFileKey :請求的BuildInfoFileKey 。 |
退貨 | |
---|---|
VersionedFile | 版本化文件,如果未找到則為null |
獲取版本文件
public final VersionedFile getVersionedFile (String name)
用於檢索具有給定名稱的VersionedFile
幫助程序方法。
退貨 | |
---|---|
VersionedFile | 版本化文件,如果未找到則為null |
getVersionedFileKeys
publicgetVersionedFileKeys ()
返回可用於通過getFile(BuildInfoFileKey)
查詢VersionedFile
鍵集。
退貨 | |
---|---|
獲取版本文件
public finalgetVersionedFiles (BuildInfoKey.BuildInfoFileKey key)
檢索與給定BuildInfoFileKey
關聯的VersionedFile
列表的輔助方法。如果密鑰允許存儲列表。
參數 | |
---|---|
key | BuildInfoKey.BuildInfoFileKey :請求的BuildInfoFileKey 。 |
退貨 | |
---|---|
版本化文件,如果未找到則為null |
哈希碼
public int hashCode ()
退貨 | |
---|---|
int |
移除構建屬性
public void removeBuildAttribute (String attributeName)
從跟踪中刪除給定的 attributeName。
參數 | |
---|---|
attributeName | String : 停止跟踪的屬性 |
設置BuildBranch
public void setBuildBranch (String branch)
設置構建分支
參數 | |
---|---|
branch | String : 分支名稱 |
設置BuildFlavor
public void setBuildFlavor (String buildFlavor)
設置構建風格。
設置BuildId
public void setBuildId (String buildId)
設置被測構建的唯一標識符。永遠不應該為空。
參數 | |
---|---|
buildId | String |
設置設備序列號
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 :文件版本 |
設置屬性
public void setProperties (BuildInfoProperties... properties)
為IBuildInfo
實例設置BuildInfoProperties
。覆蓋之前設置的任何現有屬性。
參數 | |
---|---|
properties | BuildInfoProperties :要添加的屬性列表。 |
設置測試標籤
public void setTestTag (String testTag)
為正在運行的測試設置唯一名稱。
參數 | |
---|---|
testTag | String |
階段遠程文件
public File stageRemoteFile (String fileName, File workingDir)
在構建信息的根目錄中暫存一個屬於遠程文件的文件。
TODO(b/138416078):當測試所需的模塊可以正確構建輸出到測試模塊目錄本身時,刪除此接口及其調用方。
參數 | |
---|---|
fileName | String :要位於遠程文件中的文件的名稱。 |
workingDir | File :用於暫存文件的目錄的ERROR(/File) 對象。 |
退貨 | |
---|---|
File | 在本地 workingDir 中暫存的文件的ERROR(/File) 對象。 |
到原型
public BuildInformation.BuildInfo toProto ()
將 BuildInfo 實例序列化為 protobuf。
退貨 | |
---|---|
BuildInformation.BuildInfo |
到字符串
public String toString ()
退貨 | |
---|---|
String |
受保護的方法
添加所有構建屬性
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 | 如果我們應用了這些屬性並且應該跳過進一步的處理,則為真。否則為假。 |
getAttributesMultiMap
protected MultiMap<String, String> getAttributesMultiMap ()
退貨 | |
---|---|
MultiMap <String, String> |
getVersionedFileMap
protectedgetVersionedFileMap ()
退貨 | |
---|---|
getVersionedFileMapFull
protected MultiMap<String, VersionedFile> getVersionedFileMapFull ()
退貨 | |
---|---|
MultiMap <String, VersionedFile > |