Skip to content

Use io.cucumber.<package-name> for the api #1448

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
mpkorstanje opened this issue Sep 1, 2018 · 3 comments · Fixed by #1449
Closed

Use io.cucumber.<package-name> for the api #1448

mpkorstanje opened this issue Sep 1, 2018 · 3 comments · Fixed by #1449
Assignees
Milestone

Comments

@mpkorstanje
Copy link
Contributor

mpkorstanje commented Sep 1, 2018

With Java 9 split packages are no longer allowed. However by design cucumber uses split packages to make the api recognizable by the end user.

So with #1445 in mind I am considering moving the api package to a new structure.

This would move

  • cucumber.api.cli -> io.cucumber.core.api.cli
  • cucumber.api.event -> io.cucumber.core.api.event and replace concrete classes with interfaces.
  • cucumber.api.formatter -> io.cucumber.core.api.plugin
  • cucumber.api.* -> Unsure yet. Mostly io.cucumber.core.api.event.
  • Except
    • cucumber.api.Pending -> io.cucumber.core.runner should be internal
    • cucumber.api.PendingException -> io.cucumber.java.api other languages can implement their own mechanism that uses @Pending.
    • cucumber.api.SummaryPrinter -> io.cucumber.core.api.plugin
    • cucumber.api.StepDefinitionReporter -> io.cucumber.core.api.plugin
    • cucumber.api.Transpose -> io.cucumber.java.api
  • cucumber.api.java -> io.cucumber.java.api
  • cucumber.api.java8 -> io.cucumber.java.api With Java8, there no point to keep them in separate modules

Right now I believe this would would resolve most cycles and hide most of cucumbers implementation details.

@mpkorstanje mpkorstanje added this to the 5.0.0 milestone Sep 1, 2018
@aslakhellesoy aslakhellesoy added 🙏 help wanted Help wanted - not prioritized by core team good first issue Good for newcomers labels Sep 9, 2018
@mpkorstanje mpkorstanje removed good first issue Good for newcomers 🙏 help wanted Help wanted - not prioritized by core team labels Sep 12, 2018
@mpkorstanje
Copy link
Contributor Author

Already working on it Aslak. :D

And not a good first issue.

@mpkorstanje mpkorstanje self-assigned this Sep 13, 2018
@mpkorstanje mpkorstanje mentioned this issue Sep 13, 2018
6 tasks
@mpkorstanje
Copy link
Contributor Author

Resolved by #1449.

@lock
Copy link

lock bot commented Sep 24, 2019

This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@lock lock bot locked as resolved and limited conversation to collaborators Sep 24, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants