Skip to content

Replaced ArrayInterface with OptionSourceInterface #19308

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

Closed

Conversation

sreichel
Copy link
Contributor

@sreichel sreichel commented Nov 21, 2018

Description (*)

lib\internal\Magento\Framework\Option\ArrayInterface.php

/**
 * @todo Remove in favor of the ancestor interface
 */
interface ArrayInterface extends \Magento\Framework\Data\OptionSourceInterface

Replaced all occurrences and marked ArrayInterface as deprecated.

Fixed Issues (if relevant)

  1. n/a

Manual testing scenarios (*)

  1. n/a

Contribution checklist (*)

  • Pull request has a meaningful description of its purpose
  • All commits are accompanied by meaningful commit messages
  • All new or changed code is covered with unit/integration tests (if applicable)
  • All automated tests passed successfully (all builds on Travis CI are green)

@magento-engcom-team
Copy link
Contributor

Hi @sreichel. Thank you for your contribution
Here is some useful tips how you can test your changes using Magento test environment.
Add the comment under your pull request to deploy test or vanilla Magento instance:

  • @magento-engcom-team give me test instance - deploy test instance based on PR changes
  • @magento-engcom-team give me 2.3-develop instance - deploy vanilla Magento instance

For more details, please, review the Magento Contributor Assistant documentation

@sivaschenko
Copy link
Member

sivaschenko commented Nov 21, 2018

Considering that theoretically, this is backward incompatible change, probably it would be better to mark the interface as deprecated first. However, I think it is very unlikely that ArrayInterface is used as a parameter type anywhere. Added this pull request to discuss at a group code review.

@sreichel
Copy link
Contributor Author

@sivaschenko Thanks for reply, I've not removed the interface. It marked as deprecated and not used in core. Should not break anything. (?)

@sivaschenko
Copy link
Member

@sreichel I.e. it will break code where:

  • there is a method that accepts a parameter of type ArrayInterface,
  • and this method is called passing an instance of a class that was implementing ArrayInterface before this pull request (but does not implement anymore).

@sivaschenko
Copy link
Member

Hi @sreichel we had a group code review session today discussing this pull request, we decided that is will be unsafe to replace the interface on this stage. It's ok to mark the interface as deprecated for now. Then after a couple of releases with it being deprecated, it will be ok to replace it.

@sreichel
Copy link
Contributor Author

@sivaschenko is it OK to set @decreacted via internal ticket?

@sivaschenko
Copy link
Member

@sreichel I am not sure about internal tickets, you can do it in this pull request as I think anyway this pull request will have to be recreated by the time it will be OK to deliver it.

@sivaschenko
Copy link
Member

@sreichel the pull request is put on hold. Please open another pull request with a link to this one where an interface is marked as deprecated

@sivaschenko
Copy link
Member

It is necessary to deprecate the interface before removing it from inheritance hierarchy. This pull request will be processed a couple of releases after #19601 is merged

@orlangur
Copy link
Contributor

orlangur commented Dec 6, 2018

@sivaschenko are you sure it can be processed earlier than 2.4-develop?

@sivaschenko
Copy link
Member

@orlangur In my opinion it can be processed earlier, however, no, I am not sure.

@orlangur orlangur self-assigned this Apr 4, 2019
@orlangur
Copy link
Contributor

orlangur commented Apr 4, 2019

@sivaschenko keeping open pull request is not a proper way to track necessary changes. Please report internal ticket targeting 2.4-develop describing necessary changes instead.

@orlangur orlangur closed this Apr 4, 2019
@m2-assistant
Copy link

m2-assistant bot commented Apr 4, 2019

Hi @sreichel, thank you for your contribution!
Please, complete Contribution Survey, it will take less than a minute.
Your feedback will help us to improve contribution process.

@orlangur orlangur reopened this Apr 4, 2019
@ghost ghost unassigned orlangur and sivaschenko Apr 4, 2019
@orlangur
Copy link
Contributor

orlangur commented Apr 4, 2019

Changed my mind.

Copy link
Member

@sivaschenko sivaschenko left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @sreichel , we are going to resume processing of this pull request.

Can you please update your branch, resolve conflicts and ensure all tests are passing

@sivaschenko
Copy link
Member

The pull request is approved to be merged to 2.4 at magento/architecture#174 including the removal of ArrayInterface

@sreichel
Copy link
Contributor Author

sreichel commented Jun 5, 2019

I'll update for 2.4.

@sidolov sidolov changed the base branch from 2.3-develop to 2.4-develop December 5, 2019 17:21
Copy link
Contributor

@ihor-sviziev ihor-sviziev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @sreichel,
Branch 2.4-develop was already created and this PR was re-targeted into it. Could you update your PR and resolve merge conflicts?

@ihor-sviziev
Copy link
Contributor

ihor-sviziev commented Feb 14, 2020

Hi @sreichel,
Will you be able to update your PR?

@ihor-sviziev
Copy link
Contributor

@sreichel I am closing this PR now due to inactivity.
Please reopen and update if you wish to continue.
Thank you for the collaboration!

@m2-assistant
Copy link

m2-assistant bot commented Feb 25, 2020

Hi @sreichel, thank you for your contribution!
Please, complete Contribution Survey, it will take less than a minute.
Your feedback will help us to improve contribution process.

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

Successfully merging this pull request may close these issues.

6 participants