LaunchControlProvider

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

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


테스트할 빌드를 위해 Google 출시 관리 서버를 쿼리하는 IBuildProvider 구현

서브클래스는 권장되지 않습니다. extra-target-downloads 및 --additional-files-filter를 사용하여 다운로드할 아티팩트를 지정합니다.

TODO: 실행 제어 클라이언트와 다운로드 로직을 리팩터링하여 향후 '모든 것을 지배하는 하나의 공통 기기 플래셔 라이브러리' (tm)와 병합

요약

중첩된 클래스

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()

쿼리할 빌드 ID 가져오기

String getBuildOs()
IConfiguration getConfiguration()

사용 중인 삽입된 IConfiguration을 반환합니다.

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

쿼리에서 사용할 실행 제어 호스트 이름 가져오기

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)

쿼리할 빌드 버전을 설정합니다.

void setBuildId(String buildId)

쿼리할 빌드 ID를 설정합니다.

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)

쿼리에 사용할 실행 제어 호스트 이름 설정

void setLcProtocol(String lcProtocol)

쿼리에서 사용할 실행 제어 프로토콜을 설정합니다.

void setMinBuildId(int minBuildId)

사용할 최소 빌드 ID를 설정합니다.

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 빌드 API를 사용해야 하는지 제어하는 값을 설정합니다.

void setUseSsoClient(boolean useSsoClient)

SSO 클라이언트를 사용해야 하는지 설정

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

빌드 제공자가 Android 빌드 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)

remoteBuild에서 --download-build-key에 구성된 대로 필요한 파일 키를 다운로드하고 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

상수 값: 'bid'

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

cleanUp

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 ()

쿼리할 빌드 ID 가져오기

반환
String

getBuildOs

public String getBuildOs ()

반환
String

getConfiguration

public IConfiguration getConfiguration ()

사용 중인 삽입된 IConfiguration을 반환합니다.

반환
IConfiguration

getContentBasedReportingDefault

public Set<String> getContentBasedReportingDefault ()

반환
Set<String>

getInvocationContext

public IInvocationContext getInvocationContext ()

반환
IInvocationContext

getLcHostname

public String getLcHostname ()

쿼리에서 사용할 실행 제어 호스트 이름 가져오기

반환
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: 재설정할 빌드 ID

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)

쿼리할 빌드 버전을 설정합니다.

setBuildId

public void setBuildId (String buildId)

쿼리할 빌드 ID를 설정합니다.

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)

쿼리에 사용할 실행 제어 호스트 이름 설정

매개변수
lcHostname String

setLcProtocol

public void setLcProtocol (String lcProtocol)

쿼리에서 사용할 실행 제어 프로토콜을 설정합니다.

setMinBuildId

public void setMinBuildId (int minBuildId)

사용할 최소 빌드 ID를 설정합니다.

매개변수
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 빌드 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 ()

빌드 제공자가 Android 빌드 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)에 지정된 것과 동일한 원격 파일입니다.

downloadAdditionalFiles

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)

remoteBuild에서 --download-build-key에 구성된 대로 필요한 파일 키를 다운로드하고 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