aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/downloader/svn_downloader.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/shirabe/src/downloader/svn_downloader.rs')
-rw-r--r--crates/shirabe/src/downloader/svn_downloader.rs11
1 files changed, 6 insertions, 5 deletions
diff --git a/crates/shirabe/src/downloader/svn_downloader.rs b/crates/shirabe/src/downloader/svn_downloader.rs
index 162e91c..f3683dd 100644
--- a/crates/shirabe/src/downloader/svn_downloader.rs
+++ b/crates/shirabe/src/downloader/svn_downloader.rs
@@ -9,6 +9,7 @@ use crate::config::Config;
use crate::downloader::DownloaderInterface;
use crate::downloader::VcsDownloaderBase;
use crate::io::IOInterface;
+use crate::io::IOInterfaceImmutable;
use crate::package::PackageInterface;
use crate::repository::VcsRepository;
use crate::util::Filesystem;
@@ -23,7 +24,7 @@ pub struct SvnDownloader {
impl SvnDownloader {
pub fn new(
- io: Box<dyn IOInterface>,
+ io: std::rc::Rc<std::cell::RefCell<dyn IOInterface>>,
config: std::rc::Rc<std::cell::RefCell<Config>>,
process: std::rc::Rc<std::cell::RefCell<ProcessExecutor>>,
fs: std::rc::Rc<std::cell::RefCell<Filesystem>>,
@@ -44,7 +45,7 @@ impl SvnDownloader {
SvnUtil::clean_env();
let mut util = SvnUtil::new(
url.to_string(),
- self.inner.io.clone_box(),
+ self.inner.io.clone(),
self.inner.config.clone(),
Some(self.inner.process.clone()),
);
@@ -126,7 +127,7 @@ impl SvnDownloader {
let mut util = SvnUtil::new(
url.to_string(),
- self.inner.io.clone_box(),
+ self.inner.io.clone(),
self.inner.config.clone(),
Some(self.inner.process.clone()),
);
@@ -186,7 +187,7 @@ impl SvnDownloader {
) -> anyhow::Result<String> {
let mut util = SvnUtil::new(
base_url.to_string(),
- self.inner.io.clone_box(),
+ self.inner.io.clone(),
self.inner.config.clone(),
Some(self.inner.process.clone()),
);
@@ -381,7 +382,7 @@ impl SvnDownloader {
let mut util = SvnUtil::new(
base_url,
- self.inner.io.clone_box(),
+ self.inner.io.clone(),
self.inner.config.clone(),
Some(self.inner.process.clone()),
);