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

Public API #3236

Closed
sebastianbergmann opened this issue Aug 3, 2018 · 7 comments
Closed

Public API #3236

sebastianbergmann opened this issue Aug 3, 2018 · 7 comments
Labels
type/backward-compatibility Something will be/is intentionally broken
Milestone

Comments

@sebastianbergmann
Copy link
Owner

In order to define a Backward Compatibility Promise we need to make it explicit which parts of PHPUnit's API are considered to be public.

We should start by adding @internal to all classes, interfaces, and traits. Then we need to figure which units of code must be public (and remove @internal from them) for being able to use PHPUnit.

@sebastianbergmann sebastianbergmann added the type/backward-compatibility Something will be/is intentionally broken label Aug 3, 2018
@sebastianbergmann sebastianbergmann added this to the PHPUnit 8.0 milestone Aug 3, 2018
@keradus
Copy link
Contributor

keradus commented Aug 3, 2018

just in case - i can help with adding @internal everywhere with PHP CS Fixer

@sebastianbergmann
Copy link
Owner Author

I know, thanks.

@DavertMik
Copy link

Hi, Sebastian.
There are quite a lot o projects which may use PHPUnit via its current API and it would be nice to keep it stable. Codeception is one of them. I'd kindly ask to make all APIs used here https://github.com/Codeception/phpunit-wrapper to be considered as public API.

Also, I know that JetBrains also heavily relies on PHPUnit internals to make their integration working.
Not sure of issues on their side but I think we can invite them for the discussion.

@sebastianbergmann
Copy link
Owner Author

JetBrains does not rely on PHPUnit internals, not since the TeamCity test listener was added to PHPUnit.

@keradus
Copy link
Contributor

keradus commented Oct 17, 2018

Nice thing with public API is that if sth is not marked as part of it, it can always become part of it.
But if it's already marked as public, taking it down is BC breaker.

Saying that - if we will make public API too narrow, we can always make it wider with any release (minor or even patch)

@wbars
Copy link
Contributor

wbars commented Oct 22, 2018

I confirm, starting with PHPUnit 5.0 PhpStorm PHPUnit integration relies only on output of TeamCity.php atm

@keradus
Copy link
Contributor

keradus commented Jan 20, 2019

nice, @sebastianbergmann !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type/backward-compatibility Something will be/is intentionally broken
Projects
None yet
Development

No branches or pull requests

4 participants