zend-patterns / ZendServerSDK

Pure ZF2 CLI for zpk creation and webapi client.
BSD 3-Clause "New" or "Revised" License
22 stars 17 forks source link

Dependency restriction to ZF 2.4.x #81

Closed alexb-uk closed 8 years ago

alexb-uk commented 8 years ago

Hi,

I'm having an issue installing this package via Composer due to a version constraint mismatch between ZF 2.4.x and 2.5.x. I'm doing a spike test project using the latest Apigility Skeleton project but can't get this to work.

> composer require --dev zenddevops/client
Using version ^1.1 for zenddevops/client
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Conclusion: remove zendframework/zendframework 2.5.2
    - Conclusion: don't install zendframework/zendframework 2.5.2

I was about to fork the repo and test to see if ZendServerSDK really does have a dependency on 2.4 but thought I might save myself some time if I posted a message here first.

If you aren't sure I can give it a quick try but having never used the ZendServerSDK before I'm not 100% confident I will spot any issues.

Many Thanks

Alex

slaff commented 8 years ago

Getting the source code is needed if you want to extend further the zs-client itself. If you just want to use it then get the phar file: https://github.com/zend-patterns/ZendServerSDK/raw/master/bin/zs-client.phar.

alexb-uk commented 8 years ago

I was hoping to be able to use Composer to manage the dependency on ZendServerSDK via require-dev. AFAIK you cannot get Composer to pull in a single PHAR file without the mismatched dependencies.

I did fork master to try it and so far its worked perfectly on PHP 5.6 and 2.5.2. See: https://github.com/alexb-uk/ZendServerSDK/commit/ac45affc9d07e89a952288fab26919497c634b1e

Tested so far includes: Adding target, initZpk, monitorGetIssuesListPredefinedFilter, packZpk and installApp.

Would you prefer to limit the ZF dependency to version 2.4.* or could I submit a Pull Request to get it relaxed to >=2.4.0, <3.0.0.

Thanks

slaff commented 8 years ago

@alexb-uk 2.4.0 is the Long Term Zend Framework 2 version. I am fine to relax the rules. It would be great if your PR includes also UnitTests for Service Manager and Event Manager. The reason for this is that they were refactored recently and are not backwards compatible (https://github.com/zendframework/zend-eventmanager/tree/develop/doc/book/migration). This ways we can spot fast enough if there are issues with the latest 2.x Event or Service Manager if somebody decides to break compatibility.

alexb-uk commented 8 years ago

I had not heard of the LTS for ZF2 so thanks a lot for pointing that out.

I'll have a think, I might consider rolling back our project to the LTS version instead.

Cheers

alexb-uk commented 8 years ago

I've had a browse around the source code and it appears from a very basic search that ZendServerSDK itself doesn't have any dependency on Service Manager or Event Manager!?!?

The only sub-dependency was the zendframework/zend-i18n which requires them both. But we should rely on the maintainers of the zend-i18n module to have good integration tests.

If that is the case I would suggest we're safe to proceed with relaxing the constraint BUT we would need to be careful if anyone added a dependency specific to 2.4.x or 2.5.x in the future.

I've run the unit tests on my local dev environment all passed (PHP 5.6 and ZF 2.5.2)

Thoughts?

EDIT: Sorry I missed that zenddevops/webapi depends on zendframework/zend-servicemanager

But the ZendServerWebApiModule project is much more open:

"zendframework/zend-servicemanager" : ">=2.0.0"
slaff commented 8 years ago

Send me Pull Request request :)

On Tue, Dec 1, 2015 at 5:36 PM, alexb-uk notifications@github.com wrote:

I've had a browse around the source code and it appears from a very basic search that ZendServerSDK itself doesn't have any dependency on Service Manager or Event Manager!?!?

The only sub-dependency was the zendframework/zend-i18n which requires them both. But we should rely on the maintainers of the zend-i18n module to have good integration tests.

If that is the case I would suggest we're safe to proceed with relaxing the constraint BUT we would need to be careful if anyone added a dependency specific to 2.4.x or 2.5.x in the future.

I've run the unit tests on my local dev environment all passed (PHP 5.6 and ZF 2.5.2)

Thoughts?

— Reply to this email directly or view it on GitHub https://github.com/zend-patterns/ZendServerSDK/issues/81#issuecomment-161024445 .

alexb-uk commented 8 years ago

@wrightkennethj sorry I didn't follow that :)

I'll send over a Pull Request now but feel free to ignore it if you guys think this requires some more consideration.

See: Pull Request https://github.com/zend-patterns/ZendServerSDK/pull/82