LaunchControlProvider

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

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


Реализация IBuildProvider , которая запрашивает у серверов управления запуском Google сборку для тестирования.

Создание подклассов не рекомендуется. Используйте extra-target-downloads и --additional-files-filter для указания артефактов для загрузки.

TODO: переработать логику клиента управления запуском и загрузки, а также объединить её с будущей «Единой библиотекой прошивки устройств, которая будет править всеми» (™).

Краткое содержание

Вложенные классы

class LaunchControlProvider.DownloadFileDescriptor

Константы

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

Поля

protected boolean mEnableResolveSymlinks

Государственные строители

LaunchControlProvider ()

Общедоступные методы

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

Добавьте фильтр для удаленного ZIP-файла, который можно загрузить частично.

void cleanUp ( IBuildInfo info)

Удалите все временные файлы сборки.

void clearExtraDownloads ()
IFileDownloader createLaunchControlDownloader ( RemoteBuildInfo remoteBuild)

Фабричный метод создания загрузчика для использования с файлами управления запуском.

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

Преобразуйте ответ от системы управления запуском в локальный файл IBuildInfo содержащий все необходимые файлы.

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

Получить указанную в данный момент ветку для запроса.

IBuildInfo getBuild ()

Получите данные для тестируемой сборки.

String getBuildArchivePath ()

Получите путь к архиву артефактов сборки.

String getBuildFlavor ()

Выберите вариант сборки для выполнения запроса.

String getBuildId ()

Получите идентификатор сборки для выполнения запроса.

String getBuildOs ()
IConfiguration getConfiguration ()

Возвращает используемый внедренный IConfiguration .

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

Получите имя хоста Launch Control для использования в запросе.

String getLcProtocol ()

Получите протокол управления запуском, который будет использоваться в запросе.

QueryType getQueryType ()

Получите тип запроса, который будет использоваться.

RemoteBuildInfo getRemoteBuild ()

Получите ответ от системы управления запуском, не загружая все файлы.

Set<String> getRemoteZipFilters ()

Получите набор фильтров для ZIP-файлов, которые можно загрузить частично.

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

Скачайте zip-архив с тестовой конфигурацией.

ITestLogger getTestLogger ()
String getTestTag ()

Получите тестовый тег для использования в запросе.

boolean getUseSsoClient ()

Уточните, следует ли использовать клиент SSO.

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

Обрабатывает динамическую загрузку файлов для заполнения их метаданных.

boolean isChunkingUncompressedDisabled ()
boolean isSecondaryParallelDownload ()

Включена ли параллельная загрузка или нет.

Set<String> reportTestZipFileFilter ()
void resetTestBuild ()

Выполняет запрос QueryType.RESET_TEST_BUILD , чтобы запросить управление запуском и удалить настроенную сборку из набора «протестированных сборок».

void resetTestBuild (String buildId)

Выполняет запрос QueryType.RESET_TEST_BUILD , чтобы запросить управление запуском и удалить указанную сборку из набора «протестированных сборок».

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

Настройте ветвь для запроса

void setBuildArchivePath (String buildArchivePath)

Укажите путь к архиву артефактов сборки.

void setBuildFlavor (String flavor)

Установите параметр build-flavor в значение query.

void setBuildId (String buildId)

Укажите идентификатор сборки для запроса.

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

Внедряет используемый объект IConfiguration .

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

void setLcHostname (String lcHostname)

Укажите имя хоста Launch Control, которое будет использоваться в запросе.

void setLcProtocol (String lcProtocol)

Укажите протокол управления запуском, который будет использоваться в запросе.

void setMinBuildId (int minBuildId)

Укажите минимальный идентификатор сборки для использования.

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

Укажите тип используемого запроса.

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

Внедряет экземпляр ITestLogger

void setTestTag (String tag)

Укажите используемый тестовый тег.

void setUseBuildApi (boolean useBuildApi)

Задает значение, определяющее, должен ли поставщик сборки использовать Android Build API.

void setUseSsoClient (boolean useSsoClient)

Укажите, следует ли использовать клиент SSO.

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

Возвращает значение true, если поставщик сборки должен использовать Android Build API.

Защищенные методы

void convertBuildToSigned ( RemoteBuildInfo remoteBuild)

Измените параметры в этом RemoteBuildInfo , чтобы описать подписанную сборку.

IHttpHelper createHttpHelper ()

Фабричный метод для создания объекта HttpHelper .

String createSignedParameter (String param)

Изменение отдельного параметра для представления параметра со знаком. Если параметр уже имеет знаковый формат, он возвращается без изменений.

void deleteCacheEntry (String remoteFilePath)

Удалите файл из кэша, если он поврежден.

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

Загрузите необходимые ключи файлов, как указано в параметре --download-build-key, из remoteBuild и сохраните их в объекте IBuildInfo .

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

Загрузите набор путей к файлам и принудительно установите их, если они являются обязательными.

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

Возвращает карту дополнительных загруженных целей.

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

Возвращает текущую рабочую папку вызова.

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

Выполните запрос управления запуском, повторяя попытку несколько раз в случае ошибки.

RemoteBuildInfo queryForBuild ()

Выполните запрос управления запуском, повторяя попытку несколько раз в случае ошибки.

RemoteBuildInfo queryForBuildWithBuildApi ()

Выполняет запрос к API сборки.

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

Константы

BUILD_ID_PARAM

protected static final String BUILD_ID_PARAM

Постоянная величина: "ставка"

BUILD_NAME_PARAM

protected static final String BUILD_NAME_PARAM

Постоянное значение: "id"

LC_BASE_URL

protected static final String LC_BASE_URL

Постоянное значение: "%s://%s/buildbot-update"

MIN_BUILD_ID_PARAM

protected static final String MIN_BUILD_ID_PARAM

Постоянное значение: "min_build_id"

QUERY_TYPE_PARAM

protected static final String QUERY_TYPE_PARAM

Постоянное значение: "op"

QUERY_WINDOW_PARAM

protected static final String QUERY_WINDOW_PARAM

Постоянное значение: "query_window"

TEST_TAG_PARAM

protected static final String TEST_TAG_PARAM

Постоянное значение: "test_tag"

Поля

protected boolean mEnableResolveSymlinks

Государственные строители

LaunchControlProvider

public LaunchControlProvider ()

Общедоступные методы

addFileFilter

public void addFileFilter (String filter)

Параметры
filter String

addOptionalFileFilter

public void addOptionalFileFilter (String optionalFilter)

Параметры
optionalFilter String

addRemoteZipFilter

public void addRemoteZipFilter (String fileFilter)

Добавьте фильтр для удаленного ZIP-файла, который можно загрузить частично.

Параметры
fileFilter String

очистка

public void cleanUp (IBuildInfo info)

Удалите все временные файлы сборки.

Параметры
info IBuildInfo

clearExtraDownloads

public void clearExtraDownloads ()

createLaunchControlDownloader

public IFileDownloader createLaunchControlDownloader (RemoteBuildInfo remoteBuild)

Фабричный метод создания загрузчика для использования с файлами управления запуском.

Параметры
remoteBuild RemoteBuildInfo

Возвраты
IFileDownloader

decrementTestBuild

public void decrementTestBuild (String buildId)

Параметры
buildId String

fetchRemoteBuild

public IBuildInfo fetchRemoteBuild (RemoteBuildInfo remoteBuild)

Преобразуйте ответ от системы управления запуском в локальный файл IBuildInfo содержащий все необходимые файлы.

Сделано общедоступным, чтобы специализации за пределами этого пакета могли использовать его напрямую. Обычно вместо него следует использовать getBuild() .

Параметры
remoteBuild RemoteBuildInfo : ответ сервера управления запуском.

Возвраты
IBuildInfo Объект IBuildInfo заполнен локальными версиями файлов сборки.

Броски
BuildRetrievalError если файлы сборки не удалось загрузить

forceUseCas

public void forceUseCas (boolean useCas)

Параметры
useCas boolean

getAdditionalFilesFilters

public Collection<String> getAdditionalFilesFilters ()

Возвраты
Collection<String>

getBranch

public String getBranch ()

Получить указанную в данный момент ветку для запроса.

Возвраты
String ветвь

getBuild

public IBuildInfo getBuild ()

Получите данные для тестируемой сборки.

Возвраты
IBuildInfo Объект IBuildInfo указывает на тестируемую сборку или null , если тестовая сборка недоступна.

Броски
BuildRetrievalError

getBuildArchivePath

public String getBuildArchivePath ()

Получите путь к архиву артефактов сборки.

Возвраты
String

getBuildFlavor

public String getBuildFlavor ()

Выберите вариант сборки для выполнения запроса.

Возвраты
String

getBuildId

public String getBuildId ()

Получите идентификатор сборки для выполнения запроса.

Возвраты
String

getBuildOs

public String getBuildOs ()

Возвраты
String

получить конфигурацию

public IConfiguration getConfiguration ()

Возвращает используемый внедренный IConfiguration .

Возвраты
IConfiguration

getContentBasedReportingDefault

public Set<String> getContentBasedReportingDefault ()

Возвраты
Set<String>

getInvocationContext

public IInvocationContext getInvocationContext ()

Возвраты
IInvocationContext

getLcHostname

public String getLcHostname ()

Получите имя хоста Launch Control для использования в запросе.

Возвраты
String

getLcProtocol

public String getLcProtocol ()

Получите протокол управления запуском, который будет использоваться в запросе.

Возвраты
String

getQueryType

public QueryType getQueryType ()

Получите тип запроса, который будет использоваться.

Возвраты
QueryType

getRemoteBuild

public RemoteBuildInfo getRemoteBuild ()

Получите ответ от системы управления запуском, не загружая все файлы.

Сделано общедоступным, чтобы специализации за пределами этого пакета могли использовать его напрямую. Обычно вместо него следует использовать getBuild() .

Возвраты
RemoteBuildInfo Ответ RemoteBuildInfo от системы управления запуском

Броски
BuildRetrievalError если информация о сборке не была получена из-за непредвиденной ошибки

getRemoteZipFilters

public Set<String> getRemoteZipFilters ()

Получите набор фильтров для ZIP-файлов, которые можно загрузить частично.

Возвраты
Set<String>

getReportContentBasedRollout

public boolean getReportContentBasedRollout ()

Возвраты
boolean

getReportContentInformation

public boolean getReportContentInformation ()

Возвраты
boolean

getTestConfigOnlyZip

public String getTestConfigOnlyZip ()

Скачайте zip-архив с тестовой конфигурацией.

Возвраты
String

getTestLogger

public ITestLogger getTestLogger ()

Возвраты
ITestLogger

getTestTag

public String getTestTag ()

Получите тестовый тег для использования в запросе.

Возвраты
String

getUseSsoClient

public boolean getUseSsoClient ()

Уточните, следует ли использовать клиент SSO.

Возвраты
boolean

handleExtraTargetDownloads

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

Обрабатывает динамическую загрузку файлов для заполнения их метаданных.

Параметры
build IBuildInfo

entries List

Броски
BuildRetrievalError

isChunkingUncompressedDisabled

public boolean isChunkingUncompressedDisabled ()

Возвраты
boolean

isSecondaryParallelDownload

public boolean isSecondaryParallelDownload ()

Включена ли параллельная загрузка или нет.

Возвраты
boolean

reportTestZipFileFilter

public Set<String> reportTestZipFileFilter ()

Возвраты
Set<String>

resetTestBuild

public void resetTestBuild ()

Выполняет запрос QueryType.RESET_TEST_BUILD , чтобы запросить управление запуском и удалить настроенную сборку из набора «протестированных сборок».

Имеет ограниченные механизмы обработки ошибок и повторных попыток. Устарел, поскольку поддержка LCProxy прекращена.

resetTestBuild

public void resetTestBuild (String buildId)

Выполняет запрос QueryType.RESET_TEST_BUILD , чтобы запросить управление запуском и удалить указанную сборку из набора «протестированных сборок».

Имеет ограниченные механизмы обработки ошибок и повторных попыток. Устарел, поскольку поддержка LCProxy прекращена.

Параметры
buildId String : идентификатор сборки для сброса

setAdditionalFilesFilters

public void setAdditionalFilesFilters (Collection<String> additionalFilesFilters)

Параметры
additionalFilesFilters Collection

setBranch

public void setBranch (String branch)

Настройте ветвь для запроса

setBuildArchivePath

public void setBuildArchivePath (String buildArchivePath)

Укажите путь к архиву артефактов сборки.

setBuildFlavor

public void setBuildFlavor (String flavor)

Установите параметр build-flavor в значение query.

setBuildId

public void setBuildId (String buildId)

Укажите идентификатор сборки для запроса.

setBuildOs

public void setBuildOs (String os)

Параметры
os String

setConfiguration

public void setConfiguration (IConfiguration configuration)

Внедряет используемый объект IConfiguration .

Параметры
configuration IConfiguration

setContentBasedReportingDefault

public void setContentBasedReportingDefault (Set<String> contentBasedReportingDefault)

Параметры
contentBasedReportingDefault Set

setEnableResolveSymlinks

public void setEnableResolveSymlinks (boolean enableResolveSymlinks)

Параметры
enableResolveSymlinks boolean

setFetchSigned

public void setFetchSigned (boolean fetchSigned)

Параметры
fetchSigned boolean

setInvocationContext

public void setInvocationContext (IInvocationContext invocationContext)

Параметры
invocationContext IInvocationContext

setLcHostname

public void setLcHostname (String lcHostname)

Укажите имя хоста Launch Control, которое будет использоваться в запросе.

Параметры
lcHostname String

setLcProtocol

public void setLcProtocol (String lcProtocol)

Укажите протокол управления запуском, который будет использоваться в запросе.

setMinBuildId

public void setMinBuildId (int minBuildId)

Укажите минимальный идентификатор сборки для использования.

Параметры
minBuildId int

setParallelSecondaryDownload

public void setParallelSecondaryDownload (boolean parallel)

Параметры
parallel boolean

setPartialDownloadForZip

public void setPartialDownloadForZip (boolean enableZipPartialDownload)

Параметры
enableZipPartialDownload boolean

setQueryType

public void setQueryType (QueryType queryType)

Укажите тип используемого запроса.

setReportContentBasedRollout

public void setReportContentBasedRollout (boolean reportContentBasedRollout)

Параметры
reportContentBasedRollout boolean

setReportContentInformation

public void setReportContentInformation (boolean reportContentInfo)

Параметры
reportContentInfo boolean

setSkipCloudContent

public void setSkipCloudContent (boolean skipCloudContent)

Параметры
skipCloudContent boolean

setTestLogger

public void setTestLogger (ITestLogger testLogger)

Внедряет экземпляр ITestLogger

Параметры
testLogger ITestLogger

setTestTag

public void setTestTag (String tag)

Укажите используемый тестовый тег.

Параметры
tag String

setUseBuildApi

public void setUseBuildApi (boolean useBuildApi)

Задает значение, определяющее, должен ли поставщик сборки использовать Android Build API.

Параметры
useBuildApi boolean

setUseSsoClient

public void setUseSsoClient (boolean useSsoClient)

Укажите, следует ли использовать клиент SSO.

Параметры
useSsoClient boolean

shouldFetchSigned

public boolean shouldFetchSigned ()

Возвраты
boolean

shouldReportContentInformation

public boolean shouldReportContentInformation ()

Возвраты
boolean

shouldUseBuildApi

public boolean shouldUseBuildApi ()

Возвращает значение true, если поставщик сборки должен использовать Android Build API.

Возвраты
boolean

Защищенные методы

convertBuildToSigned

protected void convertBuildToSigned (RemoteBuildInfo remoteBuild)

Измените параметры в этом RemoteBuildInfo , чтобы описать подписанную сборку.

Параметры
remoteBuild RemoteBuildInfo : объект RemoteBuildInfo который необходимо изменить.

Броски
com.android.tradefed.build.BuildRetrievalError
BuildRetrievalError

createHttpHelper

protected IHttpHelper createHttpHelper ()

Фабричный метод для создания объекта HttpHelper .

Это позволяет использовать его в качестве фиктивного объекта для модульного тестирования.

Возвраты
IHttpHelper

createSignedParameter

protected String createSignedParameter (String param)

Изменение отдельного параметра для представления параметра со знаком. Если параметр уже имеет знаковый формат, он возвращается без изменений.

Параметры
param String : начальный параметр (может быть беззнаковым или уже знаковым).

Возвраты
String знаковый параметр

Броски
BuildRetrievalError если параметр имеет некорректный формат и не может быть обработан

deleteCacheEntry

protected void deleteCacheEntry (String remoteFilePath)

Удалите файл из кэша, если он поврежден.

Параметры
remoteFilePath String : Тот же удаленный файл, что и указан в IFileDownloader.downloadFile(String) .

загрузка дополнительных файлов

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

Параметры
remoteBuild RemoteBuildInfo

downloader IFileDownloader

localBuild IBuildInfo

Броски
BuildRetrievalError

downloadBuildFiles

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

Загрузите необходимые ключи файлов, как указано в параметре --download-build-key, из remoteBuild и сохраните их в объекте IBuildInfo .

Параметры
remoteBuild RemoteBuildInfo : ответ сервера управления запуском.

testTargetName String : имя целевого объекта тестирования

buildName String : имя сборки, заданное системой управления запуском.

downloader IFileDownloader : программа IFileDownloader , используемая для загрузки файлов сборки.

Возвраты
IBuildInfo Объект IBuildInfo заполнен локальными версиями файлов сборки.

Броски
BuildRetrievalError если файлы сборки не удалось загрузить

downloadFilesNonBlocking

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

Загрузите набор путей к файлам и принудительно установите их, если они являются обязательными.

Параметры
downloader IFileDownloader

toBeDownloaded List

Возвраты
List<Entry< LaunchControlProvider.DownloadFileDescriptor , File>>

Броски
BuildRetrievalError

getBuildArtifactHelper

protected AndroidBuildArtifactHelper getBuildArtifactHelper ()

Возвраты
AndroidBuildArtifactHelper

Броски
BuildRetrievalError

getExtraDownloadMap

protected MultiMap<String, File> getExtraDownloadMap ()

Возвращает карту дополнительных загруженных целей.

Возвраты
MultiMap <String, File>

getGlobalDownloadExclusionPatterns

protected Set<String> getGlobalDownloadExclusionPatterns ()

Возвраты
Set<String>

getWorkFolder

protected final File getWorkFolder ()

Возвращает текущую рабочую папку вызова.

Возвраты
File

handleDirectoryDownload

protected final File handleDirectoryDownload (File downloadedFile)

Параметры
downloadedFile File

Возвраты
File

performBuildApiQuery

protected RemoteBuildInfo performBuildApiQuery ()

Возвраты
RemoteBuildInfo

Броски
BuildRetrievalError

performValidityCheckForBuildApi

protected void performValidityCheckForBuildApi ()

queryForBuild

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

Выполните запрос управления запуском, повторяя попытку несколько раз в случае ошибки.

Параметры
params MultiMap : параметры управления запуском

Возвраты
RemoteBuildInfo RemoteBuildInfo полученный из системы управления запуском.

Броски
BuildRetrievalError

queryForBuild

protected RemoteBuildInfo queryForBuild ()

Выполните запрос управления запуском, повторяя попытку несколько раз в случае ошибки.

Возвраты
RemoteBuildInfo RemoteBuildInfo полученный из системы управления запуском.

Броски
BuildRetrievalError

queryForBuildWithBuildApi

protected RemoteBuildInfo queryForBuildWithBuildApi ()

Выполняет запрос к API сборки.

Примечание: входные параметры определяются различными переменными, находящимися в области видимости класса.

Возвраты
RemoteBuildInfo Информация RemoteBuildInfo , полученная из ответа.

Броски
com.android.tradefed.build.BuildRetrievalError
BuildRetrievalError

replaceParamWithSigned

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

Параметры
buildInfo RemoteBuildInfo

key RemoteBuildInfo.BuildAttributeKey

Броски
BuildRetrievalError

useCasDefaultRollout

protected boolean useCasDefaultRollout ()

Возвраты
boolean