laminas / laminas-component-installer

Composer plugin for injecting modules and configuration providers into application configuration
https://docs.laminas.dev/laminas-component-installer/
BSD 3-Clause "New" or "Revised" License
27 stars 12 forks source link

Deprecation Notice when using composer 2.3.6 #47

Closed jonkerw85 closed 2 years ago

jonkerw85 commented 2 years ago

Bug Report

Q A
Version(s) x.y.z
Composer 2.3.6
laminas-zendframework-bridge 1.5.0

Summary

When executing composer install the following deprecation notice is shown Deprecation Notice: Not passing a repository manager when calling defaultRepos is deprecated since Composer 2.3.6, use defaultReposWithDefaultManager() instead if you cannot get a manager. in phar:///usr/bin/composer/src/Composer/Repository/RepositoryFactory.php:100

How to reproduce

composer install (with composer 2.3.6)

Expected behavior

No deprecation notice

image

froschdesign commented 2 years ago

This information is missing in the release notes: https://github.com/composer/composer/releases/tag/2.3.6 Related changes: https://github.com/composer/composer/pull/10799

And it looks like Composer is not following semantic versioning here. :disappointed:

boesing commented 2 years ago

They stopped doing so starting with composer v2.3.0 They try to avoid having new majors every few months while still want to be able to quickly adapt to new stuff.

So actually, composer is becoming symfony. I probably won't write any complex composer plugin anymore - its already quite annoying to have issues fixed in the component-installer, dependency-plugin and so on.

But what I can say is that Jordi is really careful with breaking changes and reports stuff to plugin repositories ahead of a release (usually). I've also already seen fixes from Jordi in plugin repositories and thus, its not just breaking stuff in a YOLO way. But still a little bit annoying.


Anyways, I'd suggest to ignore the fact. Imho projects should try to get rid of the bridge and update to the latest laminas versions. We started adding the bridge as conflicts in the latest releases of many packages already and thus projects are already blocked from updating when the bridge is still required somewhere.

Not sure if we should continue work on this library. The bridge was meant to provide a migration layer between zendframework and laminas. Projects already had 2 years to migrate tho.

I'd rather mark this repository as abandoned while also archiving it instead of working on issues like this or fixing stuff like laminas/laminas-zendframework-bridge#94

froschdesign commented 2 years ago

Imho projects should try to get rid of the bridge…

This is the best option.

boesing commented 2 years ago

Oh btw, maybe this issue is related to the dependency-plugin rather than to this project. I can't see where this is used here - we do not even have a dependency to composer (besides the autoloader).

Can you confirm this @wjonkerhulst? Could you probably rm -rf vendor/laminas/laminas-dependency-plugin and re-run composer install afterwards?

Ocramius commented 2 years ago

Not sure if we should continue work on this library. The bridge was meant to provide a migration layer between zendframework and laminas. Projects already had 2 years to migrate tho.

Also, most laminas libraries now explicitly conflict with the bridge-compatible versions of zendframework counterparts.

jonkerw85 commented 2 years ago

@boesing This is the ouput. image

Anyway, I will look into removing the dependency on this and other obsolete packages.

jonkerw85 commented 2 years ago

@boesing This library is still part of the API tools skeleton (https://github.com/laminas-api-tools/api-tools-skeleton/blob/1.8.x/composer.json)

jonkerw85 commented 2 years ago

I think I have been able to trace the error back to the laminas/laminas-component-installer package. I have removed the packages one by one to see if the errors would disappear. The depreciation notice is not displayed anymore when removing the laminas/laminas-component-installer package from the project.

boesing commented 2 years ago

Thanks for investigating that! the component -installer is still officially supported and thus should be fixed.

I'll move this issue to the appropriate component.

boesing commented 2 years ago

@wjonkerhulst v3 is out since yesterday. The deprecation message should be gone after updating to v3. Feel free to give me a quick feedback if that fixed it for you.