aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/command/audit_command.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/shirabe/src/command/audit_command.rs')
-rw-r--r--crates/shirabe/src/command/audit_command.rs110
1 files changed, 54 insertions, 56 deletions
diff --git a/crates/shirabe/src/command/audit_command.rs b/crates/shirabe/src/command/audit_command.rs
index 082afdc2..0eee0036 100644
--- a/crates/shirabe/src/command/audit_command.rs
+++ b/crates/shirabe/src/command/audit_command.rs
@@ -44,6 +44,60 @@ impl AuditCommand {
.expect("AuditCommand::configure uses static, valid metadata");
command
}
+
+ fn get_packages(
+ &self,
+ composer: &PartialComposerHandle,
+ input: std::rc::Rc<std::cell::RefCell<dyn InputInterface>>,
+ ) -> anyhow::Result<Vec<crate::package::PackageInterfaceHandle>> {
+ let composer = crate::composer::composer_full(composer);
+ if input
+ .borrow()
+ .get_option("locked")?
+ .as_bool()
+ .unwrap_or(false)
+ {
+ let locker = composer.get_locker().clone();
+ let mut locker = locker.borrow_mut();
+ if !locker.is_locked() {
+ return Err(UnexpectedValueException {
+ message: "Valid composer.json and composer.lock files are required to run this command with --locked".to_string(),
+ code: 0,
+ }.into());
+ }
+ let locked_repo = locker.get_locked_repository(
+ !input
+ .borrow()
+ .get_option("no-dev")?
+ .as_bool()
+ .unwrap_or(false),
+ )?;
+ return locked_repo.borrow_mut().get_packages();
+ }
+
+ let root_pkg = composer.get_package();
+ let local_repo = composer
+ .get_repository_manager()
+ .borrow()
+ .get_local_repository();
+ let mut installed_repo = InstalledRepository::new(vec![local_repo]);
+
+ if input
+ .borrow()
+ .get_option("no-dev")?
+ .as_bool()
+ .unwrap_or(false)
+ {
+ return Ok(RepositoryUtils::filter_required_packages(
+ &installed_repo.get_packages()?,
+ root_pkg.clone().into(),
+ false,
+ vec![],
+ ));
+ }
+
+ installed_repo.get_packages()
+ }
}
impl Command for AuditCommand {
@@ -255,59 +309,3 @@ impl BaseCommand for AuditCommand {
crate::delegate_base_command_trait_impls_to_inner!(base_command_data);
}
-
-impl AuditCommand {
- fn get_packages(
- &self,
- composer: &PartialComposerHandle,
- input: std::rc::Rc<std::cell::RefCell<dyn InputInterface>>,
- ) -> anyhow::Result<Vec<crate::package::PackageInterfaceHandle>> {
- let composer = crate::composer::composer_full(composer);
- if input
- .borrow()
- .get_option("locked")?
- .as_bool()
- .unwrap_or(false)
- {
- let locker = composer.get_locker().clone();
- let mut locker = locker.borrow_mut();
- if !locker.is_locked() {
- return Err(UnexpectedValueException {
- message: "Valid composer.json and composer.lock files are required to run this command with --locked".to_string(),
- code: 0,
- }.into());
- }
- let locked_repo = locker.get_locked_repository(
- !input
- .borrow()
- .get_option("no-dev")?
- .as_bool()
- .unwrap_or(false),
- )?;
- return locked_repo.borrow_mut().get_packages();
- }
-
- let root_pkg = composer.get_package();
- let local_repo = composer
- .get_repository_manager()
- .borrow()
- .get_local_repository();
- let mut installed_repo = InstalledRepository::new(vec![local_repo]);
-
- if input
- .borrow()
- .get_option("no-dev")?
- .as_bool()
- .unwrap_or(false)
- {
- return Ok(RepositoryUtils::filter_required_packages(
- &installed_repo.get_packages()?,
- root_pkg.clone().into(),
- false,
- vec![],
- ));
- }
-
- installed_repo.get_packages()
- }
-}