24#include "json/value.h"
75 CasDownloader(std::string downloader_path, std::vector<std::string> flags,
76 bool prefer_uncompressed =
false);
79 const std::string& service_account_filepath);
82 const DeviceBuild& build,
const std::string& artifact_name,
83 const std::string& target_directory,
85 const std::optional<std::string>& stats_filepath = std::nullopt);
90 const std::string& service_account_filepath);
93 const std::string& build_target,
94 const std::string& artifact_name,
Definition: cas_downloader.h:73
static Result< std::unique_ptr< CasDownloader > > Create(const CasDownloaderFlags &cas_downloader_flags, const std::string &service_account_filepath)
Definition: cas_downloader.cpp:291
Json::Value cas_digests_
Definition: cas_downloader.h:101
virtual ~CasDownloader()=default
static Result< std::unique_ptr< CasDownloader > > CreateImpl(const CasDownloaderFlags &cas_downloader_flags, const std::string &service_account_filepath)
Definition: cas_downloader.cpp:306
bool prefer_uncompressed_
Definition: cas_downloader.h:99
std::string downloader_path_
Definition: cas_downloader.h:97
std::string build_desc_
Definition: cas_downloader.h:100
Result< CasIdentifier > GetCasIdentifier(const std::string &build_id, const std::string &build_target, const std::string &artifact_name, const DigestsFetcher &digests_fetcher)
Definition: cas_downloader.cpp:449
virtual Result< void > DownloadFile(const DeviceBuild &build, const std::string &artifact_name, const std::string &target_directory, const DigestsFetcher &digests_fetcher, const std::optional< std::string > &stats_filepath=std::nullopt)
Definition: cas_downloader.cpp:415
std::vector< std::string > flags_
Definition: cas_downloader.h:98
CasDownloader(std::string downloader_path, std::vector< std::string > flags, bool prefer_uncompressed=false)
Definition: cas_downloader.cpp:408
Definition: alloc_driver.h:20
constexpr char kFlagDumpJson[]
Definition: cas_downloader.h:37
constexpr char kKeyDownloaderPath[]
Definition: cas_downloader.h:32
constexpr char kFlagDigest[]
Definition: cas_downloader.h:35
constexpr char kFlagCasInstance[]
Definition: cas_downloader.h:39
constexpr char kFlagDisableCache[]
Definition: cas_downloader.h:38
constexpr char kFlagUseAdc[]
Definition: cas_downloader.h:42
constexpr char kFlagCasAddr[]
Definition: cas_downloader.h:40
constexpr char kFlagDir[]
Definition: cas_downloader.h:36
constexpr char kKeyFlags[]
Definition: cas_downloader.h:33
constexpr char kFlagServiceAccountJson[]
Definition: cas_downloader.h:41
tl::expected< T, StackTraceError > Result
Definition: result_type.h:30
std::function< Result< std::string >(std::string)> DigestsFetcher
Definition: cas_downloader.h:61
Definition: cas_flags.h:71
Definition: cas_downloader.h:49
std::string filename
Definition: cas_downloader.h:54
std::string cas_instance
Definition: cas_downloader.h:50
std::string digest
Definition: cas_downloader.h:52
std::string cas_addr
Definition: cas_downloader.h:51
Definition: android_build.h:28