mirror of
https://github.com/facebook/sapling.git
synced 2024-10-05 14:28:17 +03:00
Move DerivedDataServiceRepo facet into repo_attributes
Summary: That facet was created prior any of repo_attributes, since now it's a default location for the facets, lets move it there Reviewed By: yancouto Differential Revision: D40382977 fbshipit-source-id: 856195c25472ca1d2080a605e091ecf754768b6c
This commit is contained in:
parent
70cab0f2fa
commit
cfc6c36998
@ -366,6 +366,7 @@ members = [
|
||||
"repo_attributes/repo_bookmark_attrs",
|
||||
"repo_attributes/repo_cross_repo",
|
||||
"repo_attributes/repo_derived_data",
|
||||
"repo_attributes/repo_derived_data_service",
|
||||
"repo_attributes/repo_identity",
|
||||
"repo_attributes/repo_lock/repo_lock",
|
||||
"repo_attributes/repo_permission_checker",
|
||||
|
@ -26,7 +26,6 @@ derived_data_constants = { version = "0.1.0", path = "../constants" }
|
||||
derived_data_remote = { version = "0.1.0", path = "../remote" }
|
||||
derived_data_service_if = { version = "0.1.0", path = "../remote/if" }
|
||||
ephemeral_blobstore = { version = "0.1.0", path = "../../blobstore/ephemeral_blobstore" }
|
||||
facet = { version = "0.1.0", git = "https://github.com/facebookexperimental/rust-shed.git", branch = "main" }
|
||||
filenodes = { version = "0.1.0", path = "../../filenodes" }
|
||||
futures = { version = "0.3.22", features = ["async-await", "compat"] }
|
||||
futures_stats = { version = "0.1.0", git = "https://github.com/facebookexperimental/rust-shed.git", branch = "main" }
|
||||
|
@ -18,7 +18,4 @@ pub use self::lease::DerivedDataLease;
|
||||
pub use self::manager::derive::BatchDeriveOptions;
|
||||
pub use self::manager::derive::BatchDeriveStats;
|
||||
pub use self::manager::derive::Rederivation;
|
||||
pub use self::manager::util::derived_data_service::ArcDerivedDataManagerSet;
|
||||
pub use self::manager::util::derived_data_service::DerivedDataManagerSet;
|
||||
pub use self::manager::util::derived_data_service::DerivedDataServiceRepo;
|
||||
pub use self::manager::DerivedDataManager;
|
||||
|
@ -89,87 +89,3 @@ impl DerivedDataManager {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pub mod derived_data_service {
|
||||
use std::collections::HashMap;
|
||||
use std::sync::Arc;
|
||||
|
||||
use anyhow::Result;
|
||||
use bonsai_hg_mapping::BonsaiHgMapping;
|
||||
use cacheblob::LeaseOps;
|
||||
use changesets::Changesets;
|
||||
use derived_data_remote::DerivationClient;
|
||||
use filenodes::Filenodes;
|
||||
use metaconfig_types::DerivedDataConfig;
|
||||
use metaconfig_types::DerivedDataTypesConfig;
|
||||
use mononoke_types::RepositoryId;
|
||||
use repo_blobstore::RepoBlobstore;
|
||||
use scuba_ext::MononokeScubaSampleBuilder;
|
||||
use slog::Logger;
|
||||
|
||||
use super::DerivedDataManager;
|
||||
|
||||
#[facet::facet]
|
||||
pub struct DerivedDataManagerSet {
|
||||
logger: Logger,
|
||||
configs: HashMap<String, DerivedDataManager>,
|
||||
}
|
||||
|
||||
impl DerivedDataManagerSet {
|
||||
pub fn get_mananger(&self, config_name: impl Into<String>) -> Option<&DerivedDataManager> {
|
||||
self.configs.get(&config_name.into())
|
||||
}
|
||||
|
||||
pub fn logger(&self) -> &Logger {
|
||||
&self.logger
|
||||
}
|
||||
}
|
||||
|
||||
#[facet::container]
|
||||
pub struct DerivedDataServiceRepo {
|
||||
#[facet]
|
||||
pub manager_set: DerivedDataManagerSet,
|
||||
}
|
||||
|
||||
impl DerivedDataManagerSet {
|
||||
pub fn new(
|
||||
repo_id: RepositoryId,
|
||||
repo_name: String,
|
||||
changesets: Arc<dyn Changesets>,
|
||||
bonsai_hg_mapping: Arc<dyn BonsaiHgMapping>,
|
||||
filenodes: Arc<dyn Filenodes>,
|
||||
repo_blobstore: RepoBlobstore,
|
||||
lease: Arc<dyn LeaseOps>,
|
||||
logger: Logger,
|
||||
derived_data_scuba: MononokeScubaSampleBuilder,
|
||||
config: DerivedDataConfig,
|
||||
derivation_service_client: Option<Arc<dyn DerivationClient>>,
|
||||
) -> Result<Self> {
|
||||
let manager = DerivedDataManager::new(
|
||||
repo_id,
|
||||
repo_name,
|
||||
changesets,
|
||||
bonsai_hg_mapping,
|
||||
filenodes,
|
||||
repo_blobstore,
|
||||
lease,
|
||||
derived_data_scuba,
|
||||
String::default(),
|
||||
DerivedDataTypesConfig::default(),
|
||||
derivation_service_client,
|
||||
);
|
||||
let configs = config
|
||||
.available_configs
|
||||
.into_iter()
|
||||
.map(|(config_name, config)| {
|
||||
(
|
||||
config_name.clone(),
|
||||
manager.with_replaced_config(config_name, config),
|
||||
)
|
||||
})
|
||||
.collect();
|
||||
|
||||
Ok(Self { logger, configs })
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,23 @@
|
||||
# @generated by autocargo
|
||||
|
||||
[package]
|
||||
name = "repo_derived_data_service"
|
||||
version = "0.1.0"
|
||||
authors = ["Facebook"]
|
||||
edition = "2021"
|
||||
license = "GPLv2+"
|
||||
|
||||
[dependencies]
|
||||
anyhow = "1.0.65"
|
||||
bonsai_hg_mapping = { version = "0.1.0", path = "../../bonsai_hg_mapping" }
|
||||
cacheblob = { version = "0.1.0", path = "../../blobstore/cacheblob" }
|
||||
changesets = { version = "0.1.0", path = "../../changesets" }
|
||||
derived_data_manager = { version = "0.1.0", path = "../../derived_data/manager" }
|
||||
derived_data_remote = { version = "0.1.0", path = "../../derived_data/remote" }
|
||||
facet = { version = "0.1.0", git = "https://github.com/facebookexperimental/rust-shed.git", branch = "main" }
|
||||
filenodes = { version = "0.1.0", path = "../../filenodes" }
|
||||
metaconfig_types = { version = "0.1.0", path = "../../metaconfig/types" }
|
||||
mononoke_types = { version = "0.1.0", path = "../../mononoke_types" }
|
||||
repo_blobstore = { version = "0.1.0", path = "../../blobrepo/repo_blobstore" }
|
||||
scuba_ext = { version = "0.1.0", path = "../../common/scuba_ext" }
|
||||
slog = { version = "2.7", features = ["max_level_trace", "nested-values"] }
|
@ -0,0 +1,87 @@
|
||||
/*
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
*
|
||||
* This software may be used and distributed according to the terms of the
|
||||
* GNU General Public License version 2.
|
||||
*/
|
||||
|
||||
use std::collections::HashMap;
|
||||
use std::sync::Arc;
|
||||
|
||||
use anyhow::Result;
|
||||
use bonsai_hg_mapping::BonsaiHgMapping;
|
||||
use cacheblob::LeaseOps;
|
||||
use changesets::Changesets;
|
||||
use derived_data_manager::DerivedDataManager;
|
||||
use derived_data_remote::DerivationClient;
|
||||
use filenodes::Filenodes;
|
||||
use metaconfig_types::DerivedDataConfig;
|
||||
use metaconfig_types::DerivedDataTypesConfig;
|
||||
use mononoke_types::RepositoryId;
|
||||
use repo_blobstore::RepoBlobstore;
|
||||
use scuba_ext::MononokeScubaSampleBuilder;
|
||||
use slog::Logger;
|
||||
|
||||
#[facet::facet]
|
||||
pub struct DerivedDataManagerSet {
|
||||
logger: Logger,
|
||||
configs: HashMap<String, DerivedDataManager>,
|
||||
}
|
||||
|
||||
impl DerivedDataManagerSet {
|
||||
pub fn get_mananger(&self, config_name: impl Into<String>) -> Option<&DerivedDataManager> {
|
||||
self.configs.get(&config_name.into())
|
||||
}
|
||||
|
||||
pub fn logger(&self) -> &Logger {
|
||||
&self.logger
|
||||
}
|
||||
}
|
||||
|
||||
#[facet::container]
|
||||
pub struct DerivedDataServiceRepo {
|
||||
#[facet]
|
||||
pub manager_set: DerivedDataManagerSet,
|
||||
}
|
||||
|
||||
impl DerivedDataManagerSet {
|
||||
pub fn new(
|
||||
repo_id: RepositoryId,
|
||||
repo_name: String,
|
||||
changesets: Arc<dyn Changesets>,
|
||||
bonsai_hg_mapping: Arc<dyn BonsaiHgMapping>,
|
||||
filenodes: Arc<dyn Filenodes>,
|
||||
repo_blobstore: RepoBlobstore,
|
||||
lease: Arc<dyn LeaseOps>,
|
||||
logger: Logger,
|
||||
derived_data_scuba: MononokeScubaSampleBuilder,
|
||||
config: DerivedDataConfig,
|
||||
derivation_service_client: Option<Arc<dyn DerivationClient>>,
|
||||
) -> Result<Self> {
|
||||
let manager = DerivedDataManager::new(
|
||||
repo_id,
|
||||
repo_name,
|
||||
changesets,
|
||||
bonsai_hg_mapping,
|
||||
filenodes,
|
||||
repo_blobstore,
|
||||
lease,
|
||||
derived_data_scuba,
|
||||
String::default(),
|
||||
DerivedDataTypesConfig::default(),
|
||||
derivation_service_client,
|
||||
);
|
||||
let configs = config
|
||||
.available_configs
|
||||
.into_iter()
|
||||
.map(|(config_name, config)| {
|
||||
(
|
||||
config_name.clone(),
|
||||
manager.with_replaced_config(config_name, config),
|
||||
)
|
||||
})
|
||||
.collect();
|
||||
|
||||
Ok(Self { logger, configs })
|
||||
}
|
||||
}
|
@ -27,7 +27,6 @@ cloned = { version = "0.1.0", git = "https://github.com/facebookexperimental/rus
|
||||
context = { version = "0.1.0", path = "../server/context" }
|
||||
cross_repo_sync = { version = "0.1.0", path = "../commit_rewriting/cross_repo_sync" }
|
||||
dbbookmarks = { version = "0.1.0", path = "../bookmarks/dbbookmarks" }
|
||||
derived_data_manager = { version = "0.1.0", path = "../derived_data/manager" }
|
||||
derived_data_remote = { version = "0.1.0", path = "../derived_data/remote" }
|
||||
environment = { version = "0.1.0", path = "../cmdlib/environment" }
|
||||
ephemeral_blobstore = { version = "0.1.0", path = "../blobstore/ephemeral_blobstore" }
|
||||
@ -54,6 +53,7 @@ repo_blobstore = { version = "0.1.0", path = "../blobrepo/repo_blobstore" }
|
||||
repo_bookmark_attrs = { version = "0.1.0", path = "../repo_attributes/repo_bookmark_attrs" }
|
||||
repo_cross_repo = { version = "0.1.0", path = "../repo_attributes/repo_cross_repo" }
|
||||
repo_derived_data = { version = "0.1.0", path = "../repo_attributes/repo_derived_data" }
|
||||
repo_derived_data_service = { version = "0.1.0", path = "../repo_attributes/repo_derived_data_service" }
|
||||
repo_identity = { version = "0.1.0", path = "../repo_attributes/repo_identity" }
|
||||
repo_lock = { version = "0.1.0", path = "../repo_attributes/repo_lock/repo_lock" }
|
||||
repo_permission_checker = { version = "0.1.0", path = "../repo_attributes/repo_permission_checker" }
|
||||
|
@ -64,8 +64,6 @@ use dbbookmarks::ArcSqlBookmarks;
|
||||
use dbbookmarks::SqlBookmarksBuilder;
|
||||
#[cfg(fbcode_build)]
|
||||
use derived_data_client_library::Client as DerivationServiceClient;
|
||||
use derived_data_manager::ArcDerivedDataManagerSet;
|
||||
use derived_data_manager::DerivedDataManagerSet;
|
||||
use derived_data_remote::DerivationClient;
|
||||
use derived_data_remote::RemoteDerivationOptions;
|
||||
use environment::Caching;
|
||||
@ -120,6 +118,8 @@ use repo_cross_repo::ArcRepoCrossRepo;
|
||||
use repo_cross_repo::RepoCrossRepo;
|
||||
use repo_derived_data::ArcRepoDerivedData;
|
||||
use repo_derived_data::RepoDerivedData;
|
||||
use repo_derived_data_service::ArcDerivedDataManagerSet;
|
||||
use repo_derived_data_service::DerivedDataManagerSet;
|
||||
use repo_identity::ArcRepoIdentity;
|
||||
use repo_identity::RepoIdentity;
|
||||
use repo_lock::AlwaysLockedRepoLock;
|
||||
|
Loading…
Reference in New Issue
Block a user