aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/dependency_resolver/policy_interface.rs
blob: b2d126364149d63be7ebb4692018c3e63390db18 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//! ref: composer/src/Composer/DependencyResolver/PolicyInterface.php

use crate::dependency_resolver::Pool;
use crate::package::BasePackageHandle;

pub trait PolicyInterface: std::fmt::Debug {
    fn version_compare(&self, a: BasePackageHandle, b: BasePackageHandle, operator: &str) -> bool;

    fn select_preferred_packages(
        &self,
        pool: &Pool,
        literals: Vec<i64>,
        required_package: Option<String>,
    ) -> Vec<i64>;
}