blob: 05349c2d97b281f92a08c161204ea1b82a10e5d6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
//! ref: composer/src/Composer/DependencyResolver/Operation/InstallOperation.php
use crate::dependency_resolver::operation::SolverOperation;
use crate::package::PackageInterfaceHandle;
#[derive(Debug, Clone)]
pub struct InstallOperation {
pub(crate) package: PackageInterfaceHandle,
}
impl InstallOperation {
pub fn new(package: PackageInterfaceHandle) -> Self {
Self { package }
}
pub fn get_package(&self) -> PackageInterfaceHandle {
self.package.clone()
}
pub fn show(&self, lock: bool) -> String {
Self::format(self.package.clone(), lock)
}
pub fn format(package: PackageInterfaceHandle, lock: bool) -> String {
format!(
"{}<info>{}</info> (<comment>{}</comment>)",
if lock { "Locking " } else { "Installing " },
package.get_pretty_name(),
package.get_full_pretty_version(true, crate::package::DisplayMode::SourceRefIfDev),
)
}
}
impl SolverOperation for InstallOperation {
const TYPE: &'static str = "install";
}
impl std::fmt::Display for InstallOperation {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
write!(f, "{}", self.show(false))
}
}
|