LaunchControlProvider

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

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


Un'implementazione IBuildProvider che esegue query sui server di controllo del lancio di Google per un build da testare.

La creazione di sottoclassi è sconsigliata. Utilizza extra-target-downloads e --additional-files-filter per specificare gli artefatti da scaricare.

DA FARE: esegui il refactoring del client di controllo dell'avvio e della logica di download e uniscili alla futura "One Common Device Flasher Library To Rule Them All" (tm)

Riepilogo

Classi nidificate

class LaunchControlProvider.DownloadFileDescriptor

 

Costanti

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

Campi

protected boolean mEnableResolveSymlinks

Costruttori pubblici

LaunchControlProvider()

Metodi pubblici

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

Aggiungi un filtro di un file ZIP remoto che può essere scaricato parzialmente.

void cleanUp(IBuildInfo info)

Libera spazio dai file di build temporanei.

void clearExtraDownloads()
IFileDownloader createLaunchControlDownloader(RemoteBuildInfo remoteBuild)

Metodo di fabbrica per creare un downloader da utilizzare per i file di controllo del lancio.

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

Converti la risposta del controllo del lancio in un file IBuildInfo locale contenente tutti i file necessari.

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

Ottieni il ramo specificato attualmente per la query

IBuildInfo getBuild()

Recupera i dati per la build in fase di test.

String getBuildArchivePath()

Recupera il percorso dell'archivio degli artefatti della build

String getBuildFlavor()

Ottieni la variante di build su cui eseguire la query

String getBuildId()

Ottieni l'ID build su cui eseguire la query

String getBuildOs()
IConfiguration getConfiguration()

Restituisci il IConfiguration iniettato in uso.

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

Recupera il nome host di Launch Control da utilizzare nella query

String getLcProtocol()

Recupera il protocollo Launch Control da utilizzare nella query

QueryType getQueryType()

Recupera il tipo di query da utilizzare

RemoteBuildInfo getRemoteBuild()

Ricevi la risposta del controllo di avvio senza scaricare tutti i file.

Set<String> getRemoteZipFilters()

Ottieni un insieme di filtri per i file ZIP che possono essere scaricati parzialmente.

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

Scarica il file ZIP di configurazione solo per il test.

ITestLogger getTestLogger()
String getTestTag()

Recuperare il tag di test da utilizzare nella query

boolean getUseSsoClient()

Ottieni se deve essere utilizzato il client SSO

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

Gestisce il download dinamico dei file per riempire i metadati

boolean isChunkingUncompressedDisabled()
boolean isSecondaryParallelDownload()

Indica se il download parallelo è abilitato o meno.

Set<String> reportTestZipFileFilter()
void resetTestBuild()

Esegue una query QueryType.RESET_TEST_BUILD per richiedere il controllo del lancio per rimuovere la build configurata dal set "build testate".

void resetTestBuild(String buildId)

Esegue una query QueryType.RESET_TEST_BUILD per richiedere il controllo del lancio per rimuovere una determinata build dal set "build testate".

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

Imposta il ramo su cui eseguire una query

void setBuildArchivePath(String buildArchivePath)

Imposta il percorso dell'archivio degli artefatti della build

void setBuildFlavor(String flavor)

Imposta la variante di build su cui eseguire una query

void setBuildId(String buildId)

Imposta l'ID build su cui eseguire una query

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

Inserisce il IConfiguration in uso.

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

void setLcHostname(String lcHostname)

Imposta il nome host di Launch Control da utilizzare nella query

void setLcProtocol(String lcProtocol)

Imposta il protocollo di controllo del lancio da utilizzare nella query

void setMinBuildId(int minBuildId)

Imposta l'ID build minimo da utilizzare.

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

Imposta il tipo di query da utilizzare

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

Inserisce l'istanza ITestLogger

void setTestTag(String tag)

Imposta il test-tag da utilizzare.

void setUseBuildApi(boolean useBuildApi)

Imposta il valore per controllare se il fornitore di build deve utilizzare l'API Android Build

void setUseSsoClient(boolean useSsoClient)

Imposta se deve essere utilizzato il client SSO

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

Restituisce se il fornitore di build deve utilizzare l'API Android Build

Metodi protetti

void convertBuildToSigned(RemoteBuildInfo remoteBuild)

Modifica i parametri in questo RemoteBuildInfo per descrivere una build firmata.

IHttpHelper createHttpHelper()

Metodo di fabbrica per la creazione di un HttpHelper.

String createSignedParameter(String param)

Modifica un singolo parametro per rappresentare un parametro firmato. Se il parametro è già nel formato firmato, viene restituito invariato.

void deleteCacheEntry(String remoteFilePath)

Rimuovi il file dalla cache nel caso sia danneggiato.

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

Scarica le chiavi dei file necessarie come configurato in --download-build-key da remoteBuild e archiviale in un IBuildInfo.

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

Scarica il set di percorsi dei file e applicali se sono obbligatori.

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

Restituisce la mappa delle destinazioni aggiuntive scaricate.

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

Restituisce la cartella di lavoro dell'invocazione corrente.

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

Esegui la query di controllo del lancio, riprovando più volte in caso di errore.

RemoteBuildInfo queryForBuild()

Esegui la query di controllo del lancio, riprovando più volte in caso di errore.

RemoteBuildInfo queryForBuildWithBuildApi()

Esegue la query di build sull'API Build.

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

Costanti

BUILD_ID_PARAM

protected static final String BUILD_ID_PARAM

Valore costante: "bid"

BUILD_NAME_PARAM

protected static final String BUILD_NAME_PARAM

Valore costante: "id"

LC_BASE_URL

protected static final String LC_BASE_URL

Valore costante: "%s://%s/buildbot-update"

MIN_BUILD_ID_PARAM

protected static final String MIN_BUILD_ID_PARAM

Valore costante: "min_build_id"

QUERY_TYPE_PARAM

protected static final String QUERY_TYPE_PARAM

Valore costante: "op"

QUERY_WINDOW_PARAM

protected static final String QUERY_WINDOW_PARAM

Valore costante: "query_window"

TEST_TAG_PARAM

protected static final String TEST_TAG_PARAM

Valore costante: "test_tag"

Campi

protected boolean mEnableResolveSymlinks

Costruttori pubblici

LaunchControlProvider

public LaunchControlProvider ()

Metodi pubblici

addFileFilter

public void addFileFilter (String filter)

Parametri
filter String

addOptionalFileFilter

public void addOptionalFileFilter (String optionalFilter)

Parametri
optionalFilter String

addRemoteZipFilter

public void addRemoteZipFilter (String fileFilter)

Aggiungi un filtro di un file ZIP remoto che può essere scaricato parzialmente.

Parametri
fileFilter String

cleanUp

public void cleanUp (IBuildInfo info)

Libera spazio dai file di build temporanei.

Parametri
info IBuildInfo

clearExtraDownloads

public void clearExtraDownloads ()

createLaunchControlDownloader

public IFileDownloader createLaunchControlDownloader (RemoteBuildInfo remoteBuild)

Metodo di fabbrica per creare un downloader da utilizzare per i file di controllo del lancio.

Parametri
remoteBuild RemoteBuildInfo

Resi
IFileDownloader

decrementTestBuild

public void decrementTestBuild (String buildId)

Parametri
buildId String

fetchRemoteBuild

public IBuildInfo fetchRemoteBuild (RemoteBuildInfo remoteBuild)

Converti la risposta del controllo del lancio in un file IBuildInfo locale contenente tutti i file necessari.

Reso pubblico in modo che le specializzazioni al di fuori di questo pacchetto possano utilizzarlo direttamente. Normalmente dovrebbe essere utilizzato invece getBuild().

Parametri
remoteBuild RemoteBuildInfo: la risposta del server di controllo dell'avvio

Resi
IBuildInfo la cartella IBuildInfo compilata con le versioni locali dei file di build

Genera
BuildRetrievalError se non è stato possibile scaricare i file di build

forceUseCas

public void forceUseCas (boolean useCas)

Parametri
useCas boolean

getAdditionalFilesFilters

public Collection<String> getAdditionalFilesFilters ()

Resi
Collection<String>

getBranch

public String getBranch ()

Ottieni il ramo specificato attualmente per la query

Resi
String la filiale

getBuild

public IBuildInfo getBuild ()

Recupera i dati per la build in fase di test.

Resi
IBuildInfo IBuildInfo per la build in fase di test o null se non è disponibile alcuna build per il test

Genera
BuildRetrievalError

getBuildArchivePath

public String getBuildArchivePath ()

Recupera il percorso dell'archivio degli artefatti della build

Resi
String

getBuildFlavor

public String getBuildFlavor ()

Ottieni la variante di build su cui eseguire la query

Resi
String

getBuildId

public String getBuildId ()

Ottieni l'ID build su cui eseguire la query

Resi
String

getBuildOs

public String getBuildOs ()

Resi
String

getConfiguration

public IConfiguration getConfiguration ()

Restituisci il IConfiguration iniettato in uso.

Resi
IConfiguration

getContentBasedReportingDefault

public Set<String> getContentBasedReportingDefault ()

Resi
Set<String>

getInvocationContext

public IInvocationContext getInvocationContext ()

Resi
IInvocationContext

getLcHostname

public String getLcHostname ()

Recupera il nome host di Launch Control da utilizzare nella query

Resi
String

getLcProtocol

public String getLcProtocol ()

Recupera il protocollo Launch Control da utilizzare nella query

Resi
String

getQueryType

public QueryType getQueryType ()

Recupera il tipo di query da utilizzare

Resi
QueryType

getRemoteBuild

public RemoteBuildInfo getRemoteBuild ()

Ricevi la risposta del controllo di avvio senza scaricare tutti i file.

Reso pubblico in modo che le specializzazioni al di fuori di questo pacchetto possano utilizzarlo direttamente. Normalmente dovrebbe essere utilizzato invece getBuild().

Resi
RemoteBuildInfo la risposta RemoteBuildInfo del controllo partenza

Genera
BuildRetrievalError se il recupero delle informazioni sulla build non è riuscito a causa di un errore imprevisto

getRemoteZipFilters

public Set<String> getRemoteZipFilters ()

Ottieni un insieme di filtri per i file ZIP che possono essere scaricati parzialmente.

Resi
Set<String>

getReportContentBasedRollout

public boolean getReportContentBasedRollout ()

Resi
boolean

getReportContentInformation

public boolean getReportContentInformation ()

Resi
boolean

getTestConfigOnlyZip

public String getTestConfigOnlyZip ()

Scarica il file ZIP di configurazione solo per il test.

Resi
String

getTestLogger

public ITestLogger getTestLogger ()

Resi
ITestLogger

getTestTag

public String getTestTag ()

Recuperare il tag di test da utilizzare nella query

Resi
String

getUseSsoClient

public boolean getUseSsoClient ()

Ottieni se deve essere utilizzato il client SSO

Resi
boolean

handleExtraTargetDownloads

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

Gestisce il download dinamico dei file per riempire i metadati

Parametri
build IBuildInfo

entries List

Genera
BuildRetrievalError

isChunkingUncompressedDisabled

public boolean isChunkingUncompressedDisabled ()

Resi
boolean

isSecondaryParallelDownload

public boolean isSecondaryParallelDownload ()

Indica se il download parallelo è abilitato o meno.

Resi
boolean

reportTestZipFileFilter

public Set<String> reportTestZipFileFilter ()

Resi
Set<String>

resetTestBuild

public void resetTestBuild ()

Esegue una query QueryType.RESET_TEST_BUILD per richiedere il controllo del lancio per rimuovere la build configurata dal set "build testate".

Dispone di meccanismi di gestione degli errori e di nuovi tentativi limitati. È stato ritirato perché LCProxy non è più disponibile.

resetTestBuild

public void resetTestBuild (String buildId)

Esegue una query QueryType.RESET_TEST_BUILD per richiedere il controllo del lancio per rimuovere una determinata build dal set "build testate".

Dispone di meccanismi di gestione degli errori e di nuovi tentativi limitati. È stato ritirato perché LCProxy non è più supportato.

Parametri
buildId String: l'ID build da reimpostare

setAdditionalFilesFilters

public void setAdditionalFilesFilters (Collection<String> additionalFilesFilters)

Parametri
additionalFilesFilters Collection

setBranch

public void setBranch (String branch)

Imposta il ramo su cui eseguire una query

setBuildArchivePath

public void setBuildArchivePath (String buildArchivePath)

Imposta il percorso dell'archivio degli artefatti della build

setBuildFlavor

public void setBuildFlavor (String flavor)

Imposta la variante di build su cui eseguire una query

setBuildId

public void setBuildId (String buildId)

Imposta l'ID build su cui eseguire una query

setBuildOs

public void setBuildOs (String os)

Parametri
os String

setConfiguration

public void setConfiguration (IConfiguration configuration)

Inserisce il IConfiguration in uso.

Parametri
configuration IConfiguration

setContentBasedReportingDefault

public void setContentBasedReportingDefault (Set<String> contentBasedReportingDefault)

Parametri
contentBasedReportingDefault Set

setEnableResolveSymlinks

public void setEnableResolveSymlinks (boolean enableResolveSymlinks)

Parametri
enableResolveSymlinks boolean

setFetchSigned

public void setFetchSigned (boolean fetchSigned)

Parametri
fetchSigned boolean

setInvocationContext

public void setInvocationContext (IInvocationContext invocationContext)

Parametri
invocationContext IInvocationContext

setLcHostname

public void setLcHostname (String lcHostname)

Imposta il nome host di Launch Control da utilizzare nella query

Parametri
lcHostname String

setLcProtocol

public void setLcProtocol (String lcProtocol)

Imposta il protocollo di controllo del lancio da utilizzare nella query

setMinBuildId

public void setMinBuildId (int minBuildId)

Imposta l'ID build minimo da utilizzare.

Parametri
minBuildId int

setParallelSecondaryDownload

public void setParallelSecondaryDownload (boolean parallel)

Parametri
parallel boolean

setPartialDownloadForZip

public void setPartialDownloadForZip (boolean enableZipPartialDownload)

Parametri
enableZipPartialDownload boolean

setQueryType

public void setQueryType (QueryType queryType)

Imposta il tipo di query da utilizzare

setReportContentBasedRollout

public void setReportContentBasedRollout (boolean reportContentBasedRollout)

Parametri
reportContentBasedRollout boolean

setReportContentInformation

public void setReportContentInformation (boolean reportContentInfo)

Parametri
reportContentInfo boolean

setSkipCloudContent

public void setSkipCloudContent (boolean skipCloudContent)

Parametri
skipCloudContent boolean

setTestLogger

public void setTestLogger (ITestLogger testLogger)

Inserisce l'istanza ITestLogger

Parametri
testLogger ITestLogger

setTestTag

public void setTestTag (String tag)

Imposta il test-tag da utilizzare.

Parametri
tag String

setUseBuildApi

public void setUseBuildApi (boolean useBuildApi)

Imposta il valore per controllare se il fornitore di build deve utilizzare l'API Android Build

Parametri
useBuildApi boolean

setUseSsoClient

public void setUseSsoClient (boolean useSsoClient)

Imposta se deve essere utilizzato il client SSO

Parametri
useSsoClient boolean

shouldFetchSigned

public boolean shouldFetchSigned ()

Resi
boolean

shouldReportContentInformation

public boolean shouldReportContentInformation ()

Resi
boolean

shouldUseBuildApi

public boolean shouldUseBuildApi ()

Restituisce se il fornitore di build deve utilizzare l'API Android Build

Resi
boolean

Metodi protetti

convertBuildToSigned

protected void convertBuildToSigned (RemoteBuildInfo remoteBuild)

Modifica i parametri in questo RemoteBuildInfo per descrivere una build firmata.

Parametri
remoteBuild RemoteBuildInfo: il RemoteBuildInfo da modificare

Genera
com.android.tradefed.build.BuildRetrievalError
BuildRetrievalError

createHttpHelper

protected IHttpHelper createHttpHelper ()

Metodo di fabbrica per la creazione di un HttpHelper.

Esposto in modo che possa essere simulato per il test delle unità.

Resi
IHttpHelper

createSignedParameter

protected String createSignedParameter (String param)

Modifica un singolo parametro per rappresentare un parametro firmato. Se il parametro è già nel formato firmato, viene restituito invariato.

Parametri
param String: il parametro iniziale (può essere non firmato o già firmato)

Resi
String il parametro firmato

Genera
BuildRetrievalError se il parametro è in un formato non corretto e non può essere elaborato

deleteCacheEntry

protected void deleteCacheEntry (String remoteFilePath)

Rimuovi il file dalla cache nel caso sia danneggiato.

Parametri
remoteFilePath String: lo stesso file remoto specificato in IFileDownloader.downloadFile(String).

downloadAdditionalFiles

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

Parametri
remoteBuild RemoteBuildInfo

downloader IFileDownloader

localBuild IBuildInfo

Genera
BuildRetrievalError

downloadBuildFiles

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

Scarica le chiavi dei file necessarie come configurato in --download-build-key da remoteBuild e archiviale in un IBuildInfo.

Parametri
remoteBuild RemoteBuildInfo: la risposta del server di controllo dell'avvio

testTargetName String: il nome del target di test

buildName String: il nome della build, come definito dal controllo di lancio

downloader IFileDownloader: il IFileDownloader da utilizzare per scaricare i file di build

Resi
IBuildInfo la cartella IBuildInfo compilata con le versioni locali dei file di build

Genera
BuildRetrievalError se non è stato possibile scaricare i file di build

downloadFilesNonBlocking

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

Scarica il set di percorsi dei file e applicali se sono obbligatori.

Parametri
downloader IFileDownloader

toBeDownloaded List

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

Genera
BuildRetrievalError

getBuildArtifactHelper

protected AndroidBuildArtifactHelper getBuildArtifactHelper ()

Resi
AndroidBuildArtifactHelper

Genera
BuildRetrievalError

getExtraDownloadMap

protected MultiMap<String, File> getExtraDownloadMap ()

Restituisce la mappa delle destinazioni aggiuntive scaricate.

Resi
MultiMap<String, File>

getGlobalDownloadExclusionPatterns

protected Set<String> getGlobalDownloadExclusionPatterns ()

Resi
Set<String>

getWorkFolder

protected final File getWorkFolder ()

Restituisce la cartella di lavoro dell'invocazione corrente.

Resi
File

handleDirectoryDownload

protected final File handleDirectoryDownload (File downloadedFile)

Parametri
downloadedFile File

Resi
File

performBuildApiQuery

protected RemoteBuildInfo performBuildApiQuery ()

Resi
RemoteBuildInfo

Genera
BuildRetrievalError

performValidityCheckForBuildApi

protected void performValidityCheckForBuildApi ()

queryForBuild

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

Esegui la query di controllo del lancio, riprovando più volte in caso di errore.

Parametri
params MultiMap: parametri per il controllo del lancio

Resi
RemoteBuildInfo il RemoteBuildInfo recuperato dal launch control

Genera
BuildRetrievalError

queryForBuild

protected RemoteBuildInfo queryForBuild ()

Esegui la query di controllo del lancio, riprovando più volte in caso di errore.

Resi
RemoteBuildInfo il RemoteBuildInfo recuperato dal launch control

Genera
BuildRetrievalError

queryForBuildWithBuildApi

protected RemoteBuildInfo queryForBuildWithBuildApi ()

Esegue la query di build sull'API Build.

Nota: i parametri di input sono impliciti in varie variabili con ambito di classe

Resi
RemoteBuildInfo Il RemoteBuildInfo analizzato dalla risposta.

Genera
com.android.tradefed.build.BuildRetrievalError
BuildRetrievalError

replaceParamWithSigned

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

Parametri
buildInfo RemoteBuildInfo

key RemoteBuildInfo.BuildAttributeKey

Genera
BuildRetrievalError

useCasDefaultRollout

protected boolean useCasDefaultRollout ()

Resi
boolean