[Core] CLI should search classpath root by default #1889
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The Cucumber CLI is rather complex to use. To work correctly it needs both
a
--glue
parameter in the form of a package name and a location of a featurefile in form of a classpath uri or path. As a result people often configure
Cucumber incorrectly and are left wondering why their features or glue can not
be found.
This can be simplified as shown by the Cucumber Platform Engine which defaults
to the classpath root and the JUnit and TestNG runners which default to the
package of the runner class.
So it makes sense to do the same with the CLI.
Assuming the following project layout the CLI can discover and execute
all features without needing additional arguments.
This can be done with a single maven command:
Additional benefits can be found in the fact that IDEA often can't work out
which package should be used as glue and does not provide it. The Cucumber Eclipse
plugin on the other hand always defaults to the class path root.
Types of changes
Checklist: