Skip to content
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

Separate subpackages into their own repositories and make payum/payum composer.json only repository #912

Open
Tetragramat opened this issue May 20, 2021 · 2 comments

Comments

@Tetragramat
Copy link
Contributor

Tetragramat commented May 20, 2021

Installing payum/payum should be discuragued in favor of installing payum/core and gateways separately.
Having composer.json in payum/payum to be merge of requirements of all it's packages is error prone and so sub-packages should be separated into their own repositories and payum/payum should turn into composer.json repository that requires it's original subpackages as backward compatibility.
Also there is issue with illusion of payum gateway packages being maintained since every release of new version creates new version of all gateway packages even thought there was no change in their code.

@pierredup
Copy link
Member

pierredup commented Jul 15, 2021

Installing payum/payum should be discuragued in favor of installing payum/core and gateways separately.

I agree with this and is probably something that can just be updated in the documentation, and the package marked as abandoned in Packagist (with payum/core suggested as a replacement).

sub-packages should be separated into their own repositories and payum/payum should turn into composer.json repository that requires it's original subpackages

I think keeping payum/payum as a mono-repo that contains all the packages has its benefits and it makes a lot of integration and development a lot easier. This repo is then split into the separate sub-repositories, which can be installed on their own

every release of new version creates new version of all gateway packages even thought there was no change in their code

This can be addressed in the subtree-split process when creating a new tag so that only sub-packages that have changes get a new tag. This is something that Symfony also did recently. Previously, any new version in symfony/symfony created a new version in all the components, until recently where they started to only create new versions of components if there were changes. I think we can follow the same rule here.

@makasim
Copy link
Member

makasim commented Jul 15, 2021

I think keeping payum/payum as a mono-repo that contains all the packages has its benefits and it makes a lot of integration and development a lot easier. This repo is then split into the separate sub-repositories, which can be installed on their own

True. Ease of development is main reason this repo exists.

every release of new version creates new version of all gateway packages even thought there was no change in their code

That's not exactly true. The new tag is created only if there are changes in the component since last tag. See https://github.com/Payum/Payum/blob/master/bin/release#L46

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants