Skip to content

Commit 3ef12e6

Browse files
committed
Merge remote-tracking branch 'origin/main' into message-based-progress-and-rerun
2 parents 3817e2d + 99f3dd8 commit 3ef12e6

File tree

64 files changed

+616
-1027
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

64 files changed

+616
-1027
lines changed

.github/renovate.json

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,8 @@
55
],
66
"packageRules": [
77
{
8-
"matchPackagePatterns": ["io.cucumber:(messages|gherkin|html-formatter|junit-xml-formatter)"],
8+
"matchPackagePatterns": ["io.cucumber:(messages|gherkin|query|html-formatter|junit-xml-formatter|testng-xml-formatter|pretty-formatter|cucumber-json-formatter)"],
99
"groupName": "Messages and dependants"
10-
},
11-
{
12-
"matchPackageNames": ["org.apache.maven.plugins:maven-surefire-plugin"],
13-
"allowedVersions": "!/^3.5.3$/"
1410
}
1511
]
1612
}

CHANGELOG.md

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,25 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
1010
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
1111

1212
## [Unreleased]
13+
### Added
14+
- [Core] Emit Suggestion message ([#3073](https://github.com/cucumber/cucumber-jvm/pull/3073) M.P. Korstanje)
15+
- [JUnit Platform Engine] Warn when surefire naming strategy is used ([#3067](https://github.com/cucumber/cucumber-jvm/pull/3067) M.P. Korstanje)
16+
- [Java] Generate annotations for Emoji dialect ([#3062](https://github.com/cucumber/cucumber-jvm/pull/3062) M.P. Korstanje)
17+
18+
### Fixed
19+
- [Core] Emit StepMatchArgumentsList for ambiguous steps ([#3066](https://github.com/cucumber/cucumber-jvm/pull/3066) M.P. Korstanje)
20+
21+
### Changed
22+
- [Core] Use a message based `RerunFormatter` ([#3075](https://github.com/cucumber/cucumber-jvm/pull/3075) M.P. Korstanje)
23+
- [Core] Use a message based `TeamCityPlugin` ([#3050](https://github.com/cucumber/cucumber-jvm/pull/3050) M.P. Korstanje)
24+
- [Core] Update dependency io.cucumber:cucumber-json-formatter to v0.2.0
25+
- [Core] Update dependency io.cucumber:gherkin to v35.0.0
26+
- [Core] Update dependency io.cucumber:html-formatter to v21.15.0
27+
- [Core] Update dependency io.cucumber:junit-xml-formatter to v0.9.0
28+
- [Core] Update dependency io.cucumber:messages to v29.0.1
29+
- [Core] Update dependency io.cucumber:pretty-formatter to v2.2.0
30+
- [Core] Update dependency io.cucumber:query to v14.0.1
31+
- [Core] Update dependency io.cucumber:testng-xml-formatter to v0.6.0
1332

1433
## [7.28.2] - 2025-09-09
1534
### Fixed
@@ -541,5 +560,3 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
541560
[7.1.0]: https://github.com/cucumber/cucumber-jvm/compare/v7.0.0...v7.1.0
542561
[7.0.0]: https://github.com/cucumber/cucumber-jvm/compare/v7.0.0-RC1...v7.0.0
543562
[7.0.0-RC1]: https://github.com/cucumber/cucumber-jvm/compare/v6.11.0...v7.0.0-RC1
544-
hub.com/cucumber/cucumber-jvm/compare/v7.0.0-RC1...v7.0.0
545-
[7.0.0-RC1]: https://github.com/cucumber/cucumber-jvm/compare/v6.11.0...v7.0.0-RC1

compatibility/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<parent>
55
<artifactId>cucumber-jvm</artifactId>
66
<groupId>io.cucumber</groupId>
7-
<version>7.28.3-SNAPSHOT</version>
7+
<version>7.29.0-SNAPSHOT</version>
88
</parent>
99
<modelVersion>4.0.0</modelVersion>
1010

cucumber-archetype/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<groupId>io.cucumber</groupId>
88
<artifactId>cucumber-jvm</artifactId>
9-
<version>7.28.3-SNAPSHOT</version>
9+
<version>7.29.0-SNAPSHOT</version>
1010
</parent>
1111

1212
<artifactId>cucumber-archetype</artifactId>
@@ -18,7 +18,7 @@
1818
<junit-jupiter.version>5.13.4</junit-jupiter.version>
1919
<assertj.version>3.27.4</assertj.version>
2020
<maven-compiler-plugin.version>3.14.0</maven-compiler-plugin.version>
21-
<maven-surefire-plugin.version>3.5.2</maven-surefire-plugin.version>
21+
<maven-surefire-plugin.version>3.5.4</maven-surefire-plugin.version>
2222
</properties>
2323

2424
<dependencyManagement>

cucumber-archetype/src/main/resources/archetype-resources/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@
8383
information to disambiguate between different
8484
examples and scenarios. -->
8585
<configurationParameters>
86-
cucumber.junit-platform.naming-strategy=surefire
86+
cucumber.junit-platform.naming-strategy=long
8787
</configurationParameters>
8888
</properties>
8989
</configuration>

cucumber-archetype/src/test/resources/projects/should-generate-project/reference/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@
8383
information to disambiguate between different
8484
examples and scenarios. -->
8585
<configurationParameters>
86-
cucumber.junit-platform.naming-strategy=surefire
86+
cucumber.junit-platform.naming-strategy=long
8787
</configurationParameters>
8888
</properties>
8989
</configuration>

cucumber-bom/pom.xml

Lines changed: 33 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<parent>
55
<artifactId>cucumber-jvm</artifactId>
66
<groupId>io.cucumber</groupId>
7-
<version>7.28.3-SNAPSHOT</version>
7+
<version>7.29.0-SNAPSHOT</version>
88
</parent>
99
<modelVersion>4.0.0</modelVersion>
1010
<packaging>pom</packaging>
@@ -15,15 +15,16 @@
1515
<properties>
1616
<ci-environment.version>10.0.1</ci-environment.version>
1717
<cucumber-expressions.version>18.0.1</cucumber-expressions.version>
18-
<cucumber-json-formatter.version>0.1.4-SNAPSHOT</cucumber-json-formatter.version>
19-
<gherkin.version>34.0.0</gherkin.version>
20-
<html-formatter.version>21.13.0</html-formatter.version>
21-
<junit-xml-formatter.version>0.8.2-SNAPSHOT</junit-xml-formatter.version>
18+
<cucumber-json-formatter.version>0.2.1</cucumber-json-formatter.version>
19+
<gherkin.version>35.0.0</gherkin.version>
20+
<html-formatter.version>21.15.1</html-formatter.version>
21+
<junit-xml-formatter.version>0.9.0</junit-xml-formatter.version>
2222
<messages.version>29.0.1</messages.version>
23-
<pretty-formatter.version>2.1.1-SNAPSHOT</pretty-formatter.version>
24-
<query.version>14.0.0</query.version>
23+
<pretty-formatter.version>2.2.0</pretty-formatter.version>
24+
<query.version>14.0.1</query.version>
2525
<tag-expressions.version>6.1.2</tag-expressions.version>
26-
<testng-xml-formatter.version>0.5.1-SNAPSHOT</testng-xml-formatter.version>
26+
<teamcity-formatter.version>0.1.1</teamcity-formatter.version>
27+
<testng-xml-formatter.version>0.6.0</testng-xml-formatter.version>
2728
</properties>
2829

2930
<dependencyManagement>
@@ -79,6 +80,11 @@
7980
<artifactId>tag-expressions</artifactId>
8081
<version>${tag-expressions.version}</version>
8182
</dependency>
83+
<dependency>
84+
<groupId>io.cucumber</groupId>
85+
<artifactId>teamcity-formatter</artifactId>
86+
<version>${teamcity-formatter.version}</version>
87+
</dependency>
8288
<dependency>
8389
<groupId>io.cucumber</groupId>
8490
<artifactId>testng-xml-formatter</artifactId>
@@ -89,97 +95,97 @@
8995
<dependency>
9096
<groupId>io.cucumber</groupId>
9197
<artifactId>cucumber-cdi2</artifactId>
92-
<version>7.28.3-SNAPSHOT</version>
98+
<version>7.29.0-SNAPSHOT</version>
9399
</dependency>
94100
<dependency>
95101
<groupId>io.cucumber</groupId>
96102
<artifactId>cucumber-core</artifactId>
97-
<version>7.28.3-SNAPSHOT</version>
103+
<version>7.29.0-SNAPSHOT</version>
98104
</dependency>
99105
<dependency>
100106
<groupId>io.cucumber</groupId>
101107
<artifactId>datatable</artifactId>
102-
<version>7.28.3-SNAPSHOT</version>
108+
<version>7.29.0-SNAPSHOT</version>
103109
</dependency>
104110
<dependency>
105111
<groupId>io.cucumber</groupId>
106112
<artifactId>datatable-matchers</artifactId>
107-
<version>7.28.3-SNAPSHOT</version>
113+
<version>7.29.0-SNAPSHOT</version>
108114
</dependency>
109115
<dependency>
110116
<groupId>io.cucumber</groupId>
111117
<artifactId>cucumber-deltaspike</artifactId>
112-
<version>7.28.3-SNAPSHOT</version>
118+
<version>7.29.0-SNAPSHOT</version>
113119
</dependency>
114120
<dependency>
115121
<groupId>io.cucumber</groupId>
116122
<artifactId>docstring</artifactId>
117-
<version>7.28.3-SNAPSHOT</version>
123+
<version>7.29.0-SNAPSHOT</version>
118124
</dependency>
119125
<dependency>
120126
<groupId>io.cucumber</groupId>
121127
<artifactId>cucumber-gherkin</artifactId>
122-
<version>7.28.3-SNAPSHOT</version>
128+
<version>7.29.0-SNAPSHOT</version>
123129
</dependency>
124130
<dependency>
125131
<groupId>io.cucumber</groupId>
126132
<artifactId>cucumber-gherkin-messages</artifactId>
127-
<version>7.28.3-SNAPSHOT</version>
133+
<version>7.29.0-SNAPSHOT</version>
128134
</dependency>
129135
<dependency>
130136
<groupId>io.cucumber</groupId>
131137
<artifactId>cucumber-guice</artifactId>
132-
<version>7.28.3-SNAPSHOT</version>
138+
<version>7.29.0-SNAPSHOT</version>
133139
</dependency>
134140
<dependency>
135141
<groupId>io.cucumber</groupId>
136142
<artifactId>cucumber-jakarta-cdi</artifactId>
137-
<version>7.28.3-SNAPSHOT</version>
143+
<version>7.29.0-SNAPSHOT</version>
138144
</dependency>
139145
<dependency>
140146
<groupId>io.cucumber</groupId>
141147
<artifactId>cucumber-java</artifactId>
142-
<version>7.28.3-SNAPSHOT</version>
148+
<version>7.29.0-SNAPSHOT</version>
143149
</dependency>
144150
<dependency>
145151
<groupId>io.cucumber</groupId>
146152
<artifactId>cucumber-java8</artifactId>
147-
<version>7.28.3-SNAPSHOT</version>
153+
<version>7.29.0-SNAPSHOT</version>
148154
</dependency>
149155
<dependency>
150156
<groupId>io.cucumber</groupId>
151157
<artifactId>cucumber-junit</artifactId>
152-
<version>7.28.3-SNAPSHOT</version>
158+
<version>7.29.0-SNAPSHOT</version>
153159
</dependency>
154160
<dependency>
155161
<groupId>io.cucumber</groupId>
156162
<artifactId>cucumber-junit-platform-engine</artifactId>
157-
<version>7.28.3-SNAPSHOT</version>
163+
<version>7.29.0-SNAPSHOT</version>
158164
</dependency>
159165
<dependency>
160166
<groupId>io.cucumber</groupId>
161167
<artifactId>cucumber-openejb</artifactId>
162-
<version>7.28.3-SNAPSHOT</version>
168+
<version>7.29.0-SNAPSHOT</version>
163169
</dependency>
164170
<dependency>
165171
<groupId>io.cucumber</groupId>
166172
<artifactId>cucumber-picocontainer</artifactId>
167-
<version>7.28.3-SNAPSHOT</version>
173+
<version>7.29.0-SNAPSHOT</version>
168174
</dependency>
169175
<dependency>
170176
<groupId>io.cucumber</groupId>
171177
<artifactId>cucumber-plugin</artifactId>
172-
<version>7.28.3-SNAPSHOT</version>
178+
<version>7.29.0-SNAPSHOT</version>
173179
</dependency>
174180
<dependency>
175181
<groupId>io.cucumber</groupId>
176182
<artifactId>cucumber-spring</artifactId>
177-
<version>7.28.3-SNAPSHOT</version>
183+
<version>7.29.0-SNAPSHOT</version>
178184
</dependency>
179185
<dependency>
180186
<groupId>io.cucumber</groupId>
181187
<artifactId>cucumber-testng</artifactId>
182-
<version>7.28.3-SNAPSHOT</version>
188+
<version>7.29.0-SNAPSHOT</version>
183189
</dependency>
184190
</dependencies>
185191
</dependencyManagement>

cucumber-cdi2/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
<parent>
1515
<groupId>io.cucumber</groupId>
1616
<artifactId>cucumber-jvm</artifactId>
17-
<version>7.28.3-SNAPSHOT</version>
17+
<version>7.29.0-SNAPSHOT</version>
1818
</parent>
1919

2020
<artifactId>cucumber-cdi2</artifactId>

cucumber-core/pom.xml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<parent>
55
<groupId>io.cucumber</groupId>
66
<artifactId>cucumber-jvm</artifactId>
7-
<version>7.28.3-SNAPSHOT</version>
7+
<version>7.29.0-SNAPSHOT</version>
88
</parent>
99

1010
<artifactId>cucumber-core</artifactId>
@@ -17,7 +17,7 @@
1717
<jackson.version>2.20.0</jackson.version>
1818
<jsoup.version>1.21.2</jsoup.version>
1919
<junit-jupiter.version>5.13.4</junit-jupiter.version>
20-
<xmlunit.version>2.10.3</xmlunit.version>
20+
<xmlunit.version>2.10.4</xmlunit.version>
2121
<hamcrest.version>3.0</hamcrest.version>
2222
<hamcrest-json.version>0.2</hamcrest-json.version>
2323
<mockito.version>5.19.0</mockito.version>
@@ -68,6 +68,10 @@
6868
<groupId>io.cucumber</groupId>
6969
<artifactId>pretty-formatter</artifactId>
7070
</dependency>
71+
<dependency>
72+
<groupId>io.cucumber</groupId>
73+
<artifactId>teamcity-formatter</artifactId>
74+
</dependency>
7175
<dependency>
7276
<groupId>io.cucumber</groupId>
7377
<artifactId>testng-xml-formatter</artifactId>

cucumber-core/src/main/java/io/cucumber/core/backend/Snippet.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,21 @@
55
import java.lang.reflect.Type;
66
import java.text.MessageFormat;
77
import java.util.Map;
8+
import java.util.Optional;
89

910
@API(status = API.Status.STABLE)
1011
public interface Snippet {
1112

13+
/**
14+
* The language of the generated snippet.
15+
*
16+
* @see io.cucumber.messages.types.Snippet#getLanguage()
17+
* @return the language of the generated snippet.
18+
*/
19+
default Optional<String> language() {
20+
return Optional.empty();
21+
}
22+
1223
/**
1324
* @return a {@link java.text.MessageFormat} template used to generate a
1425
* snippet. The template can access the following variables:

0 commit comments

Comments
 (0)