aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/command/create_project_command.rs
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-06-10 02:41:34 +0900
committernsfisis <nsfisis@gmail.com>2026-06-10 02:46:18 +0900
commit2d474e91e49c7343d28198eff2b5bbbed9afbcee (patch)
tree8c1ab321dfa5ddc1ca9d2871eb06a6fde6b2970b /crates/shirabe/src/command/create_project_command.rs
parente583112899cbea7494ffdd73d7de380dd5f808c4 (diff)
downloadphp-shirabe-2d474e91e49c7343d28198eff2b5bbbed9afbcee.tar.gz
php-shirabe-2d474e91e49c7343d28198eff2b5bbbed9afbcee.tar.zst
php-shirabe-2d474e91e49c7343d28198eff2b5bbbed9afbcee.zip
feat(phase-c): resolve cross-module phase-b TODOs
Diffstat (limited to 'crates/shirabe/src/command/create_project_command.rs')
-rw-r--r--crates/shirabe/src/command/create_project_command.rs18
1 files changed, 4 insertions, 14 deletions
diff --git a/crates/shirabe/src/command/create_project_command.rs b/crates/shirabe/src/command/create_project_command.rs
index c49d2fc..bf00371 100644
--- a/crates/shirabe/src/command/create_project_command.rs
+++ b/crates/shirabe/src/command/create_project_command.rs
@@ -293,7 +293,7 @@ impl CreateProjectCommand {
io.clone(),
&config,
package_name,
- &*platform_requirement_filter,
+ platform_requirement_filter.clone(),
directory.clone(),
package_version,
stability,
@@ -334,17 +334,10 @@ impl CreateProjectCommand {
.get_config()
.borrow()
.get_repositories();
- // TODO(phase-b): generate_repository_name expects existing repos as
- // IndexMap<String, Box<dyn RepositoryInterface>>; pass empty placeholder.
- let _ = &composer_json_repositories_config;
- let placeholder_existing: IndexMap<
- String,
- crate::repository::RepositoryInterfaceHandle,
- > = IndexMap::new();
let name = RepositoryFactory::generate_repository_name(
&PhpMixed::Int(index as i64),
&repo_config,
- &placeholder_existing,
+ &composer_json_repositories_config,
);
let mut config_source = JsonConfigSource::new(
std::rc::Rc::new(std::cell::RefCell::new(JsonFile::new(
@@ -595,7 +588,7 @@ impl CreateProjectCommand {
io: std::rc::Rc<std::cell::RefCell<dyn IOInterface>>,
config: &std::rc::Rc<std::cell::RefCell<Config>>,
package_name: &str,
- platform_requirement_filter: &dyn PlatformRequirementFilterInterface,
+ platform_requirement_filter: std::rc::Rc<dyn PlatformRequirementFilterInterface>,
directory: Option<String>,
mut package_version: Option<String>,
mut stability: Option<String>,
@@ -850,14 +843,11 @@ impl CreateProjectCommand {
std::rc::Rc::new(std::cell::RefCell::new(repository_set)),
Some(&mut platform_repo),
)?;
- // TODO(phase-b): platform_requirement_filter is &dyn here but VersionSelector expects
- // Option<Box<dyn ...>>; pass None as placeholder.
- let _ = platform_requirement_filter;
let package = version_selector.find_best_candidate(
&name,
package_version.as_deref(),
&stability,
- None,
+ Some(platform_requirement_filter.clone()),
0,
Some(io.clone()),
PhpMixed::Bool(true),