LaunchControlProvider

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

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


Uma implementação de IBuildProvider que consulta os servidores de controle de lançamento do Google para uma build a ser testada.

A criação de subclasses não é recomendada. Use extra-target-downloads e --additional-files-filter para especificar os artefatos a serem baixados.

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)

Resumo

Classes aninhadas

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

Campos

protected boolean mEnableResolveSymlinks

Construtores públicos

LaunchControlProvider()

Métodos públicos

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

Adicione um filtro de um arquivo ZIP remoto que pode ser baixado parcialmente.

void cleanUp(IBuildInfo info)

Limpe todos os arquivos de build temporários.

void clearExtraDownloads()
IFileDownloader createLaunchControlDownloader(RemoteBuildInfo remoteBuild)

Método de fábrica para criar um downloader a ser usado em arquivos de controle de inicialização.

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

Converta a resposta de controle de inicialização em um IBuildInfo local com todos os arquivos necessários.

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

Receber o branch especificado no momento para consulta

IBuildInfo getBuild()

Recupere os dados do build em teste.

String getBuildArchivePath()

Receber o caminho para o arquivo de artefatos de build

String getBuildFlavor()

Receber o sabor de build para consultar

String getBuildId()

Receber o ID da build para consultar

String getBuildOs()
IConfiguration getConfiguration()

Retorna a IConfiguration injetada em uso.

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

Receber o nome do host do Launch Control para usar na consulta

String getLcProtocol()

Recebe o protocolo Launch Control para usar na consulta.

QueryType getQueryType()

Receber o tipo de consulta a ser usado

RemoteBuildInfo getRemoteBuild()

Receba a resposta de controle de inicialização sem baixar todos os arquivos.

Set<String> getRemoteZipFilters()

Recebe um conjunto de filtros para arquivos ZIP que podem ser baixados parcialmente.

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

Receba o arquivo ZIP de configuração somente de teste.

ITestLogger getTestLogger()
String getTestTag()

Receber a tag de teste para usar na consulta

boolean getUseSsoClient()

Recebe se o cliente de SSO deve ser usado.

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

Processa o download dinâmico de arquivos para preencher os metadados.

boolean isChunkingUncompressedDisabled()
boolean isSecondaryParallelDownload()

Se o download paralelo está ativado ou não.

Set<String> reportTestZipFileFilter()
void resetTestBuild()

Executa uma consulta QueryType.RESET_TEST_BUILD para solicitar que o controle de lançamento remova o build configurado do conjunto "builds testados".

void resetTestBuild(String buildId)

Executa uma consulta QueryType.RESET_TEST_BUILD para solicitar que o controle de lançamento remova o build especificado do conjunto "Builds testados".

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

Definir a ramificação para consultar

void setBuildArchivePath(String buildArchivePath)

Definir o caminho para o arquivo de artefatos de build

void setBuildFlavor(String flavor)

Definir o sabor de build para consultar

void setBuildId(String buildId)

Definir o ID do build para consultar

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

Injeta a IConfiguration em uso.

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

void setLcHostname(String lcHostname)

Defina o nome do host do Launch Control a ser usado na consulta.

void setLcProtocol(String lcProtocol)

Defina o protocolo de controle de inicialização a ser usado na consulta.

void setMinBuildId(int minBuildId)

Defina o ID mínimo do build a ser usado.

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

Definir o tipo de consulta a ser usado

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

Injeta a instância ITestLogger.

void setTestTag(String tag)

Defina a tag de teste a ser usada.

void setUseBuildApi(boolean useBuildApi)

Define o valor para controlar se o provedor de build deve usar a API Android Build.

void setUseSsoClient(boolean useSsoClient)

Defina se o cliente SSO deve ser usado.

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

Retorna se o provedor de build deve usar a API Android Build.

Métodos protegidos

void convertBuildToSigned(RemoteBuildInfo remoteBuild)

Modifique os parâmetros neste RemoteBuildInfo para descrever um build assinado.

IHttpHelper createHttpHelper()

Método de fábrica para criar um HttpHelper.

String createSignedParameter(String param)

Modifique um único parâmetro para representar um parâmetro assinado. Se o parâmetro já estiver no formato assinado, ele será retornado sem alterações.

void deleteCacheEntry(String remoteFilePath)

Remova o arquivo do cache caso ele esteja corrompido.

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

Faça o download das chaves de arquivo necessárias, conforme configurado em --download-build-key, do remoteBuild e armazene-as em um IBuildInfo.

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

Faça o download do conjunto de caminhos de arquivo e aplique-os se forem obrigatórios.

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

Retorna o mapa de destinos extras baixados.

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

Retorna a pasta de trabalho da invocação atual.

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

Execute a consulta de controle de lançamento, repetindo várias vezes em caso de erro.

RemoteBuildInfo queryForBuild()

Execute a consulta de controle de lançamento, repetindo várias vezes em caso de erro.

RemoteBuildInfo queryForBuildWithBuildApi()

Executa a consulta de build na API Build.

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

Constantes

BUILD_ID_PARAM

protected static final String BUILD_ID_PARAM

Valor da constante: "bid"

BUILD_NAME_PARAM

protected static final String BUILD_NAME_PARAM

Valor da constante: "id"

LC_BASE_URL

protected static final String LC_BASE_URL

Valor da constante: "%s://%s/buildbot-update"

MIN_BUILD_ID_PARAM

protected static final String MIN_BUILD_ID_PARAM

Valor da constante: "min_build_id"

QUERY_TYPE_PARAM

protected static final String QUERY_TYPE_PARAM

Valor da constante: "op"

QUERY_WINDOW_PARAM

protected static final String QUERY_WINDOW_PARAM

Valor da constante: "query_window"

TEST_TAG_PARAM

protected static final String TEST_TAG_PARAM

Valor da constante: "test_tag"

Campos

protected boolean mEnableResolveSymlinks

Construtores públicos

LaunchControlProvider

public LaunchControlProvider ()

Métodos públicos

addFileFilter

public void addFileFilter (String filter)

Parâmetros
filter String

addOptionalFileFilter

public void addOptionalFileFilter (String optionalFilter)

Parâmetros
optionalFilter String

addRemoteZipFilter

public void addRemoteZipFilter (String fileFilter)

Adicione um filtro de um arquivo ZIP remoto que pode ser baixado parcialmente.

Parâmetros
fileFilter String

cleanUp

public void cleanUp (IBuildInfo info)

Limpe todos os arquivos de build temporários.

Parâmetros
info IBuildInfo

clearExtraDownloads

public void clearExtraDownloads ()

createLaunchControlDownloader

public IFileDownloader createLaunchControlDownloader (RemoteBuildInfo remoteBuild)

Método de fábrica para criar um downloader a ser usado em arquivos de controle de inicialização.

Parâmetros
remoteBuild RemoteBuildInfo

Retorna
IFileDownloader

decrementTestBuild

public void decrementTestBuild (String buildId)

Parâmetros
buildId String

fetchRemoteBuild

public IBuildInfo fetchRemoteBuild (RemoteBuildInfo remoteBuild)

Converta a resposta de controle de inicialização em um IBuildInfo local com todos os arquivos necessários.

Tornada pública para que especializações fora deste pacote possam usá-la diretamente. Normalmente, use getBuild().

Parâmetros
remoteBuild RemoteBuildInfo: a resposta do servidor de controle de inicialização.

Retorna
IBuildInfo o IBuildInfo preenchido com versões locais de arquivos de build

Gera
BuildRetrievalError se não for possível fazer o download dos arquivos de build

forceUseCas

public void forceUseCas (boolean useCas)

Parâmetros
useCas boolean

getAdditionalFilesFilters

public Collection<String> getAdditionalFilesFilters ()

Retorna
Collection<String>

getBranch

public String getBranch ()

Receber o branch especificado no momento para consulta

Retorna
String a ramificação

getBuild

public IBuildInfo getBuild ()

Recupere os dados do build em teste.

Retorna
IBuildInfo o IBuildInfo para a versão em teste ou null se nenhuma versão estiver disponível para teste.

Gera
BuildRetrievalError

getBuildArchivePath

public String getBuildArchivePath ()

Receber o caminho para o arquivo de artefatos de build

Retorna
String

getBuildFlavor

public String getBuildFlavor ()

Receber o sabor de build para consultar

Retorna
String

getBuildId

public String getBuildId ()

Receber o ID da build para consultar

Retorna
String

getBuildOs

public String getBuildOs ()

Retorna
String

getConfiguration

public IConfiguration getConfiguration ()

Retorna a IConfiguration injetada em uso.

Retorna
IConfiguration

getContentBasedReportingDefault

public Set<String> getContentBasedReportingDefault ()

Retorna
Set<String>

getInvocationContext

public IInvocationContext getInvocationContext ()

Retorna
IInvocationContext

getLcHostname

public String getLcHostname ()

Receber o nome do host do Launch Control para usar na consulta

Retorna
String

getLcProtocol

public String getLcProtocol ()

Recebe o protocolo Launch Control para usar na consulta.

Retorna
String

getQueryType

public QueryType getQueryType ()

Receber o tipo de consulta a ser usado

Retorna
QueryType

getRemoteBuild

public RemoteBuildInfo getRemoteBuild ()

Receba a resposta de controle de inicialização sem baixar todos os arquivos.

Tornada pública para que especializações fora deste pacote possam usá-la diretamente. Normalmente, use getBuild().

Retorna
RemoteBuildInfo a resposta RemoteBuildInfo do controle de inicialização

Gera
BuildRetrievalError se as informações de build não puderem ser recuperadas devido a um erro inesperado

getRemoteZipFilters

public Set<String> getRemoteZipFilters ()

Recebe um conjunto de filtros para arquivos ZIP que podem ser baixados parcialmente.

Retorna
Set<String>

getReportContentBasedRollout

public boolean getReportContentBasedRollout ()

Retorna
boolean

getReportContentInformation

public boolean getReportContentInformation ()

Retorna
boolean

getTestConfigOnlyZip

public String getTestConfigOnlyZip ()

Receba o arquivo ZIP de configuração somente de teste.

Retorna
String

getTestLogger

public ITestLogger getTestLogger ()

Retorna
ITestLogger

getTestTag

public String getTestTag ()

Receber a tag de teste para usar na consulta

Retorna
String

getUseSsoClient

public boolean getUseSsoClient ()

Recebe se o cliente de SSO deve ser usado.

Retorna
boolean

handleExtraTargetDownloads

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

Processa o download dinâmico de arquivos para preencher os metadados.

Parâmetros
build IBuildInfo

entries List

Gera
BuildRetrievalError

isChunkingUncompressedDisabled

public boolean isChunkingUncompressedDisabled ()

Retorna
boolean

isSecondaryParallelDownload

public boolean isSecondaryParallelDownload ()

Se o download paralelo está ativado ou não.

Retorna
boolean

reportTestZipFileFilter

public Set<String> reportTestZipFileFilter ()

Retorna
Set<String>

resetTestBuild

public void resetTestBuild ()

Executa uma consulta QueryType.RESET_TEST_BUILD para solicitar que o controle de lançamento remova o build configurado do conjunto "builds testados".

Tem tratamento de erros e mecanismos de novas tentativas limitados. Descontinuado porque o LCProxy foi desativado.

resetTestBuild

public void resetTestBuild (String buildId)

Executa uma consulta QueryType.RESET_TEST_BUILD para solicitar que o controle de lançamento remova o build especificado do conjunto "Builds testados".

Tem mecanismos limitados de tratamento de erros e novas tentativas. Descontinuado porque o LCProxy foi desativado.

Parâmetros
buildId String: o ID da build a ser redefinido

setAdditionalFilesFilters

public void setAdditionalFilesFilters (Collection<String> additionalFilesFilters)

Parâmetros
additionalFilesFilters Collection

setBranch

public void setBranch (String branch)

Definir a ramificação para consultar

setBuildArchivePath

public void setBuildArchivePath (String buildArchivePath)

Definir o caminho para o arquivo de artefatos de build

setBuildFlavor

public void setBuildFlavor (String flavor)

Definir o sabor de build para consultar

setBuildId

public void setBuildId (String buildId)

Definir o ID do build para consultar

setBuildOs

public void setBuildOs (String os)

Parâmetros
os String

setConfiguration

public void setConfiguration (IConfiguration configuration)

Injeta a IConfiguration em uso.

Parâmetros
configuration IConfiguration

setContentBasedReportingDefault

public void setContentBasedReportingDefault (Set<String> contentBasedReportingDefault)

Parâmetros
contentBasedReportingDefault Set

setEnableResolveSymlinks

public void setEnableResolveSymlinks (boolean enableResolveSymlinks)

Parâmetros
enableResolveSymlinks boolean

setFetchSigned

public void setFetchSigned (boolean fetchSigned)

Parâmetros
fetchSigned boolean

setInvocationContext

public void setInvocationContext (IInvocationContext invocationContext)

Parâmetros
invocationContext IInvocationContext

setLcHostname

public void setLcHostname (String lcHostname)

Defina o nome do host do Launch Control a ser usado na consulta.

Parâmetros
lcHostname String

setLcProtocol

public void setLcProtocol (String lcProtocol)

Defina o protocolo de controle de inicialização a ser usado na consulta.

setMinBuildId

public void setMinBuildId (int minBuildId)

Defina o ID mínimo do build a ser usado.

Parâmetros
minBuildId int

setParallelSecondaryDownload

public void setParallelSecondaryDownload (boolean parallel)

Parâmetros
parallel boolean

setPartialDownloadForZip

public void setPartialDownloadForZip (boolean enableZipPartialDownload)

Parâmetros
enableZipPartialDownload boolean

setQueryType

public void setQueryType (QueryType queryType)

Definir o tipo de consulta a ser usado

setReportContentBasedRollout

public void setReportContentBasedRollout (boolean reportContentBasedRollout)

Parâmetros
reportContentBasedRollout boolean

setReportContentInformation

public void setReportContentInformation (boolean reportContentInfo)

Parâmetros
reportContentInfo boolean

setSkipCloudContent

public void setSkipCloudContent (boolean skipCloudContent)

Parâmetros
skipCloudContent boolean

setTestLogger

public void setTestLogger (ITestLogger testLogger)

Injeta a instância ITestLogger.

Parâmetros
testLogger ITestLogger

setTestTag

public void setTestTag (String tag)

Defina a tag de teste a ser usada.

Parâmetros
tag String

setUseBuildApi

public void setUseBuildApi (boolean useBuildApi)

Define o valor para controlar se o provedor de build deve usar a API Android Build.

Parâmetros
useBuildApi boolean

setUseSsoClient

public void setUseSsoClient (boolean useSsoClient)

Defina se o cliente SSO deve ser usado.

Parâmetros
useSsoClient boolean

shouldFetchSigned

public boolean shouldFetchSigned ()

Retorna
boolean

shouldReportContentInformation

public boolean shouldReportContentInformation ()

Retorna
boolean

shouldUseBuildApi

public boolean shouldUseBuildApi ()

Retorna se o provedor de build deve usar a API Android Build.

Retorna
boolean

Métodos protegidos

convertBuildToSigned

protected void convertBuildToSigned (RemoteBuildInfo remoteBuild)

Modifique os parâmetros neste RemoteBuildInfo para descrever um build assinado.

Parâmetros
remoteBuild RemoteBuildInfo: o RemoteBuildInfo a ser modificado

Gera
com.android.tradefed.build.BuildRetrievalError
BuildRetrievalError

createHttpHelper

protected IHttpHelper createHttpHelper ()

Método de fábrica para criar um HttpHelper.

Exposto para que possa ser simulado para testes de unidade.

Retorna
IHttpHelper

createSignedParameter

protected String createSignedParameter (String param)

Modifique um único parâmetro para representar um parâmetro assinado. Se o parâmetro já estiver no formato assinado, ele será retornado sem alterações.

Parâmetros
param String: o parâmetro inicial (pode ser não assinado ou já assinado)

Retorna
String o parâmetro assinado

Gera
BuildRetrievalError se o parâmetro estiver malformado e não puder ser processado

deleteCacheEntry

protected void deleteCacheEntry (String remoteFilePath)

Remova o arquivo do cache caso ele esteja corrompido.

Parâmetros
remoteFilePath String: o mesmo arquivo remoto especificado em IFileDownloader.downloadFile(String).

downloadAdditionalFiles

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

Parâmetros
remoteBuild RemoteBuildInfo

downloader IFileDownloader

localBuild IBuildInfo

Gera
BuildRetrievalError

downloadBuildFiles

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

Faça o download das chaves de arquivo necessárias, conforme configurado em --download-build-key, do remoteBuild e armazene-as em um IBuildInfo.

Parâmetros
remoteBuild RemoteBuildInfo: a resposta do servidor de controle de inicialização.

testTargetName String: o nome do destino do teste

buildName String: o nome do build, conforme definido pelo controle de inicialização.

downloader IFileDownloader: o IFileDownloader a ser usado para fazer o download dos arquivos de build.

Retorna
IBuildInfo o IBuildInfo preenchido com versões locais de arquivos de build

Gera
BuildRetrievalError se não for possível fazer o download dos arquivos de build

downloadFilesNonBlocking

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

Faça o download do conjunto de caminhos de arquivo e aplique-os se forem obrigatórios.

Parâmetros
downloader IFileDownloader

toBeDownloaded List

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

Gera
BuildRetrievalError

getBuildArtifactHelper

protected AndroidBuildArtifactHelper getBuildArtifactHelper ()

Retorna
AndroidBuildArtifactHelper

Gera
BuildRetrievalError

getExtraDownloadMap

protected MultiMap<String, File> getExtraDownloadMap ()

Retorna o mapa de destinos extras baixados.

Retorna
MultiMap<String, File>

getGlobalDownloadExclusionPatterns

protected Set<String> getGlobalDownloadExclusionPatterns ()

Retorna
Set<String>

getWorkFolder

protected final File getWorkFolder ()

Retorna a pasta de trabalho da invocação atual.

Retorna
File

handleDirectoryDownload

protected final File handleDirectoryDownload (File downloadedFile)

Parâmetros
downloadedFile File

Retorna
File

performBuildApiQuery

protected RemoteBuildInfo performBuildApiQuery ()

Retorna
RemoteBuildInfo

Gera
BuildRetrievalError

performValidityCheckForBuildApi

protected void performValidityCheckForBuildApi ()

queryForBuild

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

Execute a consulta de controle de lançamento, repetindo várias vezes em caso de erro.

Parâmetros
params MultiMap: parâmetros para controle de lançamento.

Retorna
RemoteBuildInfo o RemoteBuildInfo recuperado do controle de inicialização

Gera
BuildRetrievalError

queryForBuild

protected RemoteBuildInfo queryForBuild ()

Execute a consulta de controle de lançamento, repetindo várias vezes em caso de erro.

Retorna
RemoteBuildInfo o RemoteBuildInfo recuperado do controle de inicialização

Gera
BuildRetrievalError

queryForBuildWithBuildApi

protected RemoteBuildInfo queryForBuildWithBuildApi ()

Executa a consulta de build na API Build.

Observação: os parâmetros de entrada são implícitos por várias variáveis no escopo da classe.

Retorna
RemoteBuildInfo O RemoteBuildInfo analisado da resposta.

Gera
com.android.tradefed.build.BuildRetrievalError
BuildRetrievalError

replaceParamWithSigned

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

Parâmetros
buildInfo RemoteBuildInfo

key RemoteBuildInfo.BuildAttributeKey

Gera
BuildRetrievalError

useCasDefaultRollout

protected boolean useCasDefaultRollout ()

Retorna
boolean