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

[Core] Implement TeamCity output format plugin #1842

Merged
merged 1 commit into from
Dec 15, 2019

Conversation

mpkorstanje
Copy link
Contributor

@mpkorstanje mpkorstanje commented Dec 14, 2019

Summary

This plugin inserts markers that can be picked up by IDEA and
Teamcity. These in turn can then use this information to display a
test tree and show the output grouped by scenario.

This is plugin is nessesary because Intelij uses reflection
to extract more information from the plugin system then what would
normally be available. By substituting the CucumberJvm[1-5]SMFormatter
with this plugin we avoid runtime errors when our internals inevitably change.

Unfortunately the teamcity format is poorly documented[1]. Reverse
engingeering[2][3] the format from the plugin yields some information
but the exact function is rather opaque.

image

  1. https://confluence.jetbrains.com/display/TCD9/Build+Script+Interaction+with+TeamCity
  2. https://github.com/JetBrains/intellij-community/tree/master/plugins/cucumber-jvm-formatter5/src/org/jetbrains/plugins/cucumber/java/run
  3. https://github.com/JetBrains/intellij-community/tree/master/plugins/cucumber-jvm-formatter/src/org/jetbrains/plugins/cucumber/java/run

Types of changes

  • Bug fix (non-breaking change which fixes an issue).
  • New feature (non-breaking change which adds functionality).
  • Breaking change (fix or feature that would cause existing functionality to not work as expected).

Checklist:

  • I've added tests for my code.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.

@mpkorstanje mpkorstanje force-pushed the teamcity-output-fromatter branch 6 times, most recently from c6c8360 to a54d0ff Compare December 14, 2019 21:02
@mpkorstanje mpkorstanje marked this pull request as ready for review December 14, 2019 21:29
This plugin inserts markers that can be picked up by IDEA and
Teamcity. These in turn can then use this information to display a
test tree and show the output grouped by scenario.

This is plugin is nessesary because Intelij keeps using reflection
to extract more information from the plugin system then what would
normally be available. By substituting the CucumberJvm[1-5]SMFormatter
with this plugin we avoid runtime errors.

Unfortunately the teamcity format is poorly documented[1]. Reverse
engingeering[2][3] the format from the plugin yields some information
but the exact function is rather opaque.

1. https://confluence.jetbrains.com/display/TCD9/Build+Script+Interaction+with+TeamCity#BuildScriptInteractionwithTeamCity-MessageFlowId
2. https://github.com/JetBrains/intellij-community/tree/master/plugins/cucumber-jvm-formatter5/src/org/jetbrains/plugins/cucumber/java/run
3. https://github.com/mpkorstanje/intellij-community/blob/master/plugins/cucumber-jvm-formatter/src/org/jetbrains/plugins/cucumber/java/run
@mpkorstanje mpkorstanje added this to the 5.0.0 milestone Dec 15, 2019
@mpkorstanje mpkorstanje merged commit e78e495 into master Dec 15, 2019
@mpkorstanje mpkorstanje deleted the teamcity-output-fromatter branch December 15, 2019 18:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant