aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/util
AgeCommit message (Collapse)Author
7 daysrefactor(composer): represent composer via trait-based handlesrefactor/composer-handlesnsfisis
Replace the PartialComposer/Composer structs and the single Rc<RefCell<PartialOrFullComposer>> enum with PartialComposer and Composer traits (Composer: PartialComposer), InnerPartialComposer / InnerFullComposer data structs, and the handle types FullComposerHandle (impl Composer) and AnyComposerHandle (polymorphic enum, impl PartialComposer), plus their weak variants. Factory builds the full and partial graphs via separate Rc::new_cyclic branches that share a build_composer_base helper. Call sites now use trait methods that encapsulate borrowing instead of borrow_partial() / composer_full*(). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
8 daysrefactor(package): pass package handles by value throughoutnsfisis
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
8 daysfeat(factory): construct PluginManager after Rc::new_cyclicnsfisis
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
9 daysrefactor(io): share IOInterface via Rc<RefCell<dyn _>> handlensfisis
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
10 daysrefactor(package): introduce Rc<RefCell<_>> handles for packagesnsfisis
PHP packages have reference semantics, so introduce shared-ownership handles over an AnyPackage enum (PackageInterfaceHandle and friends) and replace Box<dyn PackageInterface> throughout. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
11 daysrefactor(semver): change ConstraintInterface to a closed enumnsfisis
Replace the dyn ConstraintInterface trait objects with an AnyConstraint enum closing over its four implementors (Simple, Multi, MatchAll, MatchNone), mirroring the earlier Rule enum conversion. Rename constraint.rs to simple_constraint.rs to match the renamed Constraint type. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
12 daysrefactor(promise): drop \React\Promisensfisis
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
12 daysrefactor(promise): rewrite promise bodies to async/awaitnsfisis
Mechanically convert promise-returning function bodies to async/await: resolve() returns the value directly, forwarding calls get .await, and simple .then chains become await sequences. Also collapse the installer double-Option (Result<Option<Option<PhpMixed>>> -> Result<Option<PhpMixed>>). Hard spots that depend on the Loop::wait / job-machine boundary (accept/reject orchestration, closures capturing &mut self, batch waits) are left intact and marked with TODO(phase-c-promise) for manual porting. The crate does not compile yet; traits still need #[async_trait]. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
12 daysrefactor(promise): change functions returning PromiseInterface to async fnnsfisis
13 daysrefactor: share Pool via Rc<RefCell>nsfisis
Convert Pool to Rc<RefCell<Pool>> so Solver, Decisions, and RuleSetGenerator share it, resolving the todo!() placeholders that blocked the dependency resolver (Phase C shared ownership). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
13 daysrefactor(php-shim): remove unnecessary methodsnsfisis
13 daysrefactor(composer): unify Composer/PartialComposer via Rc handlesnsfisis
Model PHP's `Composer extends PartialComposer` as a PartialOrFullComposer enum and merge partial_composer.rs into composer.rs. Introduce ComposerHandle / PartialComposerHandle (plus their Weak variants) so the graph can be shared, and build it at once with Rc::new_cyclic in the factory to resolve the back-reference cycles. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20refactor: re-export module items to shorten import pathsnsfisis
2026-05-20fix(compile): fix all remaining compile errorsnsfisis
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-19fix(compile): fix more random compile errorsnsfisis
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-19fix(compile): fix various compile errorsnsfisis
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-17fix(compile): extract constants from traits to make them dyn-compatiblensfisis
2026-05-17fix(shirabe): correct invalid import paths and add missing dependencynsfisis
2026-05-17fix(php-shim): add missing stub functions, constants, and typesnsfisis
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-17chore(style): cargo fmtnsfisis
2026-05-16feat(port): port RemoteFilesystem.phpnsfisis
2026-05-16feat(port): port Filesystem.phpnsfisis
2026-05-16feat(port): port CurlDownloader.phpnsfisis
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-16feat(port): port Git.phpnsfisis
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-16feat(port): port Perforce.phpnsfisis
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-16feat(port): port ProcessExecutor.phpnsfisis
2026-05-16feat(port): port HttpDownloader.phpnsfisis
2026-05-16feat(port): port NoProxyPattern.phpnsfisis
2026-05-16feat(port): port Svn.phpnsfisis
2026-05-16feat(port): port AuthHelper.phpnsfisis
2026-05-16feat(port): port Platform.phpnsfisis
2026-05-16feat(port): port GitLab.phpnsfisis
2026-05-16feat(port): port ZipDownloader.phpnsfisis
2026-05-16feat(port): port Bitbucket.php, GitDriver.php, GitHub.php, BumpCommand.php, ↵nsfisis
VersionSelector.php
2026-05-16feat(port): port SvnDownloader.php, FossilDriver.php, Request.php, ↵nsfisis
PathRepository.php, StreamContextFactory.php Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-16feat(port): port ConfigValidator.phpnsfisis
2026-05-16feat(port): port TlsHelper.phpnsfisis
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-16feat(port): port ProxyManager.phpnsfisis
2026-05-16feat(port): port RequestProxy.phpnsfisis
2026-05-16feat(port): port PackageSorter.phpnsfisis
2026-05-15feat(port): port Url.phpnsfisis
2026-05-15feat(port): port Loop.phpnsfisis
2026-05-15feat(port): port Hg.phpnsfisis
2026-05-15feat(port): port ErrorHandler.phpnsfisis
2026-05-15feat(port): port ProxyItem.phpnsfisis
2026-05-15feat(port): port Response.phpnsfisis
2026-05-15feat(port): port Forgejo.phpnsfisis
2026-05-15feat(port): port Zip.phpnsfisis
Add zip crate dependency and ZipArchive stub to shirabe-php-shim. Also add dirname and stream_get_contents shim functions.
2026-05-14feat(port): port Silencer.phpnsfisis
2026-05-14feat(port): port ForgejoUrl.phpnsfisis