DynamicRemoteFileResolver

public class DynamicRemoteFileResolver
extends Object

java.lang.Object
com.android.tradefed.config.DynamicRemoteFileResolver


此类有助于解析远程文件的路径。

例如:gs://bucket/path/file.txt 将通过从 GCS 存储分区下载文件来解析。

应将新协议添加到 META_INF/services。

摘要

嵌套类

interface DynamicRemoteFileResolver.FileResolverLoader

加载 IRemoteFileResolver 的实现。 

常量

String OPTIONAL_KEY

String OPTION_NAME_KEY

String OPTION_PARALLEL_KEY

String UNZIP_KEY

公共构造函数

DynamicRemoteFileResolver()
DynamicRemoteFileResolver(boolean allowParallel)
DynamicRemoteFileResolver(DynamicRemoteFileResolver.FileResolverLoader loader)
DynamicRemoteFileResolver(DynamicRemoteFileResolver.FileResolverLoader loader, boolean allowParallel)

公共方法

void addExtraArgs(Map<String, String> extraArgs)

为查询添加额外的参数。

List<ExtendedFile> getParallelDownloads()
void resolvePartialDownloadZip(File destDir, String remoteZipFilePath, List<String> includeFilters, List<String> excludeFilters)

下载远程 zip 文件中与给定过滤条件匹配的文件。

void setDevice(ITestDevice device)

设置被测设备

void setOptionMap(Map<String, OptionSetter.OptionFieldsForName> optionMap)

设置来自 OptionSetter 的选项映射

static final File unzipIfRequired(File downloadedFile, Map<String, String> query)

此实用程序可用于检查文件是否应解压缩,并根据需要解压缩文件。

final Set<File> validateRemoteFilePath()

遍历所有 File 选项类型,并检查是否应解析其路径。

常量

OPTIONAL_KEY

public static final String OPTIONAL_KEY

常量值: "optional"

OPTION_NAME_KEY

public static final String OPTION_NAME_KEY

常量值: "option_name"

OPTION_PARALLEL_KEY

public static final String OPTION_PARALLEL_KEY

常量值: "parallel"

UNZIP_KEY

public static final String UNZIP_KEY

常量值: "unzip"

公共构造函数

DynamicRemoteFileResolver

public DynamicRemoteFileResolver ()

DynamicRemoteFileResolver

public DynamicRemoteFileResolver (boolean allowParallel)

参数
allowParallel boolean

DynamicRemoteFileResolver

public DynamicRemoteFileResolver (DynamicRemoteFileResolver.FileResolverLoader loader)

参数
loader DynamicRemoteFileResolver.FileResolverLoader

DynamicRemoteFileResolver

public DynamicRemoteFileResolver (DynamicRemoteFileResolver.FileResolverLoader loader, 
                boolean allowParallel)

参数
loader DynamicRemoteFileResolver.FileResolverLoader

allowParallel boolean

公共方法

addExtraArgs

public void addExtraArgs (Map<String, String> extraArgs)

为查询添加额外的参数。

参数
extraArgs Map

getParallelDownloads

public List<ExtendedFile> getParallelDownloads ()

返回
List<ExtendedFile>

resolvePartialDownloadZip

public void resolvePartialDownloadZip (File destDir, 
                String remoteZipFilePath, 
                List<String> includeFilters, 
                List<String> excludeFilters)

下载远程 zip 文件中与给定过滤条件匹配的文件。

只有当远程 zip 文件中的文件路径与任何 包含项过滤条件匹配,但不与任何排除项过滤条件匹配时,才会下载该文件。

参数
destDir File:用于放置下载内容的文件。

remoteZipFilePath String:要下载的 zip 文件的远程路径,相对于实现特定的根目录。

includeFilters List:用于下载匹配文件的正则表达式字符串列表。系统将下载与任何过滤条件匹配的文件路径 。

excludeFilters List:用于跳过下载匹配文件的正则表达式字符串列表。系统不会下载与任何过滤条件匹配的文件 路径。

抛出
BuildRetrievalError 如果无法下载文件。

setDevice

public void setDevice (ITestDevice device)

设置被测设备

参数
device ITestDevice

setOptionMap

public void setOptionMap (Map<String, OptionSetter.OptionFieldsForName> optionMap)

设置来自 OptionSetter 的选项映射

参数
optionMap Map

unzipIfRequired

public static final File unzipIfRequired (File downloadedFile, 
                Map<String, String> query)

此实用程序可用于检查文件是否应解压缩,并根据需要解压缩文件。

参数
downloadedFile File

query Map

返回
File

抛出
IOException

validateRemoteFilePath

public final Set<File> validateRemoteFilePath ()

遍历所有 File 选项类型,并检查是否应解析其路径。

返回
Set<File> 以这种方式解析的 File 列表。

抛出
com.android.tradefed.build.BuildRetrievalError
BuildRetrievalError