aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/downloader
diff options
context:
space:
mode:
Diffstat (limited to 'crates/shirabe/src/downloader')
-rw-r--r--crates/shirabe/src/downloader/archive_downloader.rs13
-rw-r--r--crates/shirabe/src/downloader/change_report_interface.rs3
-rw-r--r--crates/shirabe/src/downloader/download_manager.rs49
-rw-r--r--crates/shirabe/src/downloader/dvcs_downloader_interface.rs3
-rw-r--r--crates/shirabe/src/downloader/file_downloader.rs29
-rw-r--r--crates/shirabe/src/downloader/fossil_downloader.rs25
-rw-r--r--crates/shirabe/src/downloader/git_downloader.rs33
-rw-r--r--crates/shirabe/src/downloader/gzip_downloader.rs17
-rw-r--r--crates/shirabe/src/downloader/hg_downloader.rs23
-rw-r--r--crates/shirabe/src/downloader/path_downloader.rs19
-rw-r--r--crates/shirabe/src/downloader/perforce_downloader.rs23
-rw-r--r--crates/shirabe/src/downloader/phar_downloader.rs17
-rw-r--r--crates/shirabe/src/downloader/rar_downloader.rs17
-rw-r--r--crates/shirabe/src/downloader/tar_downloader.rs17
-rw-r--r--crates/shirabe/src/downloader/vcs_downloader.rs31
-rw-r--r--crates/shirabe/src/downloader/xz_downloader.rs18
-rw-r--r--crates/shirabe/src/downloader/zip_downloader.rs25
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
}
}