mirror of
https://github.com/Yuyi-Oak/BlueArchiveToolkit.git
synced 2026-07-22 05:55:15 +08:00
Persist official version-state, extend CAS/ResourceRepository import classification, and add offline catalog and failure regression fixtures. Fixes #13 Fixes #12 Fixes #8
71 lines
2.8 KiB
Rust
71 lines
2.8 KiB
Rust
//! # BAT Infrastructure - 基础设施层
|
|
//!
|
|
//! 提供技术实现
|
|
//!
|
|
//! 包含:
|
|
//! - CAS 存储实现
|
|
//! - 下载器
|
|
//! - 解析器
|
|
|
|
#![warn(missing_docs)]
|
|
#![warn(clippy::all)]
|
|
|
|
pub mod cas;
|
|
mod curl_transfer;
|
|
pub mod import;
|
|
pub mod official_download;
|
|
pub mod official_game_main_config;
|
|
pub mod official_launcher;
|
|
pub mod official_pull;
|
|
pub mod official_sync;
|
|
pub mod official_update;
|
|
pub mod path_security;
|
|
pub mod resources;
|
|
mod zip_validation;
|
|
|
|
pub use cas::FileSystemCasRepository;
|
|
pub use import::{
|
|
BundleSource, ImportedResource, ResourceImportCategory, ResourceImportReport,
|
|
ResourceImportService,
|
|
};
|
|
pub use official_download::{
|
|
OfficialLocalManifestAuditItem, OfficialLocalManifestAuditReport,
|
|
OfficialLocalManifestAuditStatus, OfficialLocalVerificationReport, OfficialResourcePullItem,
|
|
OfficialResourcePullProgress, OfficialResourcePullProgressKind, OfficialResourcePullReport,
|
|
OfficialResourcePullService, OfficialResourcePullStatus,
|
|
};
|
|
pub use official_game_main_config::OfficialGameMainConfigBootstrapService;
|
|
pub use official_launcher::{
|
|
is_official_launcher_package_url, launcher_api_url, launcher_authorization_header,
|
|
OfficialLauncherBootstrapService, YostarJpLauncherCdnConfig, YostarJpLauncherGameConfig,
|
|
YostarJpLauncherManifestUrl, YostarJpLauncherRemoteManifest,
|
|
};
|
|
pub use official_pull::{
|
|
build_official_pull_plan, build_official_pull_plan_for_platform_inventory,
|
|
build_official_pull_plan_for_platforms, build_official_pull_plan_from_platform_inventory,
|
|
OfficialResourcePullPlan,
|
|
};
|
|
pub use official_sync::{
|
|
build_official_sync_plan, changed_endpoint_urls, classify_sync_decision,
|
|
default_official_platforms, OfficialSyncDecision, OfficialSyncPlan,
|
|
};
|
|
pub use official_update::{
|
|
cached_game_main_config_for_metadata, diff_extended_snapshot, read_bootstrap_cache,
|
|
read_snapshot, read_version_state, write_bootstrap_cache, write_snapshot, write_version_state,
|
|
ExtendedSnapshotDelta, GameMainConfigSnapshot, LauncherMetadataSnapshot,
|
|
OfficialBootstrapCache, OfficialEndpointMarkerRole, OfficialEndpointMarkerSnapshot,
|
|
OfficialFailedVersionRecord, OfficialServerInfoSource, OfficialUpdateConfig,
|
|
OfficialUpdateProgress, OfficialUpdateReport, OfficialUpdateService, OfficialUpdateSnapshot,
|
|
OfficialUpdateStatus, OfficialVerificationSummary, OfficialVersionRecord, OfficialVersionState,
|
|
ResolvedBootstrap,
|
|
};
|
|
pub use path_security::{
|
|
ensure_path_within_root, ensure_safe_directory_path, ensure_safe_file_target, lexical_absolute,
|
|
open_append_file, read_file_no_symlink, set_file_mode, validate_output_root,
|
|
validate_runtime_state_dir, write_file_atomic, PRIVATE_FILE_MODE, STATE_FILE_MODE,
|
|
};
|
|
pub use resources::{InMemoryResourceRepository, SqliteResourceRepository};
|
|
|
|
/// Infrastructure 版本号
|
|
pub const VERSION: &str = env!("CARGO_PKG_VERSION");
|