Merged
Conversation
Contributor
|
🚀 Preview is available for this pull request. |
fac7d78 to
ac0daf1
Compare
73e9c67 to
490bcd6
Compare
af475e3 to
26762e1
Compare
a4c3e15 to
aae3c27
Compare
b3ca917 to
5141f9f
Compare
5940ca5 to
ac2dd3a
Compare
1032072 to
abe64fa
Compare
e28495f to
6508518
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Related Issue
Closes #272
Follow-up: #274
Motivation / Context
--working-dirinstead of capturing the process cwd while the container definitions are assembled.Changes
--working-dir/-dand--auto-updateoptions through the Symfony application input definition.dev-tools:self-updatewith standaloneself-updateandselfupdatealiases; the update target is inferred from whether the active DevTools package lives under Composer global or the current project installation.FAST_FORWARD_SKIP_VERSION_CHECKcontexts, and non-blocking on failures.GITHUB_ACTIONS,CI, Composer test runs, and truthy env flags) behindRuntimeEnvironmentInterfaceso output, process queue rendering, and self-update checks share one interpretation.isRegisteredCommand()for active-project conflict checks.ClassReflectionhelper so command metadata lookup can read attributes as normalized named arguments without repeating rawReflectionClassboilerplate.composer code-style; aliases known to belong to Composer itself and root scripts from the active project are filtered before proxy registration.FileLocatorInterfacelazily so project resource lookup sees the current working directory after the application applies--working-dir.Verification
composer dev-toolscomposer dev-tools:fixcomposer dev-tools phpdoccomposer dev-tools tests -- --filter='PluginTest|DevToolsCommandProviderTest'composer dev-tools tests -- --filter='(SelfUpdate|DevToolsTest|DevToolsCommandProviderTest)'composer dev-tools tests -- --filter='DevToolsServiceProviderTest'composer dev-tools tests -- --filter='(DevToolsTest|SelfUpdateCommandTest)'composer dev-tools tests -- --filter='SelfUpdateCommandTest|DevToolsTest'composer dev-tools tests -- --filter='(ClassReflectionTest|DevToolsCommandLoaderTest|SelfUpdateCommandTest|DevToolsTest)'composer dev-tools tests -- --filter='(ClassReflectionTest|SelfUpdateCommandTest|ComposerSelfUpdateRunnerTest|VersionCheckNotifierTest|DevToolsCommandLoaderTest|DevToolsTest)'composer dev-tools tests -- --filter=VersionCheckNotifierTestcomposer dev-tools tests -- --filter='(RuntimeEnvironmentTest|VersionCheckNotifierTest|ProcessQueueTest|OutputFormatLoggerTest)'composer dev-tools tests -- --filter='(RuntimeEnvironmentTest|VersionCheckNotifierTest|ProcessQueueTest|OutputFormatLoggerTest|DevToolsTest)'composer dev-tools tests -- --filter=SelfUpdateCommandTest --coverage=.dev-tools/coverage/self-update-commandcomposer dev-tools tests -- --filter='(SelfUpdateCommandTest|ComposerSelfUpdateScopeResolverTest|DevToolsTest)' --coverage=.dev-tools/coverage/self-update-scopephp bin/dev-tools.php self-update --help --no-ansiphp /Users/mentordosnerds/Sites/github.com/php-fast-forward/dev-tools/bin/dev-tools.php --working-dir=/Users/mentordosnerds/Sites/github.com/php-fast-forward/dev-tools list --no-ansifrom/tmp--working-dirreturns status 1 with a clean error messageDocumentation / Generated Output
docs/updatedChangelog
CHANGELOG.mdentryReviewer Notes
dev-tools:self-updateis the canonical command name;self-updateandselfupdateremain available only on the standalone DevTools binary becauseself-updateis reserved by Composer. There is no--globaloverride: global updates are selected only when the running DevTools package is installed under Composer global.Composer\Console\Applicationand does not inspect Composer package files. It asks the active DevTools plugin contract whether command names or aliases are registered/reserved in Composer before returning proxies.ClassReflectionis intentionally small and local;roave/better-reflectionwould be more useful if DevTools needed source analysis without loading classes, which is not the case for the current command metadata flow.--workspace-dirnormalization is intentionally left to Normalize workspace directory handling for generated DevTools artifacts #274 so this PR only fixes the current--working-dirresource lookup bug without broadening the path policy surface.