diff options
Diffstat (limited to 'crates/shirabe/src/downloader')
17 files changed, 179 insertions, 183 deletions
diff --git a/crates/shirabe/src/downloader/archive_downloader.rs b/crates/shirabe/src/downloader/archive_downloader.rs index 4744bc2..eaa985d 100644 --- a/crates/shirabe/src/downloader/archive_downloader.rs +++ b/crates/shirabe/src/downloader/archive_downloader.rs @@ -7,7 +7,6 @@ use crate::io::IOInterfaceImmutable; use crate::package::PackageInterfaceHandle; use crate::util::Filesystem; use crate::util::Platform; -use anyhow::Result; use indexmap::IndexMap; use shirabe_external_packages::symfony::finder::Finder; use shirabe_php_shim::{ @@ -27,7 +26,7 @@ pub trait ArchiveDownloader { package: PackageInterfaceHandle, file: &str, path: &str, - ) -> Result<Option<PhpMixed>>; + ) -> anyhow::Result<Option<PhpMixed>>; async fn prepare( &mut self, @@ -35,7 +34,7 @@ pub trait ArchiveDownloader { package: PackageInterfaceHandle, path: &str, prev_package: Option<PackageInterfaceHandle>, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { self.cleanup_executed_mut() .shift_remove(&package.get_name()); self.inner_mut() @@ -49,7 +48,7 @@ pub trait ArchiveDownloader { package: PackageInterfaceHandle, path: &str, prev_package: Option<PackageInterfaceHandle>, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { self.cleanup_executed_mut().insert(package.get_name(), true); self.inner_mut() .cleanup(r#type, package, path, prev_package) @@ -65,7 +64,7 @@ pub trait ArchiveDownloader { package: PackageInterfaceHandle, path: &str, output: bool, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { if output { self.inner().io.write_error(&format!( " - {}{}", @@ -221,7 +220,7 @@ fn install_cleanup( package: PackageInterfaceHandle, path: &str, temporary_dir: &str, -) -> Result<()> { +) -> anyhow::Result<()> { // remove cache if the file was corrupted inner.clear_last_cache_write(package.clone()); @@ -265,7 +264,7 @@ fn rename_recursively( package: PackageInterfaceHandle, from: &Path, to: &Path, -) -> Result<()> { +) -> anyhow::Result<()> { let content_dir = get_folder_content(from); // move files back out of the temp dir diff --git a/crates/shirabe/src/downloader/change_report_interface.rs b/crates/shirabe/src/downloader/change_report_interface.rs index ca2a113..ccbea49 100644 --- a/crates/shirabe/src/downloader/change_report_interface.rs +++ b/crates/shirabe/src/downloader/change_report_interface.rs @@ -1,12 +1,11 @@ //! ref: composer/src/Composer/Downloader/ChangeReportInterface.php use crate::package::PackageInterfaceHandle; -use anyhow::Result; pub trait ChangeReportInterface { fn get_local_changes( &mut self, package: PackageInterfaceHandle, path: &str, - ) -> Result<Option<String>>; + ) -> anyhow::Result<Option<String>>; } diff --git a/crates/shirabe/src/downloader/download_manager.rs b/crates/shirabe/src/downloader/download_manager.rs index 82bf4bb..466570e 100644 --- a/crates/shirabe/src/downloader/download_manager.rs +++ b/crates/shirabe/src/downloader/download_manager.rs @@ -7,7 +7,6 @@ use crate::io::IOInterfaceImmutable; use crate::io::io_interface; use crate::package::PackageInterfaceHandle; use crate::util::Filesystem; -use anyhow::Result; use indexmap::IndexMap; use shirabe_external_packages::composer::pcre::Preg; use shirabe_php_shim::{ @@ -97,7 +96,7 @@ impl DownloadManager { pub fn get_downloader( &self, r#type: &str, - ) -> Result<std::rc::Rc<std::cell::RefCell<dyn DownloaderInterface>>> { + ) -> anyhow::Result<std::rc::Rc<std::cell::RefCell<dyn DownloaderInterface>>> { let r#type = strtolower(r#type); if !self.downloaders.contains_key(&r#type) { return Err(InvalidArgumentException { @@ -123,7 +122,7 @@ impl DownloadManager { pub fn get_downloader_for_package( &self, package: PackageInterfaceHandle, - ) -> Result<Option<std::rc::Rc<std::cell::RefCell<dyn DownloaderInterface>>>> { + ) -> anyhow::Result<Option<std::rc::Rc<std::cell::RefCell<dyn DownloaderInterface>>>> { let installation_source = package.get_installation_source(); if "metapackage" == package.get_type() { @@ -190,7 +189,7 @@ impl DownloadManager { package: PackageInterfaceHandle, target_dir: &str, prev_package: Option<PackageInterfaceHandle>, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { let target_dir = self.normalize_target_dir(target_dir); self.filesystem .borrow_mut() @@ -278,7 +277,7 @@ impl DownloadManager { package: PackageInterfaceHandle, target_dir: &str, prev_package: Option<PackageInterfaceHandle>, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { let target_dir = self.normalize_target_dir(target_dir); if let Some(downloader) = self.get_downloader_for_package(package.clone())? { return downloader @@ -302,7 +301,7 @@ impl DownloadManager { &self, package: PackageInterfaceHandle, target_dir: &str, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { let target_dir = self.normalize_target_dir(target_dir); if let Some(downloader) = self.get_downloader_for_package(package.clone())? { return downloader.borrow_mut().install2(package, &target_dir).await; @@ -324,7 +323,7 @@ impl DownloadManager { initial: PackageInterfaceHandle, target: PackageInterfaceHandle, target_dir: &str, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { let target_dir = self.normalize_target_dir(target_dir); let downloader = self.get_downloader_for_package(target.clone())?; let initial_downloader = self.get_downloader_for_package(initial.clone())?; @@ -404,7 +403,7 @@ impl DownloadManager { &self, package: PackageInterfaceHandle, target_dir: &str, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { let target_dir = self.normalize_target_dir(target_dir); if let Some(downloader) = self.get_downloader_for_package(package.clone())? { return downloader.borrow_mut().remove2(package, &target_dir).await; @@ -426,7 +425,7 @@ impl DownloadManager { package: PackageInterfaceHandle, target_dir: &str, prev_package: Option<PackageInterfaceHandle>, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { let target_dir = self.normalize_target_dir(target_dir); if let Some(downloader) = self.get_downloader_for_package(package.clone())? { return downloader @@ -472,7 +471,7 @@ impl DownloadManager { &self, package: PackageInterfaceHandle, prev_package: Option<PackageInterfaceHandle>, - ) -> Result<Vec<String>> { + ) -> anyhow::Result<Vec<String>> { let source_type = package.get_source_type(); let dist_type = package.get_dist_type(); @@ -538,7 +537,7 @@ impl DownloadManager { &self, package: PackageInterfaceHandle, prev_package: Option<PackageInterfaceHandle>, - ) -> Result<Vec<String>> { + ) -> anyhow::Result<Vec<String>> { self.get_available_sources(package, prev_package) } @@ -564,43 +563,43 @@ pub trait DownloadManagerInterface: std::fmt::Debug { fn get_downloader_for_package( &self, package: PackageInterfaceHandle, - ) -> Result<Option<std::rc::Rc<std::cell::RefCell<dyn DownloaderInterface>>>>; + ) -> anyhow::Result<Option<std::rc::Rc<std::cell::RefCell<dyn DownloaderInterface>>>>; async fn download( &self, package: PackageInterfaceHandle, target_dir: &str, prev_package: Option<PackageInterfaceHandle>, - ) -> Result<Option<PhpMixed>>; + ) -> anyhow::Result<Option<PhpMixed>>; async fn prepare( &self, r#type: &str, package: PackageInterfaceHandle, target_dir: &str, prev_package: Option<PackageInterfaceHandle>, - ) -> Result<Option<PhpMixed>>; + ) -> anyhow::Result<Option<PhpMixed>>; async fn install( &self, package: PackageInterfaceHandle, target_dir: &str, - ) -> Result<Option<PhpMixed>>; + ) -> anyhow::Result<Option<PhpMixed>>; async fn update( &self, initial: PackageInterfaceHandle, target: PackageInterfaceHandle, target_dir: &str, - ) -> Result<Option<PhpMixed>>; + ) -> anyhow::Result<Option<PhpMixed>>; async fn remove( &self, package: PackageInterfaceHandle, target_dir: &str, - ) -> Result<Option<PhpMixed>>; + ) -> anyhow::Result<Option<PhpMixed>>; async fn cleanup( &self, r#type: &str, package: PackageInterfaceHandle, target_dir: &str, prev_package: Option<PackageInterfaceHandle>, - ) -> Result<Option<PhpMixed>>; + ) -> anyhow::Result<Option<PhpMixed>>; } #[async_trait::async_trait(?Send)] @@ -616,7 +615,7 @@ impl DownloadManagerInterface for DownloadManager { fn get_downloader_for_package( &self, package: PackageInterfaceHandle, - ) -> Result<Option<std::rc::Rc<std::cell::RefCell<dyn DownloaderInterface>>>> { + ) -> anyhow::Result<Option<std::rc::Rc<std::cell::RefCell<dyn DownloaderInterface>>>> { self.get_downloader_for_package(package) } @@ -625,7 +624,7 @@ impl DownloadManagerInterface for DownloadManager { package: PackageInterfaceHandle, target_dir: &str, prev_package: Option<PackageInterfaceHandle>, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { self.download(package, target_dir, prev_package).await } @@ -635,7 +634,7 @@ impl DownloadManagerInterface for DownloadManager { package: PackageInterfaceHandle, target_dir: &str, prev_package: Option<PackageInterfaceHandle>, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { self.prepare(r#type, package, target_dir, prev_package) .await } @@ -644,7 +643,7 @@ impl DownloadManagerInterface for DownloadManager { &self, package: PackageInterfaceHandle, target_dir: &str, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { self.install(package, target_dir).await } @@ -653,7 +652,7 @@ impl DownloadManagerInterface for DownloadManager { initial: PackageInterfaceHandle, target: PackageInterfaceHandle, target_dir: &str, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { self.update(initial, target, target_dir).await } @@ -661,7 +660,7 @@ impl DownloadManagerInterface for DownloadManager { &self, package: PackageInterfaceHandle, target_dir: &str, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { self.remove(package, target_dir).await } @@ -671,7 +670,7 @@ impl DownloadManagerInterface for DownloadManager { package: PackageInterfaceHandle, target_dir: &str, prev_package: Option<PackageInterfaceHandle>, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { self.cleanup(r#type, package, target_dir, prev_package) .await } diff --git a/crates/shirabe/src/downloader/dvcs_downloader_interface.rs b/crates/shirabe/src/downloader/dvcs_downloader_interface.rs index e33aa46..69756ba 100644 --- a/crates/shirabe/src/downloader/dvcs_downloader_interface.rs +++ b/crates/shirabe/src/downloader/dvcs_downloader_interface.rs @@ -1,12 +1,11 @@ //! ref: composer/src/Composer/Downloader/DvcsDownloaderInterface.php use crate::package::PackageInterfaceHandle; -use anyhow::Result; pub trait DvcsDownloaderInterface { fn get_unpushed_changes( &self, package: PackageInterfaceHandle, path: String, - ) -> Result<Option<String>>; + ) -> anyhow::Result<Option<String>>; } diff --git a/crates/shirabe/src/downloader/file_downloader.rs b/crates/shirabe/src/downloader/file_downloader.rs index a6334fb..6286918 100644 --- a/crates/shirabe/src/downloader/file_downloader.rs +++ b/crates/shirabe/src/downloader/file_downloader.rs @@ -24,7 +24,6 @@ use crate::util::ProcessExecutor; use crate::util::Silencer; use crate::util::Url as UrlUtil; use crate::util::sync_executor; -use anyhow::Result; use indexmap::IndexMap; use shirabe_php_shim::{ DIRECTORY_SEPARATOR, InvalidArgumentException, PATHINFO_BASENAME, PATHINFO_EXTENSION, @@ -162,7 +161,7 @@ impl DownloaderInterface for FileDownloader { path: &str, _prev_package: Option<PackageInterfaceHandle>, output: bool, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { if package.get_dist_url().is_none() { return Err(InvalidArgumentException { message: "The given package is missing url information".to_string(), @@ -439,7 +438,7 @@ impl DownloaderInterface for FileDownloader { _package: PackageInterfaceHandle, _path: &str, _prev_package: Option<PackageInterfaceHandle>, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { Ok(Some(PhpMixed::Null)) } @@ -450,7 +449,7 @@ impl DownloaderInterface for FileDownloader { package: PackageInterfaceHandle, path: &str, _prev_package: Option<PackageInterfaceHandle>, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { let file_name = self.get_file_name(package.clone(), path); if file_exists(&file_name) { self.filesystem.borrow_mut().unlink(&file_name)?; @@ -504,7 +503,7 @@ impl DownloaderInterface for FileDownloader { package: PackageInterfaceHandle, path: &str, output: bool, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { if output { self.io.write_error(&format!( " - {}", @@ -561,7 +560,7 @@ impl DownloaderInterface for FileDownloader { initial: PackageInterfaceHandle, target: PackageInterfaceHandle, path: &str, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { self.io.write_error(&format!( " - {}{}", UpdateOperation::format(initial.clone(), target.clone(), false), @@ -579,7 +578,7 @@ impl DownloaderInterface for FileDownloader { package: PackageInterfaceHandle, path: &str, output: bool, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { if output { self.io.write_error(&format!( " - {}", @@ -610,7 +609,7 @@ impl ChangeReportInterface for FileDownloader { &mut self, package: PackageInterfaceHandle, path: &str, - ) -> Result<Option<String>> { + ) -> anyhow::Result<Option<String>> { let prev_io = std::mem::replace( &mut self.io, std::rc::Rc::new(std::cell::RefCell::new(NullIO::new())), @@ -623,7 +622,7 @@ impl ChangeReportInterface for FileDownloader { // PHP attaches an onRejected handler to capture the error and drives the promise via // httpDownloader->wait() / process->wait(); the single-threaded sync bridge block_on's the // download/install futures, so a rejection surfaces directly as the Err captured below. - let result: Result<String> = (|| -> Result<String> { + let result: anyhow::Result<String> = (|| -> anyhow::Result<String> { if is_dir(format!("{}_compare", target_dir)) { self.filesystem .borrow_mut() @@ -773,12 +772,20 @@ impl FileDownloader { } /// For testing only: invoke the crate-private `process_url`. - pub fn __process_url(&self, package: PackageInterfaceHandle, url: &str) -> Result<String> { + pub fn __process_url( + &self, + package: PackageInterfaceHandle, + url: &str, + ) -> anyhow::Result<String> { self.process_url(package, url) } /// Process the download url - pub(crate) fn process_url(&self, package: PackageInterfaceHandle, url: &str) -> Result<String> { + pub(crate) fn process_url( + &self, + package: PackageInterfaceHandle, + url: &str, + ) -> anyhow::Result<String> { if !shirabe_php_shim::extension_loaded("openssl") && Some(0) == strpos(url, "https:") { return Err(RuntimeException { message: "You must enable the openssl extension to download files via https" diff --git a/crates/shirabe/src/downloader/fossil_downloader.rs b/crates/shirabe/src/downloader/fossil_downloader.rs index 26a0987..7663c01 100644 --- a/crates/shirabe/src/downloader/fossil_downloader.rs +++ b/crates/shirabe/src/downloader/fossil_downloader.rs @@ -11,7 +11,6 @@ use crate::io::IOInterfaceImmutable; use crate::package::PackageInterfaceHandle; use crate::util::Filesystem; use crate::util::ProcessExecutor; -use anyhow::Result; use indexmap::IndexMap; use shirabe_external_packages::composer::pcre::Preg; use shirabe_php_shim::{PhpMixed, RuntimeException}; @@ -38,7 +37,7 @@ impl FossilDownloader { command: Vec<String>, cwd: Option<String>, output: &mut String, - ) -> Result<()> { + ) -> anyhow::Result<()> { if self .inner .process @@ -91,7 +90,7 @@ impl VcsDownloader for FossilDownloader { _path: &str, _url: &str, _prev_package: Option<PackageInterfaceHandle>, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { Ok(None) } @@ -100,7 +99,7 @@ impl VcsDownloader for FossilDownloader { package: PackageInterfaceHandle, path: &str, url: &str, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { self.inner.config.borrow_mut().prohibit_url_by_config( url, Some(self.inner.io.clone()), @@ -161,7 +160,7 @@ impl VcsDownloader for FossilDownloader { target: PackageInterfaceHandle, path: &str, url: &str, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { self.inner.config.borrow_mut().prohibit_url_by_config( url, Some(self.inner.io.clone()), @@ -212,7 +211,7 @@ impl VcsDownloader for FossilDownloader { _from_reference: &str, to_reference: &str, path: &str, - ) -> Result<String> { + ) -> anyhow::Result<String> { let mut output = String::new(); self.execute( vec![ @@ -262,7 +261,7 @@ impl ChangeReportInterface for FossilDownloader { &mut self, _package: PackageInterfaceHandle, path: &str, - ) -> Result<Option<String>> { + ) -> anyhow::Result<Option<String>> { if !self.has_metadata_repository(path) { return Ok(None); } @@ -314,7 +313,7 @@ impl DownloaderInterface for FossilDownloader { path: &str, prev_package: Option<PackageInterfaceHandle>, _output: bool, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { <Self as VcsDownloader>::download(self, package, path, prev_package).await } @@ -324,7 +323,7 @@ impl DownloaderInterface for FossilDownloader { package: PackageInterfaceHandle, path: &str, prev_package: Option<PackageInterfaceHandle>, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { <Self as VcsDownloader>::prepare(self, r#type, package, path, prev_package).await } @@ -333,7 +332,7 @@ impl DownloaderInterface for FossilDownloader { package: PackageInterfaceHandle, path: &str, _output: bool, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { <Self as VcsDownloader>::install(self, package, path).await } @@ -342,7 +341,7 @@ impl DownloaderInterface for FossilDownloader { initial: PackageInterfaceHandle, target: PackageInterfaceHandle, path: &str, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { <Self as VcsDownloader>::update(self, initial, target, path).await } @@ -351,7 +350,7 @@ impl DownloaderInterface for FossilDownloader { package: PackageInterfaceHandle, path: &str, _output: bool, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { <Self as VcsDownloader>::remove(self, package, path).await } @@ -361,7 +360,7 @@ impl DownloaderInterface for FossilDownloader { package: PackageInterfaceHandle, path: &str, prev_package: Option<PackageInterfaceHandle>, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { <Self as VcsDownloader>::cleanup(self, r#type, package, path, prev_package).await } } diff --git a/crates/shirabe/src/downloader/git_downloader.rs b/crates/shirabe/src/downloader/git_downloader.rs index dc27e0c..55cf161 100644 --- a/crates/shirabe/src/downloader/git_downloader.rs +++ b/crates/shirabe/src/downloader/git_downloader.rs @@ -16,7 +16,6 @@ use crate::util::Git as GitUtil; use crate::util::Platform; use crate::util::ProcessExecutor; use crate::util::Url; -use anyhow::Result; use indexmap::IndexMap; use shirabe_external_packages::composer::pcre::{CaptureKey, Preg}; use shirabe_php_shim::{ @@ -63,7 +62,7 @@ impl GitDownloader { &self, _package: PackageInterfaceHandle, path: &str, - ) -> Result<Option<String>> { + ) -> anyhow::Result<Option<String>> { GitUtil::clean_env(&self.inner.process); let path = self.normalize_path(path); if !self.has_metadata_repository(&path) { @@ -258,7 +257,7 @@ impl GitDownloader { path: &str, reference: &str, pretty_version: &str, - ) -> Result<Option<String>> { + ) -> anyhow::Result<Option<String>> { let force: Vec<String> = if self .has_discarded_changes .get(path) @@ -546,7 +545,7 @@ impl GitDownloader { /// @phpstan-return PromiseInterface<void|null> /// @throws \RuntimeException - pub(crate) async fn discard_changes(&mut self, path: &str) -> Result<Option<PhpMixed>> { + pub(crate) async fn discard_changes(&mut self, path: &str) -> anyhow::Result<Option<PhpMixed>> { let path = self.normalize_path(path); let mut output = String::new(); if self.inner.process.borrow_mut().execute_args( @@ -582,7 +581,7 @@ impl GitDownloader { /// @phpstan-return PromiseInterface<void|null> /// @throws \RuntimeException - pub(crate) async fn stash_changes(&mut self, path: &str) -> Result<Option<PhpMixed>> { + pub(crate) async fn stash_changes(&mut self, path: &str) -> anyhow::Result<Option<PhpMixed>> { let path = self.normalize_path(path); let mut output = String::new(); if self.inner.process.borrow_mut().execute_args( @@ -608,7 +607,7 @@ impl GitDownloader { } /// @throws \RuntimeException - pub(crate) fn view_diff(&mut self, path: &str) -> Result<()> { + pub(crate) fn view_diff(&mut self, path: &str) -> anyhow::Result<()> { let path = self.normalize_path(path); let mut output = String::new(); if self.inner.process.borrow_mut().execute_args( @@ -671,7 +670,11 @@ impl GitDownloader { /// The default `VcsDownloader::clean_changes()` behavior: fail if the working copy has /// local changes. - fn fail_on_local_changes(&mut self, package: PackageInterfaceHandle, path: &str) -> Result<()> { + fn fail_on_local_changes( + &mut self, + package: PackageInterfaceHandle, + path: &str, + ) -> anyhow::Result<()> { if self.get_local_changes(package, path)?.is_some() { return Err(RuntimeException { message: format!("Source directory {} has uncommitted changes.", path), @@ -689,7 +692,7 @@ impl DvcsDownloaderInterface for GitDownloader { &self, package: PackageInterfaceHandle, path: String, - ) -> Result<Option<String>> { + ) -> anyhow::Result<Option<String>> { GitDownloader::get_unpushed_changes(self, package, &path) } } @@ -699,7 +702,7 @@ impl ChangeReportInterface for GitDownloader { &mut self, _package: PackageInterfaceHandle, path: &str, - ) -> Result<Option<String>> { + ) -> anyhow::Result<Option<String>> { GitUtil::clean_env(&self.inner.process); if !self.has_metadata_repository(path) { return Ok(None); @@ -777,7 +780,7 @@ impl VcsDownloader for GitDownloader { path: &str, url: &str, prev_package: Option<PackageInterfaceHandle>, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { // Do not create an extra local cache when repository is already local if Filesystem::is_local_path(url) { return Ok(None); @@ -847,7 +850,7 @@ impl VcsDownloader for GitDownloader { package: PackageInterfaceHandle, path: &str, url: &str, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { GitUtil::clean_env(&self.inner.process); let path = self.normalize_path(path); let cache_path = format!( @@ -999,7 +1002,7 @@ impl VcsDownloader for GitDownloader { target: PackageInterfaceHandle, path: &str, url: &str, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { GitUtil::clean_env(&self.inner.process); let path = self.normalize_path(path); if !self.has_metadata_repository(&path) { @@ -1159,7 +1162,7 @@ impl VcsDownloader for GitDownloader { package: PackageInterfaceHandle, path: &str, update: bool, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { GitUtil::clean_env(&self.inner.process); let path = self.normalize_path(path); @@ -1318,7 +1321,7 @@ impl VcsDownloader for GitDownloader { Ok(None) } - fn reapply_changes(&mut self, path: &str) -> Result<()> { + fn reapply_changes(&mut self, path: &str) -> anyhow::Result<()> { let path = self.normalize_path(path); if self .has_stashed_changes @@ -1359,7 +1362,7 @@ impl VcsDownloader for GitDownloader { from_reference: &str, to_reference: &str, path: &str, - ) -> Result<String> { + ) -> anyhow::Result<String> { let path = self.normalize_path(path); let mut args = vec![ "--format=%h - %an: %s".to_string(), diff --git a/crates/shirabe/src/downloader/gzip_downloader.rs b/crates/shirabe/src/downloader/gzip_downloader.rs index b7b92c6..4ea2a32 100644 --- a/crates/shirabe/src/downloader/gzip_downloader.rs +++ b/crates/shirabe/src/downloader/gzip_downloader.rs @@ -12,7 +12,6 @@ use crate::util::Filesystem; use crate::util::HttpDownloader; use crate::util::Platform; use crate::util::ProcessExecutor; -use anyhow::Result; use indexmap::IndexMap; use shirabe_php_shim::{ DIRECTORY_SEPARATOR, PATHINFO_FILENAME, PHP_URL_PATH, PhpMixed, RuntimeException, @@ -87,7 +86,7 @@ impl ArchiveDownloader for GzipDownloader { package: PackageInterfaceHandle, file: &str, path: &str, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { let filename = pathinfo( parse_url( &strtr(&package.get_dist_url().unwrap_or_default(), "\\", "/"), @@ -153,7 +152,7 @@ impl ChangeReportInterface for GzipDownloader { &mut self, package: PackageInterfaceHandle, path: &str, - ) -> Result<Option<String>> { + ) -> anyhow::Result<Option<String>> { self.inner.get_local_changes(package, path) } } @@ -176,7 +175,7 @@ impl crate::downloader::DownloaderInterface for GzipDownloader { path: &str, prev_package: Option<PackageInterfaceHandle>, output: bool, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { self.inner .download(package, path, prev_package, output) .await @@ -188,7 +187,7 @@ impl crate::downloader::DownloaderInterface for GzipDownloader { package: PackageInterfaceHandle, path: &str, prev_package: Option<PackageInterfaceHandle>, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { <Self as ArchiveDownloader>::prepare(self, r#type, package, path, prev_package).await } @@ -197,7 +196,7 @@ impl crate::downloader::DownloaderInterface for GzipDownloader { package: PackageInterfaceHandle, path: &str, output: bool, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { <Self as ArchiveDownloader>::install(self, package, path, output).await } @@ -206,7 +205,7 @@ impl crate::downloader::DownloaderInterface for GzipDownloader { initial: PackageInterfaceHandle, target: PackageInterfaceHandle, path: &str, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { self.inner.update(initial, target, path).await } @@ -215,7 +214,7 @@ impl crate::downloader::DownloaderInterface for GzipDownloader { package: PackageInterfaceHandle, path: &str, output: bool, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { self.inner.remove(package, path, output).await } @@ -225,7 +224,7 @@ impl crate::downloader::DownloaderInterface for GzipDownloader { package: PackageInterfaceHandle, path: &str, prev_package: Option<PackageInterfaceHandle>, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { <Self as ArchiveDownloader>::cleanup(self, r#type, package, path, prev_package).await } } diff --git a/crates/shirabe/src/downloader/hg_downloader.rs b/crates/shirabe/src/downloader/hg_downloader.rs index 650746b..5cc6f34 100644 --- a/crates/shirabe/src/downloader/hg_downloader.rs +++ b/crates/shirabe/src/downloader/hg_downloader.rs @@ -12,7 +12,6 @@ use crate::package::PackageInterfaceHandle; use crate::util::Filesystem; use crate::util::Hg as HgUtils; use crate::util::ProcessExecutor; -use anyhow::Result; use indexmap::IndexMap; use shirabe_php_shim::{PhpMixed, RuntimeException}; @@ -65,7 +64,7 @@ impl VcsDownloader for HgDownloader { _path: &str, _url: &str, _prev_package: Option<PackageInterfaceHandle>, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { if HgUtils::get_version(&self.inner.process).is_none() { return Err(RuntimeException { message: "hg was not found in your PATH, skipping source download".to_string(), @@ -82,7 +81,7 @@ impl VcsDownloader for HgDownloader { package: PackageInterfaceHandle, path: &str, url: &str, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { let hg_utils = HgUtils::new( self.inner.io.clone(), self.inner.config.clone(), @@ -137,7 +136,7 @@ impl VcsDownloader for HgDownloader { target: PackageInterfaceHandle, path: &str, url: &str, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { let hg_utils = HgUtils::new( self.inner.io.clone(), self.inner.config.clone(), @@ -187,7 +186,7 @@ impl VcsDownloader for HgDownloader { from_reference: &str, to_reference: &str, path: &str, - ) -> Result<String> { + ) -> anyhow::Result<String> { let command = vec![ "hg".to_string(), "log".to_string(), @@ -228,7 +227,7 @@ impl ChangeReportInterface for HgDownloader { &mut self, _package: PackageInterfaceHandle, path: &str, - ) -> Result<Option<String>> { + ) -> anyhow::Result<Option<String>> { if !std::path::Path::new(&format!("{}/.hg", path)).is_dir() { return Ok(None); } @@ -280,7 +279,7 @@ impl DownloaderInterface for HgDownloader { path: &str, prev_package: Option<PackageInterfaceHandle>, _output: bool, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { <Self as VcsDownloader>::download(self, package, path, prev_package).await } @@ -290,7 +289,7 @@ impl DownloaderInterface for HgDownloader { package: PackageInterfaceHandle, path: &str, prev_package: Option<PackageInterfaceHandle>, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { <Self as VcsDownloader>::prepare(self, r#type, package, path, prev_package).await } @@ -299,7 +298,7 @@ impl DownloaderInterface for HgDownloader { package: PackageInterfaceHandle, path: &str, _output: bool, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { <Self as VcsDownloader>::install(self, package, path).await } @@ -308,7 +307,7 @@ impl DownloaderInterface for HgDownloader { initial: PackageInterfaceHandle, target: PackageInterfaceHandle, path: &str, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { <Self as VcsDownloader>::update(self, initial, target, path).await } @@ -317,7 +316,7 @@ impl DownloaderInterface for HgDownloader { package: PackageInterfaceHandle, path: &str, _output: bool, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { <Self as VcsDownloader>::remove(self, package, path).await } @@ -327,7 +326,7 @@ impl DownloaderInterface for HgDownloader { package: PackageInterfaceHandle, path: &str, prev_package: Option<PackageInterfaceHandle>, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { <Self as VcsDownloader>::cleanup(self, r#type, package, path, prev_package).await } } diff --git a/crates/shirabe/src/downloader/path_downloader.rs b/crates/shirabe/src/downloader/path_downloader.rs index cfd4889..5dc51b3 100644 --- a/crates/shirabe/src/downloader/path_downloader.rs +++ b/crates/shirabe/src/downloader/path_downloader.rs @@ -20,7 +20,6 @@ use crate::util::Filesystem; use crate::util::HttpDownloader; use crate::util::Platform; use crate::util::ProcessExecutor; -use anyhow::Result; use indexmap::IndexMap; use shirabe_external_packages::symfony::filesystem::Filesystem as SymfonyFilesystem; use shirabe_php_shim::{ @@ -83,7 +82,7 @@ impl PathDownloader { &self, package: PackageInterfaceHandle, path: &str, - ) -> Result<String> { + ) -> anyhow::Result<String> { let url = package.get_dist_url().ok_or_else(|| RuntimeException { message: format!( "The package {} has no dist url configured, cannot install.", @@ -126,7 +125,7 @@ impl PathDownloader { fn compute_allowed_strategies( &self, transport_options: &IndexMap<String, PhpMixed>, - ) -> Result<(i64, Vec<i64>)> { + ) -> anyhow::Result<(i64, Vec<i64>)> { // When symlink transport option is null, both symlink and mirror are allowed let mut current_strategy = Self::STRATEGY_SYMLINK; let mut allowed_strategies = vec![Self::STRATEGY_SYMLINK, Self::STRATEGY_MIRROR]; @@ -242,7 +241,7 @@ impl DownloaderInterface for PathDownloader { path: &str, prev_package: Option<PackageInterfaceHandle>, output: bool, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { let path = Filesystem::trim_trailing_slash(path); let url = package.get_dist_url().ok_or_else(|| RuntimeException { message: format!( @@ -304,7 +303,7 @@ impl DownloaderInterface for PathDownloader { package: PackageInterfaceHandle, path: &str, prev_package: Option<PackageInterfaceHandle>, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { self.inner .prepare(r#type, package, path, prev_package) .await @@ -315,7 +314,7 @@ impl DownloaderInterface for PathDownloader { package: PackageInterfaceHandle, path: &str, output: bool, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { let path = Filesystem::trim_trailing_slash(path); let url = package.get_dist_url().ok_or_else(|| RuntimeException { message: format!( @@ -368,7 +367,7 @@ impl DownloaderInterface for PathDownloader { let mut is_fallback = false; if Self::STRATEGY_SYMLINK == current_strategy { - let symlink_result: Result<anyhow::Result<()>> = + let symlink_result: anyhow::Result<anyhow::Result<()>> = (|| { if Platform::is_windows() { // Implement symlinks as NTFS junctions on Windows @@ -489,7 +488,7 @@ impl DownloaderInterface for PathDownloader { initial: PackageInterfaceHandle, target: PackageInterfaceHandle, path: &str, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { self.inner.update(initial, target, path).await } @@ -498,7 +497,7 @@ impl DownloaderInterface for PathDownloader { package: PackageInterfaceHandle, path: &str, output: bool, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { let path = Filesystem::trim_trailing_slash(path); // realpath() may resolve Windows junctions to the source path, so we'll check for a junction // first to prevent a false positive when checking if the dist and install paths are the same. @@ -590,7 +589,7 @@ impl DownloaderInterface for PathDownloader { package: PackageInterfaceHandle, path: &str, prev_package: Option<PackageInterfaceHandle>, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { self.inner .cleanup(r#type, package, path, prev_package) .await diff --git a/crates/shirabe/src/downloader/perforce_downloader.rs b/crates/shirabe/src/downloader/perforce_downloader.rs index 56d6957..4ca9b64 100644 --- a/crates/shirabe/src/downloader/perforce_downloader.rs +++ b/crates/shirabe/src/downloader/perforce_downloader.rs @@ -14,7 +14,6 @@ use crate::util::Filesystem; use crate::util::Perforce; use crate::util::PerforceInterface; use crate::util::ProcessExecutor; -use anyhow::Result; use indexmap::IndexMap; use shirabe_php_shim::PhpMixed; @@ -111,7 +110,7 @@ impl VcsDownloader for PerforceDownloader { _path: &str, _url: &str, _prev_package: Option<PackageInterfaceHandle>, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { Ok(None) } @@ -120,7 +119,7 @@ impl VcsDownloader for PerforceDownloader { package: PackageInterfaceHandle, path: &str, url: &str, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { let source_ref = package.get_source_reference().map(|s| s.to_string()); let label = self.get_label_from_source_reference(source_ref.clone().unwrap_or_default()); @@ -148,7 +147,7 @@ impl VcsDownloader for PerforceDownloader { target: PackageInterfaceHandle, path: &str, url: &str, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { self.do_install(target, path, url).await } @@ -157,7 +156,7 @@ impl VcsDownloader for PerforceDownloader { from_reference: &str, to_reference: &str, _path: &str, - ) -> Result<String> { + ) -> anyhow::Result<String> { Ok(self .perforce .as_mut() @@ -176,7 +175,7 @@ impl ChangeReportInterface for PerforceDownloader { &mut self, _package: PackageInterfaceHandle, _path: &str, - ) -> Result<Option<String>> { + ) -> anyhow::Result<Option<String>> { self.inner .io .write_error("Perforce driver does not check for local changes before overriding"); @@ -215,7 +214,7 @@ impl DownloaderInterface for PerforceDownloader { path: &str, prev_package: Option<PackageInterfaceHandle>, _output: bool, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { <Self as VcsDownloader>::download(self, package, path, prev_package).await } @@ -225,7 +224,7 @@ impl DownloaderInterface for PerforceDownloader { package: PackageInterfaceHandle, path: &str, prev_package: Option<PackageInterfaceHandle>, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { <Self as VcsDownloader>::prepare(self, r#type, package, path, prev_package).await } @@ -234,7 +233,7 @@ impl DownloaderInterface for PerforceDownloader { package: PackageInterfaceHandle, path: &str, _output: bool, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { <Self as VcsDownloader>::install(self, package, path).await } @@ -243,7 +242,7 @@ impl DownloaderInterface for PerforceDownloader { initial: PackageInterfaceHandle, target: PackageInterfaceHandle, path: &str, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { <Self as VcsDownloader>::update(self, initial, target, path).await } @@ -252,7 +251,7 @@ impl DownloaderInterface for PerforceDownloader { package: PackageInterfaceHandle, path: &str, _output: bool, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { <Self as VcsDownloader>::remove(self, package, path).await } @@ -262,7 +261,7 @@ impl DownloaderInterface for PerforceDownloader { package: PackageInterfaceHandle, path: &str, prev_package: Option<PackageInterfaceHandle>, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { <Self as VcsDownloader>::cleanup(self, r#type, package, path, prev_package).await } } diff --git a/crates/shirabe/src/downloader/phar_downloader.rs b/crates/shirabe/src/downloader/phar_downloader.rs index 4b3fc51..491f07e 100644 --- a/crates/shirabe/src/downloader/phar_downloader.rs +++ b/crates/shirabe/src/downloader/phar_downloader.rs @@ -12,7 +12,6 @@ use crate::package::PackageInterfaceHandle; use crate::util::Filesystem; use crate::util::HttpDownloader; use crate::util::ProcessExecutor; -use anyhow::Result; use indexmap::IndexMap; use shirabe_php_shim::{Phar, PhpMixed}; @@ -69,7 +68,7 @@ impl ArchiveDownloader for PharDownloader { _package: PackageInterfaceHandle, file: &str, path: &str, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { // Can throw an UnexpectedValueException let archive = Phar::new(file.to_string()); archive.extract_to(path, None, true); @@ -87,7 +86,7 @@ impl ChangeReportInterface for PharDownloader { &mut self, package: PackageInterfaceHandle, path: &str, - ) -> Result<Option<String>> { + ) -> anyhow::Result<Option<String>> { self.inner.get_local_changes(package, path) } } @@ -110,7 +109,7 @@ impl DownloaderInterface for PharDownloader { path: &str, prev_package: Option<PackageInterfaceHandle>, output: bool, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { self.inner .download(package, path, prev_package, output) .await @@ -122,7 +121,7 @@ impl DownloaderInterface for PharDownloader { package: PackageInterfaceHandle, path: &str, prev_package: Option<PackageInterfaceHandle>, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { <Self as ArchiveDownloader>::prepare(self, r#type, package, path, prev_package).await } @@ -131,7 +130,7 @@ impl DownloaderInterface for PharDownloader { package: PackageInterfaceHandle, path: &str, output: bool, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { <Self as ArchiveDownloader>::install(self, package, path, output).await } @@ -140,7 +139,7 @@ impl DownloaderInterface for PharDownloader { initial: PackageInterfaceHandle, target: PackageInterfaceHandle, path: &str, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { self.inner.update(initial, target, path).await } @@ -149,7 +148,7 @@ impl DownloaderInterface for PharDownloader { package: PackageInterfaceHandle, path: &str, output: bool, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { self.inner.remove(package, path, output).await } @@ -159,7 +158,7 @@ impl DownloaderInterface for PharDownloader { package: PackageInterfaceHandle, path: &str, prev_package: Option<PackageInterfaceHandle>, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { <Self as ArchiveDownloader>::cleanup(self, r#type, package, path, prev_package).await } } diff --git a/crates/shirabe/src/downloader/rar_downloader.rs b/crates/shirabe/src/downloader/rar_downloader.rs index 88183f9..bf69d14 100644 --- a/crates/shirabe/src/downloader/rar_downloader.rs +++ b/crates/shirabe/src/downloader/rar_downloader.rs @@ -13,7 +13,6 @@ use crate::util::HttpDownloader; use crate::util::IniHelper; use crate::util::Platform; use crate::util::ProcessExecutor; -use anyhow::Result; use indexmap::IndexMap; use shirabe_php_shim::{ PhpMixed, RarArchive, RuntimeException, UnexpectedValueException, class_exists, implode, @@ -72,7 +71,7 @@ impl ArchiveDownloader for RarDownloader { _package: PackageInterfaceHandle, file: &str, path: &str, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { let mut process_error: Option<String> = None; if !Platform::is_windows() { @@ -167,7 +166,7 @@ impl ChangeReportInterface for RarDownloader { &mut self, package: PackageInterfaceHandle, path: &str, - ) -> Result<Option<String>> { + ) -> anyhow::Result<Option<String>> { self.inner.get_local_changes(package, path) } } @@ -190,7 +189,7 @@ impl crate::downloader::DownloaderInterface for RarDownloader { path: &str, prev_package: Option<PackageInterfaceHandle>, output: bool, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { self.inner .download(package, path, prev_package, output) .await @@ -202,7 +201,7 @@ impl crate::downloader::DownloaderInterface for RarDownloader { package: PackageInterfaceHandle, path: &str, prev_package: Option<PackageInterfaceHandle>, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { <Self as ArchiveDownloader>::prepare(self, r#type, package, path, prev_package).await } @@ -211,7 +210,7 @@ impl crate::downloader::DownloaderInterface for RarDownloader { package: PackageInterfaceHandle, path: &str, output: bool, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { <Self as ArchiveDownloader>::install(self, package, path, output).await } @@ -220,7 +219,7 @@ impl crate::downloader::DownloaderInterface for RarDownloader { initial: PackageInterfaceHandle, target: PackageInterfaceHandle, path: &str, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { self.inner.update(initial, target, path).await } @@ -229,7 +228,7 @@ impl crate::downloader::DownloaderInterface for RarDownloader { package: PackageInterfaceHandle, path: &str, output: bool, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { self.inner.remove(package, path, output).await } @@ -239,7 +238,7 @@ impl crate::downloader::DownloaderInterface for RarDownloader { package: PackageInterfaceHandle, path: &str, prev_package: Option<PackageInterfaceHandle>, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { <Self as ArchiveDownloader>::cleanup(self, r#type, package, path, prev_package).await } } diff --git a/crates/shirabe/src/downloader/tar_downloader.rs b/crates/shirabe/src/downloader/tar_downloader.rs index 833a958..6de38c9 100644 --- a/crates/shirabe/src/downloader/tar_downloader.rs +++ b/crates/shirabe/src/downloader/tar_downloader.rs @@ -12,7 +12,6 @@ use crate::package::PackageInterfaceHandle; use crate::util::Filesystem; use crate::util::HttpDownloader; use crate::util::ProcessExecutor; -use anyhow::Result; use indexmap::IndexMap; use shirabe_php_shim::{PharData, PhpMixed}; @@ -69,7 +68,7 @@ impl ArchiveDownloader for TarDownloader { _package: PackageInterfaceHandle, file: &str, path: &str, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { let archive = PharData::new(file.to_string()); archive.extract_to(path, None, true); @@ -82,7 +81,7 @@ impl ChangeReportInterface for TarDownloader { &mut self, package: PackageInterfaceHandle, path: &str, - ) -> Result<Option<String>> { + ) -> anyhow::Result<Option<String>> { self.inner.get_local_changes(package, path) } } @@ -105,7 +104,7 @@ impl DownloaderInterface for TarDownloader { path: &str, prev_package: Option<PackageInterfaceHandle>, output: bool, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { self.inner .download(package, path, prev_package, output) .await @@ -117,7 +116,7 @@ impl DownloaderInterface for TarDownloader { package: PackageInterfaceHandle, path: &str, prev_package: Option<PackageInterfaceHandle>, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { <Self as ArchiveDownloader>::prepare(self, r#type, package, path, prev_package).await } @@ -126,7 +125,7 @@ impl DownloaderInterface for TarDownloader { package: PackageInterfaceHandle, path: &str, output: bool, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { <Self as ArchiveDownloader>::install(self, package, path, output).await } @@ -135,7 +134,7 @@ impl DownloaderInterface for TarDownloader { initial: PackageInterfaceHandle, target: PackageInterfaceHandle, path: &str, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { self.inner.update(initial, target, path).await } @@ -144,7 +143,7 @@ impl DownloaderInterface for TarDownloader { package: PackageInterfaceHandle, path: &str, output: bool, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { self.inner.remove(package, path, output).await } @@ -154,7 +153,7 @@ impl DownloaderInterface for TarDownloader { package: PackageInterfaceHandle, path: &str, prev_package: Option<PackageInterfaceHandle>, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { <Self as ArchiveDownloader>::cleanup(self, r#type, package, path, prev_package).await } } diff --git a/crates/shirabe/src/downloader/vcs_downloader.rs b/crates/shirabe/src/downloader/vcs_downloader.rs index 1c89571..7c5dfb8 100644 --- a/crates/shirabe/src/downloader/vcs_downloader.rs +++ b/crates/shirabe/src/downloader/vcs_downloader.rs @@ -16,7 +16,6 @@ use crate::package::version::VersionGuesser; use crate::package::version::VersionParser; use crate::util::Filesystem; use crate::util::ProcessExecutor; -use anyhow::Result; use indexmap::IndexMap; use shirabe_php_shim::{ InvalidArgumentException, PhpMixed, RuntimeException, array_map, array_shift, explode, @@ -89,7 +88,7 @@ pub trait VcsDownloader: path: &str, url: &str, prev_package: Option<PackageInterfaceHandle>, - ) -> Result<Option<PhpMixed>>; + ) -> anyhow::Result<Option<PhpMixed>>; /// Downloads specific package into specific folder. async fn do_install( @@ -97,7 +96,7 @@ pub trait VcsDownloader: package: PackageInterfaceHandle, path: &str, url: &str, - ) -> Result<Option<PhpMixed>>; + ) -> anyhow::Result<Option<PhpMixed>>; /// Updates specific package in specific folder from initial to target version. async fn do_update( @@ -106,7 +105,7 @@ pub trait VcsDownloader: target: PackageInterfaceHandle, path: &str, url: &str, - ) -> Result<Option<PhpMixed>>; + ) -> anyhow::Result<Option<PhpMixed>>; /// Fetches the commit logs between two commits fn get_commit_logs( @@ -114,7 +113,7 @@ pub trait VcsDownloader: from_reference: &str, to_reference: &str, path: &str, - ) -> Result<String>; + ) -> anyhow::Result<String>; /// Checks if VCS metadata repository has been initialized /// repository example: .git|.svn|.hg @@ -129,7 +128,7 @@ pub trait VcsDownloader: package: PackageInterfaceHandle, path: &str, prev_package: Option<PackageInterfaceHandle>, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { if package.get_source_reference().is_none() { return Err(InvalidArgumentException { message: format!( @@ -144,7 +143,7 @@ pub trait VcsDownloader: let mut urls = self.prepare_urls(package.get_source_urls()); while let Some(url) = array_shift(&mut urls) { - let attempt: Result<Option<PhpMixed>> = self + let attempt: anyhow::Result<Option<PhpMixed>> = self .do_download(package.clone(), path, &url, prev_package.clone()) .await; match attempt { @@ -186,7 +185,7 @@ pub trait VcsDownloader: package: PackageInterfaceHandle, path: &str, prev_package: Option<PackageInterfaceHandle>, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { if r#type == "update" { self.clean_changes(prev_package.clone().unwrap(), path, true) .await?; @@ -207,7 +206,7 @@ pub trait VcsDownloader: _package: PackageInterfaceHandle, path: &str, prev_package: Option<PackageInterfaceHandle>, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { if r#type == "update" && prev_package .clone() @@ -229,7 +228,7 @@ pub trait VcsDownloader: &mut self, package: PackageInterfaceHandle, path: &str, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { if package.get_source_reference().is_none() { return Err(InvalidArgumentException { message: format!( @@ -249,7 +248,7 @@ pub trait VcsDownloader: let mut urls = self.prepare_urls(package.get_source_urls()); while let Some(url) = array_shift(&mut urls) { - let attempt: Result<Option<PhpMixed>> = + let attempt: anyhow::Result<Option<PhpMixed>> = self.do_install(package.clone(), path, &url).await; match attempt { Ok(_) => break, @@ -289,7 +288,7 @@ pub trait VcsDownloader: initial: PackageInterfaceHandle, target: PackageInterfaceHandle, path: &str, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { if target.get_source_reference().is_none() { return Err(InvalidArgumentException { message: format!( @@ -314,7 +313,7 @@ pub trait VcsDownloader: let mut exception: Option<anyhow::Error> = None; while let Some(url) = array_shift(&mut urls) { - let attempt: Result<Option<PhpMixed>> = self + let attempt: anyhow::Result<Option<PhpMixed>> = self .do_update(initial.clone(), target.clone(), path, &url) .await; match attempt { @@ -390,7 +389,7 @@ pub trait VcsDownloader: &mut self, package: PackageInterfaceHandle, path: &str, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { self.io().write_error3( &format!(" - {}", UninstallOperation::format(package, false)), true, @@ -441,7 +440,7 @@ pub trait VcsDownloader: package: PackageInterfaceHandle, path: &str, _update: bool, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { // the default implementation just fails if there are any changes, override in child classes to provide stash-ability if self.get_local_changes(package, path)?.is_some() { return Err(RuntimeException { @@ -455,7 +454,7 @@ pub trait VcsDownloader: } /// Reapply previously stashed changes if applicable, only called after an update (regardless if successful or not) - fn reapply_changes(&mut self, _path: &str) -> Result<()> { + fn reapply_changes(&mut self, _path: &str) -> anyhow::Result<()> { Ok(()) } diff --git a/crates/shirabe/src/downloader/xz_downloader.rs b/crates/shirabe/src/downloader/xz_downloader.rs index 3e61ba5..fe35c92 100644 --- a/crates/shirabe/src/downloader/xz_downloader.rs +++ b/crates/shirabe/src/downloader/xz_downloader.rs @@ -11,7 +11,7 @@ use crate::package::PackageInterfaceHandle; use crate::util::Filesystem; use crate::util::HttpDownloader; use crate::util::ProcessExecutor; -use anyhow::{Result, bail}; +use anyhow::bail; use indexmap::IndexMap; use shirabe_php_shim::PhpMixed; @@ -68,7 +68,7 @@ impl ArchiveDownloader for XzDownloader { _package: PackageInterfaceHandle, file: &str, path: &str, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { let command = ["tar", "-xJf", file, "-C", path]; let mut ignored_output = PhpMixed::Null; @@ -101,7 +101,7 @@ impl ChangeReportInterface for XzDownloader { &mut self, package: PackageInterfaceHandle, path: &str, - ) -> Result<Option<String>> { + ) -> anyhow::Result<Option<String>> { self.inner.get_local_changes(package, path) } } @@ -124,7 +124,7 @@ impl crate::downloader::DownloaderInterface for XzDownloader { path: &str, prev_package: Option<PackageInterfaceHandle>, output: bool, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { self.inner .download(package, path, prev_package, output) .await @@ -136,7 +136,7 @@ impl crate::downloader::DownloaderInterface for XzDownloader { package: PackageInterfaceHandle, path: &str, prev_package: Option<PackageInterfaceHandle>, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { <Self as ArchiveDownloader>::prepare(self, r#type, package, path, prev_package).await } @@ -145,7 +145,7 @@ impl crate::downloader::DownloaderInterface for XzDownloader { package: PackageInterfaceHandle, path: &str, output: bool, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { <Self as ArchiveDownloader>::install(self, package, path, output).await } @@ -154,7 +154,7 @@ impl crate::downloader::DownloaderInterface for XzDownloader { initial: PackageInterfaceHandle, target: PackageInterfaceHandle, path: &str, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { self.inner.update(initial, target, path).await } @@ -163,7 +163,7 @@ impl crate::downloader::DownloaderInterface for XzDownloader { package: PackageInterfaceHandle, path: &str, output: bool, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { self.inner.remove(package, path, output).await } @@ -173,7 +173,7 @@ impl crate::downloader::DownloaderInterface for XzDownloader { package: PackageInterfaceHandle, path: &str, prev_package: Option<PackageInterfaceHandle>, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { <Self as ArchiveDownloader>::cleanup(self, r#type, package, path, prev_package).await } } diff --git a/crates/shirabe/src/downloader/zip_downloader.rs b/crates/shirabe/src/downloader/zip_downloader.rs index 6f3c6e5..428ca2a 100644 --- a/crates/shirabe/src/downloader/zip_downloader.rs +++ b/crates/shirabe/src/downloader/zip_downloader.rs @@ -7,7 +7,6 @@ use crate::io::IOInterfaceImmutable; use crate::package::PackageInterfaceHandle; use crate::util::IniHelper; use crate::util::Platform; -use anyhow::Result; use indexmap::IndexMap; use shirabe_external_packages::composer::pcre::{CaptureKey, Preg}; use shirabe_external_packages::symfony::process::ExecutableFinder; @@ -63,7 +62,7 @@ impl ZipDownloader { package: PackageInterfaceHandle, file: &str, path: &str, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { static WARNED_7ZIP_LINUX: Mutex<bool> = Mutex::new(false); let is_last_chance = !HAS_ZIP_ARCHIVE.lock().unwrap().unwrap_or(false); @@ -191,7 +190,7 @@ impl ZipDownloader { path: &str, package: PackageInterfaceHandle, executable: &str, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { if is_last_chance { return Err(process_error); } @@ -277,10 +276,10 @@ impl ZipDownloader { package: PackageInterfaceHandle, file: &str, path: &str, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { let mut zip_archive = self.zip_archive_object.take().unwrap_or_default(); - let result: Result<Option<PhpMixed>> = (|| { + let result: anyhow::Result<Option<PhpMixed>> = (|| { let retval = if !file_exists(file) || filesize(file).is_none_or(|s| s == 0) { Err(-1i64) } else { @@ -436,7 +435,7 @@ impl ArchiveDownloader for ZipDownloader { package: PackageInterfaceHandle, file: &str, path: &str, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { self.extract_with_system_unzip(package, file, path).await } } @@ -446,7 +445,7 @@ impl ChangeReportInterface for ZipDownloader { &mut self, package: PackageInterfaceHandle, path: &str, - ) -> Result<Option<String>> { + ) -> anyhow::Result<Option<String>> { self.inner.get_local_changes(package, path) } } @@ -469,7 +468,7 @@ impl crate::downloader::DownloaderInterface for ZipDownloader { path: &str, prev_package: Option<PackageInterfaceHandle>, output: bool, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { { let mut unzip_commands = UNZIP_COMMANDS.lock().unwrap(); if unzip_commands.is_none() { @@ -608,7 +607,7 @@ impl crate::downloader::DownloaderInterface for ZipDownloader { package: PackageInterfaceHandle, path: &str, prev_package: Option<PackageInterfaceHandle>, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { <Self as ArchiveDownloader>::prepare(self, r#type, package, path, prev_package).await } @@ -617,7 +616,7 @@ impl crate::downloader::DownloaderInterface for ZipDownloader { package: PackageInterfaceHandle, path: &str, output: bool, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { <Self as ArchiveDownloader>::install(self, package, path, output).await } @@ -626,7 +625,7 @@ impl crate::downloader::DownloaderInterface for ZipDownloader { initial: PackageInterfaceHandle, target: PackageInterfaceHandle, path: &str, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { self.inner.update(initial, target, path).await } @@ -635,7 +634,7 @@ impl crate::downloader::DownloaderInterface for ZipDownloader { package: PackageInterfaceHandle, path: &str, output: bool, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { self.inner.remove(package, path, output).await } @@ -645,7 +644,7 @@ impl crate::downloader::DownloaderInterface for ZipDownloader { package: PackageInterfaceHandle, path: &str, prev_package: Option<PackageInterfaceHandle>, - ) -> Result<Option<PhpMixed>> { + ) -> anyhow::Result<Option<PhpMixed>> { <Self as ArchiveDownloader>::cleanup(self, r#type, package, path, prev_package).await } } |
