I have an application A which has a composer.json file defining a dependency on package P, which is my own new shiny package. My package P has a composer.json file, which defines dependencies on library L and framework F. My package P has no remote repository yet and it's not yet published on packagist.org - I'm basically tinkering on it, trying out different things by running application A in the browser and modifying my package P continuously, which application A depends on.
There are some problems which really complicate the workflow for me:
1) Defining the dependency from A on P is only possible using a local repository, like described here: https://getcomposer.org/doc/05-repositories.md The problem is that this forces me to commit every change to P before I can actually test it on A.
2) Refering to 1) this means that I have to run composer update
everytime I commited a change to P. (Which I don't want to commit in the first place.)
3) On the other side, when not using a local repository in P, I can not define a real dependency from A on P which means running composer install
will not install the dependencies L and F, defined in the composer.json file of P.
So, in my oppinion there are two possible workflows:
1) Commit changes in P, composer update
in A and see how the change worked out.
2) Don't use local repositories as dependencies and just copy the dependencies, defined in the composer.json file of P to the composer.json file of A to be able to use composer install
to get dependencies L and F.
Basically I'm searching for a workflow to develop a new composer package, where I can run composer install/update
to install all 3rd party dependencies, but without the need to commit changes in my own local packages to test changes.
Is there any solution to the mentioned problems at all?
Thanks a lot!