BuildInfo

public class BuildInfo
extends Object implements IBuildInfo

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


Generic implementation of a IBuildInfo that should be associated with a ITestDevice.

Summary

Public constructors

BuildInfo()

Creates a BuildInfo using default attribute values.

BuildInfo(String buildId, String buildTargetName)

Creates a BuildInfo

BuildInfo(String buildId, String testTag, String buildTargetName)

This constructor is deprecated. use BuildInfo(String, String) instead. test-tag should not be mandatory when instantiating the build info.

Public methods

void addBuildAttribute(String attributeName, String attributeValue)

Add a build attribute

void cleanUp()

Clean up any temporary build files

void cleanUp(List<File> doNotClean)

Version of cleanUp() where some files are not deleted.

IBuildInfo clone()

boolean equals(Object obj)

Map<String, String> getBuildAttributes()

Get a set of name-value pairs of additional attributes describing the build.

String getBuildBranch()

Optional method to return the source control branch that the build being tested was produced from.

String getBuildFlavor()

Optional method to return the type of build being tested.

String getBuildId()

Returns the unique identifier of build under test.

String getBuildTargetName()

Return complete name for the build being tested.

String getDeviceSerial()

File getFile(String name)

Helper method to retrieve a file with given name.

File getFile(BuildInfoKey.BuildInfoFileKey key)

Helper method to retrieve a file with given a BuildInfoKey.BuildInfoFileKey.

Collection<VersionedFile> getFiles()

Returns all VersionedFiles stored in this BuildInfo.

Set<IBuildInfo.BuildInfoProperties> getProperties()

Returns a copy of the properties currently set on the IBuildInfo.

String getTestTag()

Return a unique name for the tests being run.

String getVersion(BuildInfoKey.BuildInfoFileKey key)

Helper method to retrieve a file version with given a BuildInfoKey.BuildInfoFileKey.

String getVersion(String name)

Helper method to retrieve a file version with given name.

VersionedFile getVersionedFile(BuildInfoKey.BuildInfoFileKey key)

Helper method to retrieve a VersionedFile with a given a BuildInfoKey.BuildInfoFileKey.

VersionedFile getVersionedFile(String name)

Helper method to retrieve a VersionedFile with a given name.

int hashCode()

void setBuildBranch(String branch)

Set the build branch

void setBuildFlavor(String buildFlavor)

Set the build flavor.

void setBuildId(String buildId)

Sets the unique identifier of build under test.

void setDeviceSerial(String serial)

Set the ITestDevice serial associated with this build.

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

Stores an file given a BuildInfoKey.BuildInfoFileKey in this build info.

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

Stores an file with given name in this build info.

void setProperties(BuildInfoProperties... properties)

Set the IBuildInfo.BuildInfoProperties for the IBuildInfo instance.

void setTestTag(String testTag)

Sets the unique name for the tests being run.

String toString()

Protected methods

void addAllBuildAttributes(BuildInfo build)

Helper method to copy build attributes, branch, and flavor from other build.

void addAllFiles(BuildInfo build)

Helper method to copy all files from the other build.

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

Allow to apply some of the IBuildInfo.BuildInfoProperties and possibly do a different handling.

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

Public constructors

BuildInfo

public BuildInfo ()

Creates a BuildInfo using default attribute values.

BuildInfo

public BuildInfo (String buildId, 
                String buildTargetName)

Creates a BuildInfo

Parameters
buildId String: the build id

buildTargetName String: the build target name

BuildInfo

public BuildInfo (String buildId, 
                String testTag, 
                String buildTargetName)

This constructor is deprecated.
use BuildInfo(String, String) instead. test-tag should not be mandatory when instantiating the build info.

Creates a BuildInfo

Parameters
buildId String: the build id

testTag String: the test tag name

buildTargetName String: the build target name

Public methods

addBuildAttribute

public void addBuildAttribute (String attributeName, 
                String attributeValue)

Add a build attribute

Parameters
attributeName String: the unique attribute name

attributeValue String: the attribute value

cleanUp

public void cleanUp ()

Clean up any temporary build files

cleanUp

public void cleanUp (List<File> doNotClean)

Version of cleanUp() where some files are not deleted.

Parameters
doNotClean List

clone

public IBuildInfo clone ()

Returns
IBuildInfo

equals

public boolean equals (Object obj)

Parameters
obj Object

Returns
boolean

getBuildAttributes

public Map<String, String> getBuildAttributes ()

Get a set of name-value pairs of additional attributes describing the build.

Returns
Map<String, String> a Map of build attributes. Will not be null, but may be empty.

getBuildBranch

public String getBuildBranch ()

Optional method to return the source control branch that the build being tested was produced from.

Returns
String the build branch or null if unset/not applicable

getBuildFlavor

public String getBuildFlavor ()

Optional method to return the type of build being tested.

A common implementation for Android platform builds is to return (build product)-(build os)-(build variant). ie generic-linux-userdebug

Returns
String the build flavor or null if unset/not applicable

getBuildId

public String getBuildId ()

Returns the unique identifier of build under test. Should never be null. Defaults to UNKNOWN_BUILD_ID.

Returns
String

getBuildTargetName

public String getBuildTargetName ()

Return complete name for the build being tested.

A common implementation is to construct the build target name from a combination of the build flavor and branch name. [ie (branch name)-(build flavor)]

Returns
String

getDeviceSerial

public String getDeviceSerial ()

Returns
String

getFile

public File getFile (String name)

Helper method to retrieve a file with given name.

Returns
File the image file or null if not found

getFile

public File getFile (BuildInfoKey.BuildInfoFileKey key)

Helper method to retrieve a file with given a BuildInfoKey.BuildInfoFileKey.

Parameters
key BuildInfoKey.BuildInfoFileKey: the BuildInfoKey.BuildInfoFileKey that is requested.

Returns
File the image file or null if not found

getFiles

public Collection<VersionedFile> getFiles ()

Returns all VersionedFiles stored in this BuildInfo.

Returns
Collection<VersionedFile>

getProperties

public Set<IBuildInfo.BuildInfoProperties> getProperties ()

Returns a copy of the properties currently set on the IBuildInfo.

Returns
Set<IBuildInfo.BuildInfoProperties>

getTestTag

public String getTestTag ()

Return a unique name for the tests being run.

Returns
String

getVersion

public String getVersion (BuildInfoKey.BuildInfoFileKey key)

Helper method to retrieve a file version with given a BuildInfoKey.BuildInfoFileKey.

Parameters
key BuildInfoKey.BuildInfoFileKey: The BuildInfoKey.BuildInfoFileKey requested.

Returns
String the image version or null if not found

getVersion

public String getVersion (String name)

Helper method to retrieve a file version with given name.

Returns
String the image version or null if not found

getVersionedFile

public VersionedFile getVersionedFile (BuildInfoKey.BuildInfoFileKey key)

Helper method to retrieve a VersionedFile with a given a BuildInfoKey.BuildInfoFileKey.

Parameters
key BuildInfoKey.BuildInfoFileKey: The BuildInfoKey.BuildInfoFileKey requested.

Returns
VersionedFile The versioned file or null if not found

getVersionedFile

public VersionedFile getVersionedFile (String name)

Helper method to retrieve a VersionedFile with a given name.

Returns
VersionedFile The versioned file or null if not found

hashCode

public int hashCode ()

Returns
int

setBuildBranch

public void setBuildBranch (String branch)

Set the build branch

Parameters
branch String: the branch name

setBuildFlavor

public void setBuildFlavor (String buildFlavor)

Set the build flavor.

setBuildId

public void setBuildId (String buildId)

Sets the unique identifier of build under test. Should never be null.

Parameters
buildId String

setDeviceSerial

public void setDeviceSerial (String serial)

Set the ITestDevice serial associated with this build.

Parameters
serial String: the serial number of the ITestDevice that this build was executed with.

setFile

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

Stores an file given a BuildInfoKey.BuildInfoFileKey in this build info.

Parameters
key BuildInfoKey.BuildInfoFileKey: the unique name of the file based on BuildInfoKey.BuildInfoFileKey.

file File: the local File

version String: the file version

setFile

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

Stores an file with given name in this build info.

Parameters
name String: the unique name of the file

file File: the local File

version String: the file version

setProperties

public void setProperties (BuildInfoProperties... properties)

Set the IBuildInfo.BuildInfoProperties for the IBuildInfo instance. Override any existing properties set before.

Parameters
properties BuildInfoProperties: The list of properties to add.

setTestTag

public void setTestTag (String testTag)

Sets the unique name for the tests being run.

Parameters
testTag String

toString

public String toString ()

Returns
String

Protected methods

addAllBuildAttributes

protected void addAllBuildAttributes (BuildInfo build)

Helper method to copy build attributes, branch, and flavor from other build.

Parameters
build BuildInfo

addAllFiles

protected void addAllFiles (BuildInfo build)

Helper method to copy all files from the other build.

Creates new hardlinks to the files so that each build will have a unique file path to the file.

Parameters
build BuildInfo

Throws
IOException if an exception is thrown when creating the hardlink.

applyBuildProperties

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

Allow to apply some of the IBuildInfo.BuildInfoProperties and possibly do a different handling.

Parameters
origFileConsidered VersionedFile: The currently looked at VersionedFile.

build IBuildInfo: the original build being cloned

receiver IBuildInfo: the build receiving the information.

Returns
boolean True if we applied the properties and further handling should be skipped. False otherwise.

getAttributesMultiMap

protected MultiMap<String, String> getAttributesMultiMap ()

Returns
MultiMap<String, String>

getVersionedFileMap

protected Map<String, VersionedFile> getVersionedFileMap ()

Returns
Map<String, VersionedFile>