serenity-bdd / serenity-cucumber6

Other
11 stars 23 forks source link

Move into main serenity-core repository as cucumber in deeply integrated into serenity, and versions and life cycle are constrained #37

Closed nicerloop closed 2 years ago

nicerloop commented 3 years ago

Why do you explicitly name cucumber version in artifact and repository name? serenity-cucumberX is deprecated when serenity-cucumberY is out, and cucumber versions change quite frequently.

cucumber-jvm 7 is currently in RC1, and would promptly require a new serenity-cucumber7.

wakaleo commented 3 years ago

Between Cucumber 2, Cucumber 4, Cucumber 5 and Cucumber 6, there were significant API changes each time; not everyone is/was able to upgrade Cucumber each time. That is why.

nicerloop commented 3 years ago

In fact, I just tried to upgrade serenity-cucumber to cucumber 7.0.0-RC1, and I found cucumber dependencies inside serenity-model. Is that expected, and does it not constrain serenity as a whole on a certain cucumber-jvm version?

nicerloop commented 3 years ago

The following classes have direct references to cucumber classes which have moved and changed between cucumber 6 and 7: net.thucydides.core.model.Rule net.thucydides.core.model.RuleBackground net.thucydides.core.requirements.reports.cucumber.RenderCucumber

wakaleo commented 3 years ago

Yes, Serenity depends on the Cucumber version, particularly since the Cucumber API changes so much each major release.

nicerloop commented 3 years ago

So why have the cucumber version artificially exposed in the serenity-cucumberX module, when it is not possible to use any other version than the one used inside serenity? Should not the serenity-cucumber module be integrated with the various other modules as it effectively does not have a separate life cycle nor dependencies ?

wakaleo commented 3 years ago

The was done for historical reasons.

nicerloop commented 3 years ago

Could it be re-integrated into serenity-core repository?

nicerloop commented 3 years ago

serenity-cucumber6 does not have the git tags for the latest releases either, it could benefit form the general serenity life cycle.

wakaleo commented 3 years ago

It's never been part of serenity-core, and it would be a lot of work to put it there.

nicerloop commented 2 years ago

moved into core https://github.com/serenity-bdd/serenity-core/commit/46aee180246ac84b1a66d532aecaf98560d80df8#diff-72e6d1d5cbbc21276086b124565cbe402b189235d0d5161cbef5349e99abf42d