LaunchControlProvider

public class LaunchControlProvider
extends Object implements IBuildProvider, IConfigurationReceiver, IDiscoverDependencies, IInvocationContextReceiver, ITestLoggerReceiver

java.lang.Object
   ↳ com.google.android.tradefed.build.LaunchControlProvider


Implémentation IBuildProvider qui interroge les serveurs Google Launch Control pour obtenir une version à tester.

Le sous-classement est déconseillé. Utilisez extra-target-downloads et --additional-files-filter pour spécifier les artefacts à télécharger.

TODO: refactor out the launch control client and download logic, and merge it with the future "One Common Device Flasher Library To Rule Them All" (tm)

Résumé

Classes imbriquées

class LaunchControlProvider.DownloadFileDescriptor

 

Constantes

String BUILD_ID_PARAM

String BUILD_NAME_PARAM

String LC_BASE_URL

String MIN_BUILD_ID_PARAM

String QUERY_TYPE_PARAM

String QUERY_WINDOW_PARAM

String TEST_TAG_PARAM

Champs

protected boolean mEnableResolveSymlinks

Constructeurs publics

LaunchControlProvider()

Méthodes publiques

void addFileFilter(String filter)
void addOptionalFileFilter(String optionalFilter)
void addRemoteZipFilter(String fileFilter)

Ajoutez un filtre d'un fichier ZIP distant qui peut être téléchargé partiellement.

void cleanUp(IBuildInfo info)

Nettoyez les fichiers de compilation temporaires.

void clearExtraDownloads()
IFileDownloader createLaunchControlDownloader(RemoteBuildInfo remoteBuild)

Méthode d'usine pour créer un programme de téléchargement à utiliser pour les fichiers de contrôle du lancement.

void decrementTestBuild(String buildId)
IBuildInfo fetchRemoteBuild(RemoteBuildInfo remoteBuild)

Convertissez la réponse du contrôle du lancement en un fichier IBuildInfo local contenant tous les fichiers nécessaires.

void forceUseCas(boolean useCas)
Collection<String> getAdditionalFilesFilters()
String getBranch()

Obtenir la branche spécifiée actuellement pour la requête

IBuildInfo getBuild()

Récupérez les données pour la version en cours de test.

String getBuildArchivePath()

Obtenir le chemin d'accès à l'archive des artefacts de compilation

String getBuildFlavor()

Obtenir la variante de compilation à interroger

String getBuildId()

Obtenir l'ID de build à interroger

String getBuildOs()
IConfiguration getConfiguration()

Renvoie l'élément IConfiguration injecté en cours d'utilisation.

Set<String> getContentBasedReportingDefault()
IInvocationContext getInvocationContext()
String getLcHostname()

Obtenir le nom d'hôte Launch Control à utiliser dans la requête

String getLcProtocol()

Obtenir le protocole Launch Control à utiliser dans la requête

QueryType getQueryType()

Obtenir le type de requête à utiliser

RemoteBuildInfo getRemoteBuild()

Obtenez la réponse du contrôle du lancement sans télécharger tous les fichiers.

Set<String> getRemoteZipFilters()

Obtenez un ensemble de filtres pour les fichiers ZIP qui peuvent être téléchargés partiellement.

boolean getReportContentBasedRollout()
boolean getReportContentInformation()
String getTestConfigOnlyZip()

Obtenez le fichier ZIP de configuration de test uniquement.

ITestLogger getTestLogger()
String getTestTag()

Obtenir la balise de test à utiliser dans la requête

boolean getUseSsoClient()

Indique si le client SSO doit être utilisé.

static void handleExtraTargetDownloads(IBuildInfo build, List<Entry<String, File>> entries)

Gère le téléchargement dynamique des fichiers pour compléter leurs métadonnées

boolean isChunkingUncompressedDisabled()
boolean isSecondaryParallelDownload()

Indique si le téléchargement parallèle est activé ou non.

Set<String> reportTestZipFileFilter()
void resetTestBuild()

Exécute une requête QueryType.RESET_TEST_BUILD pour demander au Launch Control de supprimer la version configurée de l'ensemble des "versions testées".

void resetTestBuild(String buildId)

Exécute une requête QueryType.RESET_TEST_BUILD pour demander au Launch Control de supprimer la version indiquée de l'ensemble des versions testées.

void setAdditionalFilesFilters(Collection<String> additionalFilesFilters)
void setBranch(String branch)

Définir la branche à interroger

void setBuildArchivePath(String buildArchivePath)

Définir le chemin d'accès à l'archive des artefacts de compilation

void setBuildFlavor(String flavor)

Définir la variante de compilation à interroger

void setBuildId(String buildId)

Définir l'ID de build à interroger

void setBuildOs(String os)
void setConfiguration(IConfiguration configuration)

Injecte le IConfiguration en cours d'utilisation.

void setContentBasedReportingDefault(Set<String> contentBasedReportingDefault)
void setEnableResolveSymlinks(boolean enableResolveSymlinks)
void setFetchSigned(boolean fetchSigned)
void setInvocationContext(IInvocationContext invocationContext)

void setLcHostname(String lcHostname)

Définir le nom d'hôte Launch Control à utiliser dans la requête

void setLcProtocol(String lcProtocol)

Définir le protocole Launch Control à utiliser dans la requête

void setMinBuildId(int minBuildId)

Définissez l'ID de compilation minimal à utiliser.

void setParallelSecondaryDownload(boolean parallel)
void setPartialDownloadForZip(boolean enableZipPartialDownload)
void setQueryType(QueryType queryType)

Définir le type de requête à utiliser

void setReportContentBasedRollout(boolean reportContentBasedRollout)
void setReportContentInformation(boolean reportContentInfo)
void setSkipCloudContent(boolean skipCloudContent)
void setTestLogger(ITestLogger testLogger)

Injecte l'instance ITestLogger

void setTestTag(String tag)

Définissez le tag de test à utiliser.

void setUseBuildApi(boolean useBuildApi)

Définit la valeur permettant de contrôler si le fournisseur de compilation doit utiliser l'API Android Build.

void setUseSsoClient(boolean useSsoClient)

Indique si le client SSO doit être utilisé.

boolean shouldFetchSigned()
boolean shouldReportContentInformation()
boolean shouldUseBuildApi()

Indique si le fournisseur de compilation doit utiliser l'API Android Build.

Méthodes protégées

void convertBuildToSigned(RemoteBuildInfo remoteBuild)

Modifiez les paramètres de ce RemoteBuildInfo pour décrire une version signée.

IHttpHelper createHttpHelper()

Méthode de fabrique permettant de créer un HttpHelper.

String createSignedParameter(String param)

Modifiez un seul paramètre pour représenter un paramètre signé. Si le paramètre est déjà au format signé, il est renvoyé sans modification.

void deleteCacheEntry(String remoteFilePath)

Supprimez le fichier du cache s'il est corrompu.

void downloadAdditionalFiles(RemoteBuildInfo remoteBuild, IFileDownloader downloader, IBuildInfo localBuild)
IBuildInfo downloadBuildFiles(RemoteBuildInfo remoteBuild, String testTargetName, String buildName, IFileDownloader downloader)

Téléchargez les clés de fichier nécessaires, telles qu'elles sont configurées dans --download-build-key à partir de remoteBuild, et stockez-les dans un IBuildInfo.

final List<Entry<LaunchControlProvider.DownloadFileDescriptor, File>> downloadFilesNonBlocking(IFileDownloader downloader, List<LaunchControlProvider.DownloadFileDescriptor> toBeDownloaded)

Téléchargez l'ensemble des chemins d'accès aux fichiers et appliquez-les s'ils sont obligatoires.

AndroidBuildArtifactHelper getBuildArtifactHelper()
MultiMap<String, File> getExtraDownloadMap()

Renvoie la carte des cibles téléchargées supplémentaires.

Set<String> getGlobalDownloadExclusionPatterns()
final File getWorkFolder()

Renvoie le dossier de travail de l'invocation actuelle.

final File handleDirectoryDownload(File downloadedFile)
RemoteBuildInfo performBuildApiQuery()
void performValidityCheckForBuildApi()
RemoteBuildInfo queryForBuild(MultiMap<String, String> params)

Exécutez la requête de contrôle du lancement, en réessayant plusieurs fois en cas d'erreur.

RemoteBuildInfo queryForBuild()

Exécutez la requête de contrôle du lancement, en réessayant plusieurs fois en cas d'erreur.

RemoteBuildInfo queryForBuildWithBuildApi()

Exécute la requête de compilation par rapport à l'API Build.

void replaceParamWithSigned(RemoteBuildInfo buildInfo, RemoteBuildInfo.BuildAttributeKey key)
boolean useCasDefaultRollout()

Constantes

BUILD_ID_PARAM

protected static final String BUILD_ID_PARAM

Valeur constante : "bid"

BUILD_NAME_PARAM

protected static final String BUILD_NAME_PARAM

Valeur constante : "id"

LC_BASE_URL

protected static final String LC_BASE_URL

Valeur de constante : "%s://%s/buildbot-update"

MIN_BUILD_ID_PARAM

protected static final String MIN_BUILD_ID_PARAM

Valeur de constante : "min_build_id"

QUERY_TYPE_PARAM

protected static final String QUERY_TYPE_PARAM

Valeur constante : "op"

QUERY_WINDOW_PARAM

protected static final String QUERY_WINDOW_PARAM

Valeur de constante : "query_window"

TEST_TAG_PARAM

protected static final String TEST_TAG_PARAM

Valeur de constante : "test_tag"

Champs

protected boolean mEnableResolveSymlinks

Constructeurs publics

LaunchControlProvider

public LaunchControlProvider ()

Méthodes publiques

addFileFilter

public void addFileFilter (String filter)

Paramètres
filter String

addOptionalFileFilter

public void addOptionalFileFilter (String optionalFilter)

Paramètres
optionalFilter String

addRemoteZipFilter

public void addRemoteZipFilter (String fileFilter)

Ajoutez un filtre d'un fichier ZIP distant qui peut être téléchargé partiellement.

Paramètres
fileFilter String

cleanUp

public void cleanUp (IBuildInfo info)

Nettoyez les fichiers de compilation temporaires.

Paramètres
info IBuildInfo

clearExtraDownloads

public void clearExtraDownloads ()

createLaunchControlDownloader

public IFileDownloader createLaunchControlDownloader (RemoteBuildInfo remoteBuild)

Méthode d'usine pour créer un programme de téléchargement à utiliser pour les fichiers de contrôle du lancement.

Paramètres
remoteBuild RemoteBuildInfo

Renvoie
IFileDownloader

decrementTestBuild

public void decrementTestBuild (String buildId)

Paramètres
buildId String

fetchRemoteBuild

public IBuildInfo fetchRemoteBuild (RemoteBuildInfo remoteBuild)

Convertissez la réponse du contrôle du lancement en un fichier IBuildInfo local contenant tous les fichiers nécessaires.

Rendu public pour que les spécialisations en dehors de ce package puissent l'utiliser directement. Normalement, getBuild() doit être utilisé à la place.

Paramètres
remoteBuild RemoteBuildInfo : réponse du serveur de contrôle du lancement

Renvoie
IBuildInfo le IBuildInfo rempli avec les versions locales des fichiers de compilation.

Génère
BuildRetrievalError si les fichiers de compilation n'ont pas pu être téléchargés ;

forceUseCas

public void forceUseCas (boolean useCas)

Paramètres
useCas boolean

getAdditionalFilesFilters

public Collection<String> getAdditionalFilesFilters ()

Renvoie
Collection<String>

getBranch

public String getBranch ()

Obtenir la branche spécifiée actuellement pour la requête

Renvoie
String la branche

getBuild

public IBuildInfo getBuild ()

Récupérez les données pour la version en cours de test.

Renvoie
IBuildInfo IBuildInfo pour le build en cours de test ou null si aucun build n'est disponible pour le test

Génère
BuildRetrievalError

getBuildArchivePath

public String getBuildArchivePath ()

Obtenir le chemin d'accès à l'archive des artefacts de compilation

Renvoie
String

getBuildFlavor

public String getBuildFlavor ()

Obtenir la variante de compilation à interroger

Renvoie
String

getBuildId

public String getBuildId ()

Obtenir l'ID de build à interroger

Renvoie
String

getBuildOs

public String getBuildOs ()

Renvoie
String

getConfiguration

public IConfiguration getConfiguration ()

Renvoie l'élément IConfiguration injecté en cours d'utilisation.

Renvoie
IConfiguration

getContentBasedReportingDefault

public Set<String> getContentBasedReportingDefault ()

Renvoie
Set<String>

getInvocationContext

public IInvocationContext getInvocationContext ()

Renvoie
IInvocationContext

getLcHostname

public String getLcHostname ()

Obtenir le nom d'hôte Launch Control à utiliser dans la requête

Renvoie
String

getLcProtocol

public String getLcProtocol ()

Obtenir le protocole Launch Control à utiliser dans la requête

Renvoie
String

getQueryType

public QueryType getQueryType ()

Obtenir le type de requête à utiliser

Renvoie
QueryType

getRemoteBuild

public RemoteBuildInfo getRemoteBuild ()

Obtenez la réponse du contrôle du lancement sans télécharger tous les fichiers.

Rendu public pour que les spécialisations en dehors de ce package puissent l'utiliser directement. Normalement, getBuild() doit être utilisé à la place.

Renvoie
RemoteBuildInfo la réponse RemoteBuildInfo du Launch Control.

Génère
BuildRetrievalError si les informations de compilation n'ont pas pu être récupérées en raison d'une erreur inattendue.

getRemoteZipFilters

public Set<String> getRemoteZipFilters ()

Obtenez un ensemble de filtres pour les fichiers ZIP qui peuvent être téléchargés partiellement.

Renvoie
Set<String>

getReportContentBasedRollout

public boolean getReportContentBasedRollout ()

Renvoie
boolean

getReportContentInformation

public boolean getReportContentInformation ()

Renvoie
boolean

getTestConfigOnlyZip

public String getTestConfigOnlyZip ()

Obtenez le fichier ZIP de configuration de test uniquement.

Renvoie
String

getTestLogger

public ITestLogger getTestLogger ()

Renvoie
ITestLogger

getTestTag

public String getTestTag ()

Obtenir la balise de test à utiliser dans la requête

Renvoie
String

getUseSsoClient

public boolean getUseSsoClient ()

Indique si le client SSO doit être utilisé.

Renvoie
boolean

handleExtraTargetDownloads

public static void handleExtraTargetDownloads (IBuildInfo build, 
                List<Entry<String, File>> entries)

Gère le téléchargement dynamique des fichiers pour compléter leurs métadonnées

Paramètres
build IBuildInfo

entries List

Génère
BuildRetrievalError

isChunkingUncompressedDisabled

public boolean isChunkingUncompressedDisabled ()

Renvoie
boolean

isSecondaryParallelDownload

public boolean isSecondaryParallelDownload ()

Indique si le téléchargement parallèle est activé ou non.

Renvoie
boolean

reportTestZipFileFilter

public Set<String> reportTestZipFileFilter ()

Renvoie
Set<String>

resetTestBuild

public void resetTestBuild ()

Exécute une requête QueryType.RESET_TEST_BUILD pour demander au Launch Control de supprimer la version configurée de l'ensemble des "versions testées".

Dispose de mécanismes limités de gestion des exceptions et de nouvelles tentatives. Obsolète, car LCProxy a été arrêté.

resetTestBuild

public void resetTestBuild (String buildId)

Exécute une requête QueryType.RESET_TEST_BUILD pour demander au Launch Control de supprimer la version indiquée de l'ensemble des versions testées.

Dispose de mécanismes limités de gestion des exceptions et de nouvelles tentatives. Déconseillé, car LCProxy est abandonné.

Paramètres
buildId String : ID de la compilation à réinitialiser

setAdditionalFilesFilters

public void setAdditionalFilesFilters (Collection<String> additionalFilesFilters)

Paramètres
additionalFilesFilters Collection

setBranch

public void setBranch (String branch)

Définir la branche à interroger

setBuildArchivePath

public void setBuildArchivePath (String buildArchivePath)

Définir le chemin d'accès à l'archive des artefacts de compilation

setBuildFlavor

public void setBuildFlavor (String flavor)

Définir la variante de compilation à interroger

setBuildId

public void setBuildId (String buildId)

Définir l'ID de build à interroger

setBuildOs

public void setBuildOs (String os)

Paramètres
os String

setConfiguration

public void setConfiguration (IConfiguration configuration)

Injecte le IConfiguration en cours d'utilisation.

Paramètres
configuration IConfiguration

setContentBasedReportingDefault

public void setContentBasedReportingDefault (Set<String> contentBasedReportingDefault)

Paramètres
contentBasedReportingDefault Set

setEnableResolveSymlinks

public void setEnableResolveSymlinks (boolean enableResolveSymlinks)

Paramètres
enableResolveSymlinks boolean

setFetchSigned

public void setFetchSigned (boolean fetchSigned)

Paramètres
fetchSigned boolean

setInvocationContext

public void setInvocationContext (IInvocationContext invocationContext)

Paramètres
invocationContext IInvocationContext

setLcHostname

public void setLcHostname (String lcHostname)

Définir le nom d'hôte Launch Control à utiliser dans la requête

Paramètres
lcHostname String

setLcProtocol

public void setLcProtocol (String lcProtocol)

Définir le protocole Launch Control à utiliser dans la requête

setMinBuildId

public void setMinBuildId (int minBuildId)

Définissez l'ID de compilation minimal à utiliser.

Paramètres
minBuildId int

setParallelSecondaryDownload

public void setParallelSecondaryDownload (boolean parallel)

Paramètres
parallel boolean

setPartialDownloadForZip

public void setPartialDownloadForZip (boolean enableZipPartialDownload)

Paramètres
enableZipPartialDownload boolean

setQueryType

public void setQueryType (QueryType queryType)

Définir le type de requête à utiliser

setReportContentBasedRollout

public void setReportContentBasedRollout (boolean reportContentBasedRollout)

Paramètres
reportContentBasedRollout boolean

setReportContentInformation

public void setReportContentInformation (boolean reportContentInfo)

Paramètres
reportContentInfo boolean

setSkipCloudContent

public void setSkipCloudContent (boolean skipCloudContent)

Paramètres
skipCloudContent boolean

setTestLogger

public void setTestLogger (ITestLogger testLogger)

Injecte l'instance ITestLogger

Paramètres
testLogger ITestLogger

setTestTag

public void setTestTag (String tag)

Définissez le tag de test à utiliser.

Paramètres
tag String

setUseBuildApi

public void setUseBuildApi (boolean useBuildApi)

Définit la valeur permettant de contrôler si le fournisseur de compilation doit utiliser l'API Android Build.

Paramètres
useBuildApi boolean

setUseSsoClient

public void setUseSsoClient (boolean useSsoClient)

Indique si le client SSO doit être utilisé.

Paramètres
useSsoClient boolean

shouldFetchSigned

public boolean shouldFetchSigned ()

Renvoie
boolean

shouldReportContentInformation

public boolean shouldReportContentInformation ()

Renvoie
boolean

shouldUseBuildApi

public boolean shouldUseBuildApi ()

Indique si le fournisseur de compilation doit utiliser l'API Android Build.

Renvoie
boolean

Méthodes protégées

convertBuildToSigned

protected void convertBuildToSigned (RemoteBuildInfo remoteBuild)

Modifiez les paramètres de ce RemoteBuildInfo pour décrire une version signée.

Paramètres
remoteBuild RemoteBuildInfo : RemoteBuildInfo à modifier

Génère
com.android.tradefed.build.BuildRetrievalError
BuildRetrievalError

createHttpHelper

protected IHttpHelper createHttpHelper ()

Méthode de fabrique permettant de créer un HttpHelper.

Exposé pour pouvoir être simulé pour les tests unitaires.

Renvoie
IHttpHelper

createSignedParameter

protected String createSignedParameter (String param)

Modifiez un seul paramètre pour représenter un paramètre signé. Si le paramètre est déjà au format signé, il est renvoyé sans modification.

Paramètres
param String : paramètre initial (peut être non signé ou déjà signé)

Renvoie
String le paramètre signé.

Génère
BuildRetrievalError si le paramètre est incorrect et ne peut pas être traité.

deleteCacheEntry

protected void deleteCacheEntry (String remoteFilePath)

Supprimez le fichier du cache s'il est corrompu.

Paramètres
remoteFilePath String : même fichier distant que celui spécifié dans IFileDownloader.downloadFile(String).

downloadAdditionalFiles

protected void downloadAdditionalFiles (RemoteBuildInfo remoteBuild, 
                IFileDownloader downloader, 
                IBuildInfo localBuild)

Paramètres
remoteBuild RemoteBuildInfo

downloader IFileDownloader

localBuild IBuildInfo

Génère
BuildRetrievalError

downloadBuildFiles

protected IBuildInfo downloadBuildFiles (RemoteBuildInfo remoteBuild, 
                String testTargetName, 
                String buildName, 
                IFileDownloader downloader)

Téléchargez les clés de fichier nécessaires, telles qu'elles sont configurées dans --download-build-key à partir de remoteBuild, et stockez-les dans un IBuildInfo.

Paramètres
remoteBuild RemoteBuildInfo : réponse du serveur de contrôle du lancement

testTargetName String : nom de la cible de test

buildName String : nom de la build, tel que défini par Launch Control

downloader IFileDownloader : IFileDownloader à utiliser pour télécharger les fichiers de compilation

Renvoie
IBuildInfo le IBuildInfo rempli avec les versions locales des fichiers de compilation.

Génère
BuildRetrievalError si les fichiers de compilation n'ont pas pu être téléchargés ;

downloadFilesNonBlocking

protected final List<Entry<LaunchControlProvider.DownloadFileDescriptor, File>> downloadFilesNonBlocking (IFileDownloader downloader, 
                List<LaunchControlProvider.DownloadFileDescriptor> toBeDownloaded)

Téléchargez l'ensemble des chemins d'accès aux fichiers et appliquez-les s'ils sont obligatoires.

Paramètres
downloader IFileDownloader

toBeDownloaded List

Renvoie
List<Entry<LaunchControlProvider.DownloadFileDescriptor, File>>

Génère
BuildRetrievalError

getBuildArtifactHelper

protected AndroidBuildArtifactHelper getBuildArtifactHelper ()

Renvoie
AndroidBuildArtifactHelper

Génère
BuildRetrievalError

getExtraDownloadMap

protected MultiMap<String, File> getExtraDownloadMap ()

Renvoie la carte des cibles téléchargées supplémentaires.

Renvoie
MultiMap<String, File>

getGlobalDownloadExclusionPatterns

protected Set<String> getGlobalDownloadExclusionPatterns ()

Renvoie
Set<String>

getWorkFolder

protected final File getWorkFolder ()

Renvoie le dossier de travail de l'invocation actuelle.

Renvoie
File

handleDirectoryDownload

protected final File handleDirectoryDownload (File downloadedFile)

Paramètres
downloadedFile File

Renvoie
File

performBuildApiQuery

protected RemoteBuildInfo performBuildApiQuery ()

Renvoie
RemoteBuildInfo

Génère
BuildRetrievalError

performValidityCheckForBuildApi

protected void performValidityCheckForBuildApi ()

queryForBuild

protected RemoteBuildInfo queryForBuild (MultiMap<String, String> params)

Exécutez la requête de contrôle du lancement, en réessayant plusieurs fois en cas d'erreur.

Paramètres
params MultiMap : paramètres pour le contrôle du lancement

Renvoie
RemoteBuildInfo RemoteBuildInfo récupéré à partir du contrôle du lancement

Génère
BuildRetrievalError

queryForBuild

protected RemoteBuildInfo queryForBuild ()

Exécutez la requête de contrôle du lancement, en réessayant plusieurs fois en cas d'erreur.

Renvoie
RemoteBuildInfo RemoteBuildInfo récupéré à partir du contrôle du lancement

Génère
BuildRetrievalError

queryForBuildWithBuildApi

protected RemoteBuildInfo queryForBuildWithBuildApi ()

Exécute la requête de compilation par rapport à l'API Build.

Remarque : Les paramètres d'entrée sont impliqués par différentes variables de portée de classe.

Renvoie
RemoteBuildInfo L'RemoteBuildInfo analysé à partir de la réponse.

Génère
com.android.tradefed.build.BuildRetrievalError
BuildRetrievalError

replaceParamWithSigned

protected void replaceParamWithSigned (RemoteBuildInfo buildInfo, 
                RemoteBuildInfo.BuildAttributeKey key)

Paramètres
buildInfo RemoteBuildInfo

key RemoteBuildInfo.BuildAttributeKey

Génère
BuildRetrievalError

useCasDefaultRollout

protected boolean useCasDefaultRollout ()

Renvoie
boolean