File tree Expand file tree Collapse file tree 4 files changed +12
-4
lines changed
scala/sources/src/main/groovy Expand file tree Collapse file tree 4 files changed +12
-4
lines changed Original file line number Diff line number Diff line change @@ -21,6 +21,8 @@ See also the [CHANGELOG](https://github.com/cucumber/cucumber-jvm/blob/master/CH
2121 - Hooks definition changed
2222 - See [ Upgrade Guide] ( docs/upgrade_v5.md )
2323- [ Build] Update Scala versions to 2.12.11 and 2.13.1 ([ #23 ] ( https://github.com/cucumber/cucumber-jvm-scala/issues/23 ) Gaël Jourdan-Weil)
24+ - [ Gherkin] Update Gherkin version to 9.2.0
25+ - New ` MR ` and ` ME ` traits available
2426
2527### Deprecated
2628
Original file line number Diff line number Diff line change 3131 <outputDirectory >${project.build.directory}</outputDirectory >
3232 <scala-maven-plugin .version>3.4.6</scala-maven-plugin .version>
3333 <cucumber .version>5.6.0</cucumber .version>
34- <gherkin .version>5.1 .0</gherkin .version>
34+ <gherkin .version>9.2 .0</gherkin .version>
3535 <groovy .version>2.4.19</groovy .version>
3636 <jackson-databind .version>2.10.3</jackson-databind .version>
3737 <junit .version>4.12</junit .version>
143143 <artifactId >groovy-all</artifactId >
144144 <version >${groovy.version} </version >
145145 </dependency >
146+ <!--
147+ Gherkin is used during build time to generate code. We add it to the plugin classpath to prevent polluting
148+ the compile/test classpaths.
149+ -->
146150 <dependency >
147151 <groupId >io.cucumber</groupId >
148152 <artifactId >gherkin</artifactId >
Original file line number Diff line number Diff line change 11package io.cucumber.scala
22
3- <% gherkin . GherkinDialectProvider . DIALECTS . keySet (). findAll { ! unsupported. contains(it) }. each { language - > % >
3+ <% dialectProvider . getLanguages (). findAll { ! unsupported. contains(it) }. each { language - > % >
44trait ${ language. replaceAll(" [\\ s-]" , " _" ). toUpperCase() } {
55 this: ScalaDsl =>
66<% dialectProvider. getDialect(language, null ). stepKeywords. findAll { ! it. contains(' *' ) && ! it. matches(" ^\\ d.*" ) }. sort(). unique(). each { kw - > % >
Original file line number Diff line number Diff line change 11import groovy.text.SimpleTemplateEngine
2- import gherkin.GherkinDialectProvider
2+ import io.cucumber. gherkin.GherkinDialectProvider
33
44SimpleTemplateEngine engine = new SimpleTemplateEngine ()
55def templateSource = new File (project. baseDir, " ../sources/src/main/groovy/I18n.scala.gsp" ). getText()
66
7- def unsupported = [" em" ]
7+ def unsupported = [" em" ] // The generated files for Emoji do not compile.
88GherkinDialectProvider dialectProvider = new GherkinDialectProvider ()
9+
910def binding = [" dialectProvider" :dialectProvider, " unsupported" :unsupported]
1011template = engine. createTemplate(templateSource). make(binding)
12+
1113def file = new File (project. baseDir, " target/generated-sources/i18n/io/cucumber/scala/I18n.scala" )
1214file. parentFile. mkdirs()
1315file. write(template. toString(), " UTF-8" )
You can’t perform that action at this time.
0 commit comments