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(String buildId, String buildTargetName)
Creates a |
Public methods | |
---|---|
void
|
addAppPackageFile(File appPackageFile, String version)
Adds the local apk file and its associated version. |
void
|
addBuildAttribute(String attributeName, String attributeValue)
Add a build attribute. |
void
|
addBuildAttributes(
Add build attributes |
void
|
allowStagingRemoteFile(boolean stageRemoteFile)
Sets permission to allow staging remote files. |
void
|
cleanUp()
Clean up any temporary build files |
void
|
cleanUp(
Version of |
IBuildInfo
|
clone()
|
final
void
|
copyAllFileFrom(BuildInfo build)
Copy all the |
boolean
|
equals(Object obj)
|
static
IBuildInfo
|
fromProto(BuildInformation.BuildInfo protoBuild)
Inverse operation to |
|
getAppPackageFiles()
Gets a copy of the set of local app apk file(s) and their versions. |
|
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 |
|
getFiles()
Returns all |
|
getProperties()
Returns a copy of the properties currently set on the |
|
getRemoteFiles()
Get the paths for build artifacts that are delayed download. |
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 |
String
|
getVersion(String name)
Helper method to retrieve a file version with given name. |
VersionedFile
|
getVersionedFile(BuildInfoKey.BuildInfoFileKey key)
Helper method to retrieve a |
final
VersionedFile
|
getVersionedFile(String name)
Helper method to retrieve a |
|
getVersionedFileKeys()
Returns the set of keys available to query |
final
|
getVersionedFiles(BuildInfoKey.BuildInfoFileKey key)
Helper method to retrieve a list of |
int
|
hashCode()
|
void
|
removeBuildAttribute(String attributeName)
Remove a given attributeName from tracking. |
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 |
void
|
setFile(String name, File file, String version)
Stores an file with given name in this build info. |
void
|
setFile(BuildInfoKey.BuildInfoFileKey key, File file, String version)
Stores an file given a |
void
|
setProperties(BuildInfoProperties... properties)
Set the |
void
|
setTestTag(String testTag)
Sets the unique name for the tests being run. |
File
|
stageRemoteFile(String fileName, File workingDir)
Stage a file that's part of remote files in the build info's root dir. |
BuildInformation.BuildInfo
|
toProto()
Serialize a the BuildInfo instance into a protobuf. |
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 |
MultiMap<String, String>
|
getAttributesMultiMap()
|
|
getVersionedFileMap()
|
MultiMap<String, VersionedFile>
|
getVersionedFileMapFull()
|
Public constructors
BuildInfo
public BuildInfo (String buildId, String buildTargetName)
Creates a BuildInfo
Parameters | |
---|---|
buildId |
String : the build id |
buildTargetName |
String : the build target name |
Public methods
addAppPackageFile
public void addAppPackageFile (File appPackageFile, String version)
Adds the local apk file and its associated version. Note that apks will be returned from
getAppPackageFiles()
in the order in which they were added by this method.
Parameters | |
---|---|
appPackageFile |
File |
version |
String |
addBuildAttribute
public void addBuildAttribute (String attributeName, String attributeValue)
Add a build attribute. This doesn't allow overriding an existing attributeName.
Parameters | |
---|---|
attributeName |
String : the unique attribute name |
attributeValue |
String : the attribute value |
addBuildAttributes
public void addBuildAttributes (buildAttributes)
Add build attributes
Parameters | |
---|---|
buildAttributes |
: Map of attributes to be added |
allowStagingRemoteFile
public void allowStagingRemoteFile (boolean stageRemoteFile)
Sets permission to allow staging remote files.
Parameters | |
---|---|
stageRemoteFile |
boolean |
cleanUp
public void cleanUp ()
Clean up any temporary build files
cleanUp
public void cleanUp (doNotClean)
Version of cleanUp()
where some files are not deleted.
Parameters | |
---|---|
doNotClean |
|
copyAllFileFrom
public final void copyAllFileFrom (BuildInfo build)
Copy all the VersionedFile
from a given build to this one.
Parameters | |
---|---|
build |
BuildInfo |
equals
public boolean equals (Object obj)
Parameters | |
---|---|
obj |
Object |
Returns | |
---|---|
boolean |
fromProto
public static IBuildInfo fromProto (BuildInformation.BuildInfo protoBuild)
Inverse operation to toProto()
to get the instance back.
Parameters | |
---|---|
protoBuild |
BuildInformation.BuildInfo |
Returns | |
---|---|
IBuildInfo |
getAppPackageFiles
publicgetAppPackageFiles ()
Gets a copy of the set of local app apk file(s) and their versions. The returned order
matches the order in which the apks were added to the IAppBuildInfo
.
Returns | |
---|---|
|
getBuildAttributes
publicgetBuildAttributes ()
Get a set of name-value pairs of additional attributes describing the build.
Returns | |
---|---|
|
a ERROR(/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-userdebugReturns | |
---|---|
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 BuildInfoFileKey
.
Parameters | |
---|---|
key |
BuildInfoKey.BuildInfoFileKey : the BuildInfoFileKey that is requested. |
Returns | |
---|---|
File |
the image file or null if not found |
getProperties
publicgetProperties ()
Returns a copy of the properties currently set on the IBuildInfo
.
Returns | |
---|---|
|
getRemoteFiles
publicgetRemoteFiles ()
Get the paths for build artifacts that are delayed download.
Returns | |
---|---|
|
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 BuildInfoFileKey
.
Parameters | |
---|---|
key |
BuildInfoKey.BuildInfoFileKey : The 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 BuildInfoFileKey
.
Parameters | |
---|---|
key |
BuildInfoKey.BuildInfoFileKey : The BuildInfoFileKey requested. |
Returns | |
---|---|
VersionedFile |
The versioned file or null if not found |
getVersionedFile
public final VersionedFile getVersionedFile (String name)
Helper method to retrieve a VersionedFile
with a given name.
Returns | |
---|---|
VersionedFile |
The versioned file or null if not found |
getVersionedFileKeys
publicgetVersionedFileKeys ()
Returns the set of keys available to query VersionedFile
via getFile(BuildInfoFileKey)
.
Returns | |
---|---|
|
getVersionedFiles
public finalgetVersionedFiles (BuildInfoKey.BuildInfoFileKey key)
Helper method to retrieve a list of VersionedFile
s associated with a given BuildInfoFileKey
. If the key allows to store a list.
Parameters | |
---|---|
key |
BuildInfoKey.BuildInfoFileKey : The BuildInfoFileKey requested. |
Returns | |
---|---|
|
The versioned file or null if not found |
hashCode
public int hashCode ()
Returns | |
---|---|
int |
removeBuildAttribute
public void removeBuildAttribute (String attributeName)
Remove a given attributeName from tracking.
Parameters | |
---|---|
attributeName |
String : the attribute to stop tracking |
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 (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 ERROR(/File) |
version |
String : the file version |
setFile
public void setFile (BuildInfoKey.BuildInfoFileKey key, File file, String version)
Stores an file given a BuildInfoFileKey
in this build info.
Parameters | |
---|---|
key |
BuildInfoKey.BuildInfoFileKey : the unique name of the file based on BuildInfoFileKey . |
file |
File : the local ERROR(/File) |
version |
String : the file version |
setProperties
public void setProperties (BuildInfoProperties... properties)
Set the 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 |
stageRemoteFile
public File stageRemoteFile (String fileName, File workingDir)
Stage a file that's part of remote files in the build info's root dir.
TODO(b/138416078): Remove this interface and its caller when modules required by a test can be properly built output to the test module's directory itself.
Parameters | |
---|---|
fileName |
String : Name of the file to be located in remote files. |
workingDir |
File : a ERROR(/File) object of the directory to stage the file. |
Returns | |
---|---|
File |
the ERROR(/File) object of the file staged in local workingDir. |
toProto
public BuildInformation.BuildInfo toProto ()
Serialize a the BuildInfo instance into a protobuf.
Returns | |
---|---|
BuildInformation.BuildInfo |
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 | |
---|---|
|
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
protectedgetVersionedFileMap ()
Returns | |
---|---|
|
getVersionedFileMapFull
protected MultiMap<String, VersionedFile> getVersionedFileMapFull ()
Returns | |
---|---|
MultiMap<String, VersionedFile> |