Android-cuttlefish cvd tool
Classes | Namespaces | Functions | Variables
fetch_cvd.cc File Reference
#include "cuttlefish/host/commands/cvd/fetch/fetch_cvd.h"
#include <android-base/file.h>
#include <sys/stat.h>
#include <cstddef>
#include <functional>
#include <future>
#include <iostream>
#include <optional>
#include <string>
#include <utility>
#include <vector>
#include <android-base/strings.h>
#include "cuttlefish/common/libs/utils/archive.h"
#include "cuttlefish/common/libs/utils/contains.h"
#include "cuttlefish/common/libs/utils/files.h"
#include "cuttlefish/common/libs/utils/result.h"
#include "cuttlefish/host/commands/cvd/fetch/build_strings.h"
#include "cuttlefish/host/commands/cvd/fetch/de_android_sparse.h"
#include "cuttlefish/host/commands/cvd/fetch/download_flags.h"
#include "cuttlefish/host/commands/cvd/fetch/downloaders.h"
#include "cuttlefish/host/commands/cvd/fetch/extract_image_contents.h"
#include "cuttlefish/host/commands/cvd/fetch/fetch_cvd_parser.h"
#include "cuttlefish/host/commands/cvd/fetch/fetch_tracer.h"
#include "cuttlefish/host/commands/cvd/fetch/host_package.h"
#include "cuttlefish/host/commands/cvd/fetch/host_tools_target.h"
#include "cuttlefish/host/commands/cvd/fetch/target_directories.h"
#include "cuttlefish/host/libs/config/fetcher_config.h"
#include "cuttlefish/host/libs/image_aggregator/sparse_image.h"
#include "cuttlefish/host/libs/web/android_build.h"
#include "cuttlefish/host/libs/web/android_build_api.h"
#include "cuttlefish/host/libs/web/android_build_string.h"
#include "cuttlefish/host/libs/web/build_zip_name.h"
#include "cuttlefish/host/libs/web/chrome_os_build_string.h"
#include "cuttlefish/host/libs/web/http_client/curl_global_init.h"
#include "cuttlefish/host/libs/web/luci_build_api.h"
Include dependency graph for fetch_cvd.cc:

Classes

struct  cuttlefish::anonymous_namespace{fetch_cvd.cc}::Target
 

Namespaces

namespace  cuttlefish
 
namespace  cuttlefish::anonymous_namespace{fetch_cvd.cc}
 

Functions

bool cuttlefish::anonymous_namespace{fetch_cvd.cc}::ShouldAppendSubdirectory (const FetchFlags &flags)
 
std::vector< Target > cuttlefish::anonymous_namespace{fetch_cvd.cc}::GetFetchTargets (const FetchFlags &flags, const bool append_subdirectory)
 
Result< void > cuttlefish::anonymous_namespace{fetch_cvd.cc}::EnsureDirectoriesExist (const std::string &host_tools_directory, const std::vector< Target > &targets)
 
Result< std::vector< std::string > > cuttlefish::anonymous_namespace{fetch_cvd.cc}::FetchSystemImgZipImages (BuildApi &build_api, const Build &build, const std::string &target_directory, const bool keep_downloaded_archives)
 
Result< std::optional< Build > > cuttlefish::anonymous_namespace{fetch_cvd.cc}::GetBuildHelper (BuildApi &build_api, const std::optional< BuildString > &build_source, const std::string &fallback_target)
 
Result< Builds > cuttlefish::anonymous_namespace{fetch_cvd.cc}::GetBuilds (BuildApi &build_api, const BuildStrings &build_sources)
 
Result< void > cuttlefish::anonymous_namespace{fetch_cvd.cc}::UpdateTargetsWithBuilds (BuildApi &build_api, std::vector< Target > &targets)
 
Result< Build > cuttlefish::anonymous_namespace{fetch_cvd.cc}::GetHostBuild (BuildApi &build_api, const HostToolsTarget &host_target, const std::optional< Build > &fallback_host_build)
 
Result< std::string > cuttlefish::anonymous_namespace{fetch_cvd.cc}::SaveConfig (FetcherConfig &config, const std::string &target_directory)
 
Result< void > cuttlefish::anonymous_namespace{fetch_cvd.cc}::FetchDefaultTarget (BuildApi &build_api, const Builds &builds, const TargetDirectories &target_directories, const DownloadFlags &flags, const bool keep_downloaded_archives, FetcherConfig &config, FetchTracer::Trace trace)
 
Result< void > cuttlefish::anonymous_namespace{fetch_cvd.cc}::FetchSystemTarget (BuildApi &build_api, const Build &system_build, const TargetDirectories &target_directories, bool download_img_zip, const bool keep_downloaded_archives, FetcherConfig &config, FetchTracer::Trace trace)
 
Result< void > cuttlefish::anonymous_namespace{fetch_cvd.cc}::FetchKernelTarget (BuildApi &build_api, const Build &kernel_build, const std::string &target_directory, FetcherConfig &config, FetchTracer::Trace trace)
 
Result< void > cuttlefish::anonymous_namespace{fetch_cvd.cc}::FetchBootTarget (BuildApi &build_api, const Build &boot_build, const std::string &target_directory, const bool keep_downloaded_archives, FetcherConfig &config, FetchTracer::Trace trace)
 
Result< void > cuttlefish::anonymous_namespace{fetch_cvd.cc}::FetchBootloaderTarget (BuildApi &build_api, const Build &bootloader_build, const std::string &target_directory, FetcherConfig &config, FetchTracer::Trace trace)
 
Result< void > cuttlefish::anonymous_namespace{fetch_cvd.cc}::FetchAndroidEfiLoaderTarget (BuildApi &build_api, const Build &android_efi_loader_build, const std::string &target_directory, FetcherConfig &config, FetchTracer::Trace trace)
 
Result< void > cuttlefish::anonymous_namespace{fetch_cvd.cc}::FetchOtaToolsTarget (BuildApi &build_api, const Build &otatools_build, const TargetDirectories &target_directories, const bool keep_downloaded_archives, FetcherConfig &config, FetchTracer::Trace trace)
 
Result< void > cuttlefish::anonymous_namespace{fetch_cvd.cc}::FetchChromeOsTarget (LuciBuildApi &luci_build_api, const ChromeOsBuildString &chrome_os_build_string, const TargetDirectories &target_directories, const bool keep_downloaded_archives, FetcherConfig &config, FetchTracer::Trace trace)
 
Result< void > cuttlefish::anonymous_namespace{fetch_cvd.cc}::FetchTarget (BuildApi &build_api, LuciBuildApi &luci_build_api, const Builds &builds, const TargetDirectories &target_directories, const DownloadFlags &flags, const bool keep_downloaded_archives, FetcherConfig &config, FetchTracer &tracer)
 
Result< std::vector< FetchResult > > cuttlefish::anonymous_namespace{fetch_cvd.cc}::Fetch (const FetchFlags &flags, const HostToolsTarget &host_target, std::vector< Target > &targets)
 
std::string cuttlefish::GetFetchLogsFileName (const std::string &target_directory)
 
Result< std::vector< FetchResult > > cuttlefish::FetchCvdMain (const FetchFlags &flags)
 

Variables

constexpr mode_t cuttlefish::anonymous_namespace{fetch_cvd.cc}::kRwxAllMode = S_IRWXU | S_IRWXG | S_IRWXO
 
constexpr bool cuttlefish::anonymous_namespace{fetch_cvd.cc}::kOverrideEntries = true