rlogiacco / Natural

Natural is a collection of Eclipse plugins to enable rich smart editing of acceptance tests using natural language definition files. It currently supports Cucumber and JBehave syntax.
Eclipse Public License 1.0
75 stars 37 forks source link

MWE2 Workflow and XText Generator Upgrades #72

Closed drkstr101 closed 4 years ago

drkstr101 commented 4 years ago

Depends On: https://github.com/rlogiacco/Natural/pull/70 and https://github.com/rlogiacco/Natural/pull/71

This is where things get interesting. This PR contains the main difference in the XText upgrade, which is the updates to the MWE2 worflow. In addition to an updated generator workflow, it also changes the project structure somewhat, and deprecates some APIs. The API changes include formatting, syntax highlighting, and testing.

While in theory this branch is ready to merge, it is flagged WIP as there may be some things which need to be updated to preserve the original functionality prior to merging. More testing needs to be done to ensure default behavior is as equal to or better than the previous update.

Once this update is addressed, the remaining upgrades for Eclipse 2020 are mostly cosmetic.

drkstr101 commented 4 years ago

Syntax highlighting and step matching appear to be working in cucumber as expected. It looks like the default formatter needs a bit of tweaking though.

JBehave editor has parser errors as is. I will attempt to upgrade the generator in the same manor as the cucumber generator to see if this fixes the issue. This is the first time I've tried the jbehave editor though, so I'm not sure if this is regression or not.

rlogiacco commented 4 years ago

It was working, but with major issues and with no support for links to the code...

Can you please help me understand how we should handle the three different PR in terms of releases? Well, at least what was your idea of handling them: I know you already organized the code in a manner which makes sense, I will appreciate a short note

Il giorno lun 4 mag 2020 alle 19:14 Aaron R. Miller < notifications@github.com> ha scritto:

Syntax highlighting and step matching appear to be working in cucumber as expected. It looks like the default formatter needs a bit of tweaking though.

JBehave editor has parser errors as is. I will attempt to upgrade the generator in the same manor as the cucumber generator to see if this fixes the issue. This is the first time I've tried the jbehave editor though, so I'm not sure if this is regression or not.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/rlogiacco/Natural/pull/72#issuecomment-623591203, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABQWMM7C7TAJXVQVNTMLBLRP3ZXFANCNFSM4MYNOOJA .

drkstr101 commented 4 years ago

The first 2 (70/71) are minimal updates which only upgrade dependencies. These could probably both be included in a single release with minor version bumps. I separated them in case you wanted to branch off for Mars compat. Eclipse 2020 release can handle both branches just fine, but not the other way around.

This PR makes the first actual change that affects behavior, which is an upgrade to the new XText generator. The remaining changes were needed to keep working as expected with this new generator. I also added an Eclipse launcher, which is not a requirement of the upgrade. It just made it easier for me to test my changes in a running Eclipse instance. I will also have an update here shortly that fixes the formatting regression I introduced with these changes.

These 3 updates are the requirements to upgrade to the latest XText (assuming no deprecated API access). I don't plan on submitting any more PRs until we have a discussion on which new/improved features you would like to prioritize.

Please let me know if there is anything else I can clear up.

drkstr101 commented 4 years ago

Cucumber formatting is now working as expected. I will follow the same process for JBehaveFormatter, at which point this branch should be ready for code review.

FYI: I am testing updates using the serenity-demos example projects, which has various setups for both Cucumber and JBehave testing.

drkstr101 commented 4 years ago

Just a quick update on JBehave...

I am getting the same parser errors on my test input as original master, which leads me to believe the test input itself has some kind of unexpected content that is throwing off the parser. This should probably be addressed in a separate branch rather than this PR, which should focus on the MWE2 workflow upgrade and the new XText generator.

This branch can now be considered feature complete, unless you would prefer to address the JBehave regression (if any?) here.

drkstr101 commented 4 years ago

I was actually able to slip one more update in here, which enables unit testing and cleans up some of the project metadata. I originally didn't include this as I was worried changing where the AnnotationDescriptor is bound could lead to unexpected behavior.

However this did not appear to affect anything negatively, and I felt it was on topic for the general "XText Upgrade" release.

Cheers!

drkstr101 commented 4 years ago

Closing redundant PR