LaunchControlProvider

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

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


Implementasi IBuildProvider yang mengkueri server kontrol peluncuran Google untuk build yang akan diuji.

Subclassing tidak disarankan. Gunakan extra-target-downloads dan --additional-files-filter untuk menentukan artefak yang akan didownload.

TODO: memfaktorkan ulang klien kontrol peluncuran dan logika download, lalu menggabungkannya dengan "One Common Device Flasher Library To Rule Them All" (tm) mendatang

Ringkasan

Class bertingkat

class LaunchControlProvider.DownloadFileDescriptor

 

Konstanta

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

Kolom

protected boolean mEnableResolveSymlinks

Konstruktor publik

LaunchControlProvider()

Metode publik

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

Menambahkan filter file zip jarak jauh yang dapat didownload sebagian.

void cleanUp(IBuildInfo info)

Membersihkan semua file build sementara.

void clearExtraDownloads()
IFileDownloader createLaunchControlDownloader(RemoteBuildInfo remoteBuild)

Metode factory untuk membuat downloader yang akan digunakan untuk meluncurkan file kontrol.

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

Konversi respons kontrol peluncuran menjadi IBuildInfo lokal yang berisi semua file yang diperlukan.

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

Mendapatkan cabang yang saat ini ditentukan untuk dikueri

IBuildInfo getBuild()

Ambil data untuk build dalam pengujian.

String getBuildArchivePath()

Mendapatkan jalur ke arsip artefak build

String getBuildFlavor()

Mendapatkan varian build untuk dikueri

String getBuildId()

Mendapatkan ID build untuk dikueri

String getBuildOs()
IConfiguration getConfiguration()

Menampilkan IConfiguration yang disisipkan dan sedang digunakan.

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

Mendapatkan nama host Launch Control untuk digunakan dalam kueri

String getLcProtocol()

Mendapatkan protokol Launch Control untuk digunakan dalam kueri

QueryType getQueryType()

Mendapatkan jenis kueri yang akan digunakan

RemoteBuildInfo getRemoteBuild()

Dapatkan respons kontrol peluncuran tanpa mendownload semua file.

Set<String> getRemoteZipFilters()

Mendapatkan sekumpulan filter untuk file zip yang dapat didownload sebagian.

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

Dapatkan zip konfigurasi khusus pengujian.

ITestLogger getTestLogger()
String getTestTag()

Mendapatkan tag pengujian untuk digunakan dalam kueri

boolean getUseSsoClient()

Mendapatkan apakah klien SSO harus digunakan

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

Menangani file yang didownload secara dinamis untuk mengisi ulang metadatanya

boolean isChunkingUncompressedDisabled()
boolean isSecondaryParallelDownload()

Apakah download paralel diaktifkan atau tidak.

Set<String> reportTestZipFileFilter()
void resetTestBuild()

Melakukan kueri QueryType.RESET_TEST_BUILD untuk meminta kontrol peluncuran menghapus build yang dikonfigurasi dari set 'build yang diuji'.

void resetTestBuild(String buildId)

Melakukan kueri QueryType.RESET_TEST_BUILD untuk meminta kontrol peluncuran guna menghapus build tertentu dari set 'build yang diuji'.

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

Menetapkan cabang yang akan dikueri

void setBuildArchivePath(String buildArchivePath)

Menetapkan jalur ke arsip artefak build

void setBuildFlavor(String flavor)

Menetapkan build-flavor untuk kueri

void setBuildId(String buildId)

Menetapkan ID build yang akan dikueri

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

Menyisipkan IConfiguration yang sedang digunakan.

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

void setLcHostname(String lcHostname)

Menetapkan nama host Launch Control yang akan digunakan dalam kueri

void setLcProtocol(String lcProtocol)

Menetapkan protokol Launch Control yang akan digunakan dalam kueri

void setMinBuildId(int minBuildId)

Menetapkan ID build minimum yang akan digunakan.

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

Menetapkan jenis kueri yang akan digunakan

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

Menyuntikkan instance ITestLogger

void setTestTag(String tag)

Tetapkan tag pengujian yang akan digunakan.

void setUseBuildApi(boolean useBuildApi)

Menetapkan nilai untuk mengontrol apakah penyedia build harus menggunakan Android Build API

void setUseSsoClient(boolean useSsoClient)

Setel apakah klien SSO harus digunakan

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

Menampilkan apakah penyedia build harus menggunakan Android Build API

Metode yang dilindungi

void convertBuildToSigned(RemoteBuildInfo remoteBuild)

Ubah parameter dalam RemoteBuildInfo ini untuk mendeskripsikan build yang ditandatangani.

IHttpHelper createHttpHelper()

Metode factory untuk membuat HttpHelper.

String createSignedParameter(String param)

Ubah satu parameter untuk merepresentasikan parameter bertanda tangan Jika parameter sudah dalam format bertanda tangan, parameter tersebut akan ditampilkan tanpa perubahan.

void deleteCacheEntry(String remoteFilePath)

Hapus file dari cache jika file tersebut rusak.

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

Download kunci file yang diperlukan seperti yang dikonfigurasi di --download-build-key dari remoteBuild, dan simpan di IBuildInfo.

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

Download kumpulan jalur file dan terapkan jika jalur file tersebut wajib ada.

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

Menampilkan peta target tambahan yang didownload.

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

Menampilkan folder kerja pemanggilan saat ini.

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

Lakukan kueri kontrol peluncuran, coba lagi beberapa kali jika terjadi error.

RemoteBuildInfo queryForBuild()

Lakukan kueri kontrol peluncuran, coba lagi beberapa kali jika terjadi error.

RemoteBuildInfo queryForBuildWithBuildApi()

Melakukan kueri build terhadap Build API.

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

Konstanta

BUILD_ID_PARAM

protected static final String BUILD_ID_PARAM

Nilai Konstanta: "bid"

BUILD_NAME_PARAM

protected static final String BUILD_NAME_PARAM

Nilai Konstanta: "id"

LC_BASE_URL

protected static final String LC_BASE_URL

Nilai Konstanta: "%s://%s/buildbot-update"

MIN_BUILD_ID_PARAM

protected static final String MIN_BUILD_ID_PARAM

Nilai Konstanta: "min_build_id"

QUERY_TYPE_PARAM

protected static final String QUERY_TYPE_PARAM

Nilai Konstanta: "op"

QUERY_WINDOW_PARAM

protected static final String QUERY_WINDOW_PARAM

Nilai Konstanta: "query_window"

TEST_TAG_PARAM

protected static final String TEST_TAG_PARAM

Nilai Konstanta: "test_tag"

Kolom

protected boolean mEnableResolveSymlinks

Konstruktor publik

LaunchControlProvider

public LaunchControlProvider ()

Metode publik

addFileFilter

public void addFileFilter (String filter)

Parameter
filter String

addOptionalFileFilter

public void addOptionalFileFilter (String optionalFilter)

Parameter
optionalFilter String

addRemoteZipFilter

public void addRemoteZipFilter (String fileFilter)

Menambahkan filter file zip jarak jauh yang dapat didownload sebagian.

Parameter
fileFilter String

cleanUp

public void cleanUp (IBuildInfo info)

Membersihkan semua file build sementara.

Parameter
info IBuildInfo

clearExtraDownloads

public void clearExtraDownloads ()

createLaunchControlDownloader

public IFileDownloader createLaunchControlDownloader (RemoteBuildInfo remoteBuild)

Metode factory untuk membuat downloader yang akan digunakan untuk meluncurkan file kontrol.

Parameter
remoteBuild RemoteBuildInfo

Hasil
IFileDownloader

decrementTestBuild

public void decrementTestBuild (String buildId)

Parameter
buildId String

fetchRemoteBuild

public IBuildInfo fetchRemoteBuild (RemoteBuildInfo remoteBuild)

Konversi respons kontrol peluncuran menjadi IBuildInfo lokal yang berisi semua file yang diperlukan.

Dibuat publik sehingga spesialisasi di luar paket ini dapat menggunakannya secara langsung. Biasanya, getBuild() harus digunakan sebagai gantinya.

Parameter
remoteBuild RemoteBuildInfo: respons server kontrol peluncuran

Hasil
IBuildInfo IBuildInfo yang diisi dengan file build versi lokal

Menampilkan
BuildRetrievalError jika file build tidak dapat didownload

forceUseCas

public void forceUseCas (boolean useCas)

Parameter
useCas boolean

getAdditionalFilesFilters

public Collection<String> getAdditionalFilesFilters ()

Hasil
Collection<String>

getBranch

public String getBranch ()

Mendapatkan cabang yang saat ini ditentukan untuk dikueri

Hasil
String cabang

getBuild

public IBuildInfo getBuild ()

Ambil data untuk build dalam pengujian.

Hasil
IBuildInfo IBuildInfo untuk build yang sedang diuji atau null jika tidak ada build yang tersedia untuk pengujian

Menampilkan
BuildRetrievalError

getBuildArchivePath

public String getBuildArchivePath ()

Mendapatkan jalur ke arsip artefak build

Hasil
String

getBuildFlavor

public String getBuildFlavor ()

Mendapatkan varian build untuk dikueri

Hasil
String

getBuildId

public String getBuildId ()

Mendapatkan ID build untuk dikueri

Hasil
String

getBuildOs

public String getBuildOs ()

Hasil
String

getConfiguration

public IConfiguration getConfiguration ()

Menampilkan IConfiguration yang disisipkan dan sedang digunakan.

Hasil
IConfiguration

getContentBasedReportingDefault

public Set<String> getContentBasedReportingDefault ()

Hasil
Set<String>

getInvocationContext

public IInvocationContext getInvocationContext ()

Hasil
IInvocationContext

getLcHostname

public String getLcHostname ()

Mendapatkan nama host Launch Control untuk digunakan dalam kueri

Hasil
String

getLcProtocol

public String getLcProtocol ()

Mendapatkan protokol Launch Control untuk digunakan dalam kueri

Hasil
String

getQueryType

public QueryType getQueryType ()

Mendapatkan jenis kueri yang akan digunakan

Hasil
QueryType

getRemoteBuild

public RemoteBuildInfo getRemoteBuild ()

Dapatkan respons kontrol peluncuran tanpa mendownload semua file.

Dibuat publik sehingga spesialisasi di luar paket ini dapat menggunakannya secara langsung. Biasanya, getBuild() harus digunakan sebagai gantinya.

Hasil
RemoteBuildInfo respons RemoteBuildInfo dari kontrol peluncuran

Menampilkan
BuildRetrievalError jika info build gagal diambil karena terjadi error yang tidak terduga

getRemoteZipFilters

public Set<String> getRemoteZipFilters ()

Mendapatkan sekumpulan filter untuk file zip yang dapat didownload sebagian.

Hasil
Set<String>

getReportContentBasedRollout

public boolean getReportContentBasedRollout ()

Hasil
boolean

getReportContentInformation

public boolean getReportContentInformation ()

Hasil
boolean

getTestConfigOnlyZip

public String getTestConfigOnlyZip ()

Dapatkan zip konfigurasi khusus pengujian.

Hasil
String

getTestLogger

public ITestLogger getTestLogger ()

Hasil
ITestLogger

getTestTag

public String getTestTag ()

Mendapatkan tag pengujian untuk digunakan dalam kueri

Hasil
String

getUseSsoClient

public boolean getUseSsoClient ()

Mendapatkan apakah klien SSO harus digunakan

Hasil
boolean

handleExtraTargetDownloads

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

Menangani file yang didownload secara dinamis untuk mengisi ulang metadatanya

Parameter
build IBuildInfo

entries List

Menampilkan
BuildRetrievalError

isChunkingUncompressedDisabled

public boolean isChunkingUncompressedDisabled ()

Hasil
boolean

isSecondaryParallelDownload

public boolean isSecondaryParallelDownload ()

Apakah download paralel diaktifkan atau tidak.

Hasil
boolean

reportTestZipFileFilter

public Set<String> reportTestZipFileFilter ()

Hasil
Set<String>

resetTestBuild

public void resetTestBuild ()

Melakukan kueri QueryType.RESET_TEST_BUILD untuk meminta kontrol peluncuran menghapus build yang dikonfigurasi dari set 'build yang diuji'.

Memiliki mekanisme penanganan error dan percobaan ulang yang terbatas Tidak digunakan lagi karena LCProxy telah dihentikan.

resetTestBuild

public void resetTestBuild (String buildId)

Melakukan kueri QueryType.RESET_TEST_BUILD untuk meminta kontrol peluncuran guna menghapus build tertentu dari set 'build yang diuji'.

Memiliki mekanisme penanganan error dan percobaan ulang yang terbatas Tidak digunakan lagi karena LCProxy dihentikan.

Parameter
buildId String: ID build yang akan direset

setAdditionalFilesFilters

public void setAdditionalFilesFilters (Collection<String> additionalFilesFilters)

Parameter
additionalFilesFilters Collection

setBranch

public void setBranch (String branch)

Menetapkan cabang yang akan dikueri

setBuildArchivePath

public void setBuildArchivePath (String buildArchivePath)

Menetapkan jalur ke arsip artefak build

setBuildFlavor

public void setBuildFlavor (String flavor)

Menetapkan build-flavor untuk kueri

setBuildId

public void setBuildId (String buildId)

Menetapkan ID build yang akan dikueri

setBuildOs

public void setBuildOs (String os)

Parameter
os String

setConfiguration

public void setConfiguration (IConfiguration configuration)

Menyisipkan IConfiguration yang sedang digunakan.

Parameter
configuration IConfiguration

setContentBasedReportingDefault

public void setContentBasedReportingDefault (Set<String> contentBasedReportingDefault)

Parameter
contentBasedReportingDefault Set

setEnableResolveSymlinks

public void setEnableResolveSymlinks (boolean enableResolveSymlinks)

Parameter
enableResolveSymlinks boolean

setFetchSigned

public void setFetchSigned (boolean fetchSigned)

Parameter
fetchSigned boolean

setInvocationContext

public void setInvocationContext (IInvocationContext invocationContext)

Parameter
invocationContext IInvocationContext

setLcHostname

public void setLcHostname (String lcHostname)

Menetapkan nama host Launch Control yang akan digunakan dalam kueri

Parameter
lcHostname String

setLcProtocol

public void setLcProtocol (String lcProtocol)

Menetapkan protokol Launch Control yang akan digunakan dalam kueri

setMinBuildId

public void setMinBuildId (int minBuildId)

Menetapkan ID build minimum yang akan digunakan.

Parameter
minBuildId int

setParallelSecondaryDownload

public void setParallelSecondaryDownload (boolean parallel)

Parameter
parallel boolean

setPartialDownloadForZip

public void setPartialDownloadForZip (boolean enableZipPartialDownload)

Parameter
enableZipPartialDownload boolean

setQueryType

public void setQueryType (QueryType queryType)

Menetapkan jenis kueri yang akan digunakan

setReportContentBasedRollout

public void setReportContentBasedRollout (boolean reportContentBasedRollout)

Parameter
reportContentBasedRollout boolean

setReportContentInformation

public void setReportContentInformation (boolean reportContentInfo)

Parameter
reportContentInfo boolean

setSkipCloudContent

public void setSkipCloudContent (boolean skipCloudContent)

Parameter
skipCloudContent boolean

setTestLogger

public void setTestLogger (ITestLogger testLogger)

Menyuntikkan instance ITestLogger

Parameter
testLogger ITestLogger

setTestTag

public void setTestTag (String tag)

Tetapkan tag pengujian yang akan digunakan.

Parameter
tag String

setUseBuildApi

public void setUseBuildApi (boolean useBuildApi)

Menetapkan nilai untuk mengontrol apakah penyedia build harus menggunakan Android Build API

Parameter
useBuildApi boolean

setUseSsoClient

public void setUseSsoClient (boolean useSsoClient)

Setel apakah klien SSO harus digunakan

Parameter
useSsoClient boolean

shouldFetchSigned

public boolean shouldFetchSigned ()

Hasil
boolean

shouldReportContentInformation

public boolean shouldReportContentInformation ()

Hasil
boolean

shouldUseBuildApi

public boolean shouldUseBuildApi ()

Menampilkan apakah penyedia build harus menggunakan Android Build API

Hasil
boolean

Metode yang dilindungi

convertBuildToSigned

protected void convertBuildToSigned (RemoteBuildInfo remoteBuild)

Ubah parameter dalam RemoteBuildInfo ini untuk mendeskripsikan build yang ditandatangani.

Parameter
remoteBuild RemoteBuildInfo: RemoteBuildInfo yang akan diubah

Menampilkan
com.android.tradefed.build.BuildRetrievalError
BuildRetrievalError

createHttpHelper

protected IHttpHelper createHttpHelper ()

Metode factory untuk membuat HttpHelper.

Diekspos sehingga dapat di-mock untuk pengujian unit.

Hasil
IHttpHelper

createSignedParameter

protected String createSignedParameter (String param)

Ubah satu parameter untuk merepresentasikan parameter bertanda tangan Jika parameter sudah dalam format bertanda tangan, parameter tersebut akan ditampilkan tanpa perubahan.

Parameter
param String: parameter awal (dapat berupa parameter yang tidak bertanda atau sudah bertanda)

Hasil
String parameter yang ditandatangani

Menampilkan
BuildRetrievalError jika parameter salah format dan tidak dapat diproses

deleteCacheEntry

protected void deleteCacheEntry (String remoteFilePath)

Hapus file dari cache jika file tersebut rusak.

Parameter
remoteFilePath String: File jarak jauh yang sama seperti yang ditentukan dalam IFileDownloader.downloadFile(String).

downloadAdditionalFiles

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

Parameter
remoteBuild RemoteBuildInfo

downloader IFileDownloader

localBuild IBuildInfo

Menampilkan
BuildRetrievalError

downloadBuildFiles

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

Download kunci file yang diperlukan seperti yang dikonfigurasi di --download-build-key dari remoteBuild, dan simpan di IBuildInfo.

Parameter
remoteBuild RemoteBuildInfo: respons server kontrol peluncuran

testTargetName String: nama target pengujian

buildName String: nama build, seperti yang ditentukan oleh kontrol peluncuran

downloader IFileDownloader: IFileDownloader yang akan digunakan untuk mendownload file build

Hasil
IBuildInfo IBuildInfo yang diisi dengan file build versi lokal

Menampilkan
BuildRetrievalError jika file build tidak dapat didownload

downloadFilesNonBlocking

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

Download kumpulan jalur file dan terapkan jika jalur file tersebut wajib ada.

Parameter
downloader IFileDownloader

toBeDownloaded List

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

Menampilkan
BuildRetrievalError

getBuildArtifactHelper

protected AndroidBuildArtifactHelper getBuildArtifactHelper ()

Hasil
AndroidBuildArtifactHelper

Menampilkan
BuildRetrievalError

getExtraDownloadMap

protected MultiMap<String, File> getExtraDownloadMap ()

Menampilkan peta target tambahan yang didownload.

Hasil
MultiMap<String, File>

getGlobalDownloadExclusionPatterns

protected Set<String> getGlobalDownloadExclusionPatterns ()

Hasil
Set<String>

getWorkFolder

protected final File getWorkFolder ()

Menampilkan folder kerja pemanggilan saat ini.

Hasil
File

handleDirectoryDownload

protected final File handleDirectoryDownload (File downloadedFile)

Parameter
downloadedFile File

Hasil
File

performBuildApiQuery

protected RemoteBuildInfo performBuildApiQuery ()

Hasil
RemoteBuildInfo

Menampilkan
BuildRetrievalError

performValidityCheckForBuildApi

protected void performValidityCheckForBuildApi ()

queryForBuild

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

Lakukan kueri kontrol peluncuran, coba lagi beberapa kali jika terjadi error.

Parameter
params MultiMap: parameter untuk kontrol peluncuran

Hasil
RemoteBuildInfo RemoteBuildInfo yang diambil dari kontrol peluncuran

Menampilkan
BuildRetrievalError

queryForBuild

protected RemoteBuildInfo queryForBuild ()

Lakukan kueri kontrol peluncuran, coba lagi beberapa kali jika terjadi error.

Hasil
RemoteBuildInfo RemoteBuildInfo yang diambil dari kontrol peluncuran

Menampilkan
BuildRetrievalError

queryForBuildWithBuildApi

protected RemoteBuildInfo queryForBuildWithBuildApi ()

Melakukan kueri build terhadap Build API.

Catatan: parameter input tersirat oleh berbagai variabel cakupan class

Hasil
RemoteBuildInfo RemoteBuildInfo yang diuraikan dari respons.

Menampilkan
com.android.tradefed.build.BuildRetrievalError
BuildRetrievalError

replaceParamWithSigned

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

Parameter
buildInfo RemoteBuildInfo

key RemoteBuildInfo.BuildAttributeKey

Menampilkan
BuildRetrievalError

useCasDefaultRollout

protected boolean useCasDefaultRollout ()

Hasil
boolean