-
Notifications
You must be signed in to change notification settings - Fork 161
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merging files installed to vendor by other packages does not work on initial run #165
Comments
Addon: It works as expected, when I have no (or an empy) I just need to run update, additional files are found, merged and deps installed 👍
|
Halp! Can anyone shed some light on this? |
Having composer-merge-plugin install packages specified by files which are provisioned by other packages is not supported. This is a "chicken and egg" problem similar to the problem that composer-merge-plugin works around for it's own installation (see #170). Composer-merge-plugin adds additional data to Composer's internal dependency resolver at the beginning of any Composer install/update action. Composer takes over from that point and actually installs the resolved packages. Any data that is not available on the local disk at the start of the install/update action is not available for either Composer or composer-merge-plugin to examine. If the use case of gathering configuration from packages as they are provisioned were to be supported, composer-merge-plugin would need to at minimum recompute its configuration following every package install and then trigger an additional Composer run if that configuration was different before & after the prior run. In the most pathological case this could trigger infinite Composer runs if each package provisioned a new configuration file that matched the composer-merge-plugin include files pattern and that config specified another package which did the same. Ultimately the problem is that we cannot traverse and verify the internal consistency of a configuration graph until that entire graph is known. |
I am playing around with a setup where I want to include (merge)
composer.assets.json
files which reside invendor
and are therefore not available on the first run.My
composer.json
.First run...
This actually looks good when reading the messages:
For some reason the log says:
Looks like an install, but that should be an update.
But here the additional packages are not installed, I need another run for that:
Anything I have missed here?
CC: @cebe
The text was updated successfully, but these errors were encountered: