Skip to content

Commit a28ca00

Browse files
committed
Rename crates to cucumber and cucumber-codegen
Additionally: - renew CHANGELOGs
1 parent 02b1aa4 commit a28ca00

File tree

18 files changed

+250
-116
lines changed

18 files changed

+250
-116
lines changed

.github/workflows/ci.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,8 @@ jobs:
6161
fail-fast: false
6262
matrix:
6363
crate:
64-
- cucumber_rust_codegen
65-
- cucumber_rust
64+
- cucumber-codegen
65+
- cucumber
6666
os:
6767
- ubuntu
6868
- macOS
@@ -136,11 +136,11 @@ jobs:
136136
id: release
137137
run: echo ::set-output name=VERSION::${GITHUB_REF#refs/tags/v}
138138

139-
- name: Verify release version matches `cucumber_rust_codegen` Cargo manifest
139+
- name: Verify release version matches `cucumber-codegen` Cargo manifest
140140
run: >-
141141
test "${{ steps.release.outputs.VERSION }}" \
142142
== "$(grep -m1 'version = "' codegen/Cargo.toml | cut -d '"' -f2)"
143-
- name: Verify release version matches `cucumber_rust` Cargo manifest
143+
- name: Verify release version matches `cucumber` Cargo manifest
144144
run: >-
145145
test "${{ steps.release.outputs.VERSION }}" \
146146
== "$(grep -m1 'version = "' Cargo.toml | cut -d '"' -f2)"
@@ -156,7 +156,7 @@ jobs:
156156
with:
157157
name: ${{ steps.release.outputs.VERSION }}
158158
body: |
159-
[API docs](https://docs.rs/cucumber_rust/${{ steps.release.outputs.VERSION }})
159+
[API docs](https://docs.rs/cucumber/${{ steps.release.outputs.VERSION }})
160160
[Changelog](${{ steps.changelog.outputs.LINK }})
161161
prerelease: ${{ contains(steps.release.outputs.VERSION, '-') }}
162162

@@ -172,14 +172,14 @@ jobs:
172172
profile: minimal
173173
toolchain: stable
174174

175-
- name: Publish `cucumber_rust_codegen` crate
175+
- name: Publish `cucumber-codegen` crate
176176
run: cargo publish --token ${{ secrets.CRATESIO_TOKEN }}
177177
working-directory: ./codegen
178178

179179
- name: Wait crates.io index is updated
180180
run: sleep 120
181181

182-
- name: Publish `cucumber_rust` crate
182+
- name: Publish `cucumber` crate
183183
run: cargo publish --token ${{ secrets.CRATESIO_TOKEN }}
184184
working-directory: ./
185185

CHANGELOG.md

Lines changed: 147 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,75 +1,184 @@
1-
### Current
1+
`cucumber` changelog
2+
====================
23

3-
#### Known issues:
4+
All user visible changes to `cucumber` crate will be documented in this file. This project uses [Semantic Versioning 2.0.0].
45

5-
- `Scenario Outline` is treated the same as `Outline` or `Example` in the parser ([gherkin/#19](https://github.com/bbqsrc/gherkin-rust/issues/19))
66

7-
### [0.10.0] — ???
7+
8+
9+
## [0.10.0] · 2021-??-??
810
[0.10.0]: /../../tree/v0.10.0
911

10-
- **Breaking change** Complete redesign:
11-
- Introduce new abstractions: `Parser`, `Runner`, `Writer`.
12-
- Provide reference implementations for those abstractions.
13-
- Add ability to run `Scenario`s concurrently.
14-
- Update book to reflect redesign.
12+
[Diff](/../../compare/v0.9.0...v0.10.0)
13+
14+
### BC Breaks
15+
16+
- Renamed crate to `cucumber`.
17+
- Complete redesign: ([#128])
18+
- Introduce new abstractions: `Parser`, `Runner`, `Writer`;
19+
- Provide reference implementations for those abstractions.
20+
- Replaced `#[given(step)]`, `#[when(step)]` and `#[then(step)]` function argument attributes with a single `#[step]`. ([#128])
21+
22+
### Added
23+
24+
- Ability to run `Scenario`s concurrently. ([#128])
25+
26+
[#128]: /../../pull/128
27+
28+
1529

16-
### [0.9.0] — 2021-07-19
30+
31+
## [0.9.0] · 2021-07-19
1732
[0.9.0]: /../../tree/v0.9.0
1833

19-
- **Breaking change:** the second parameter in the test callbacks is now a `StepContext` object, which contains the `Step` as a `step` field.
20-
- Feature: Add `before` and `after` lifecycle functions to the Cucumber builder
21-
- This function takes a selector for determining when to run 'before' or 'after', and a callback
22-
- Fix: literal paths to .feature files will now work in the Cucumber builder
23-
- Fix: remove unnecessary internal `Rc<T>` usage.
34+
[Diff](/../../compare/v0.8.4...v0.9.0)
35+
36+
### BC Breaks
37+
38+
- The second parameter in the test callbacks is now a `StepContext` object, which contains the `Step` as a `step` field.
39+
40+
### Added
41+
42+
- Add `before` and `after` lifecycle functions to the `Cucumber` builder. These functions take a selector for determining when to run `before` or `after`, and a callback.
43+
44+
### Fixed
45+
46+
- Literal paths to `.feature` files will now work in the `Cucumber` builder.
47+
- Removed unnecessary internal `Rc<T>` usage.
48+
49+
2450

25-
### [0.8.4] — 2021-02-18
51+
52+
## [0.8.4] · 2021-02-18
2653
[0.8.4]: /../../tree/v0.8.4
2754

28-
- Feature: add `language` argument to Cucumber builder to set default language for all feature files
29-
- Feature: add `--debug` flag to always print stdout and stderr per step
55+
[Diff](/../../compare/v0.8.3...v0.8.4)
56+
57+
### Added
58+
59+
- `language` argument to `Cucumber` builder to set default language for all `.feature` files.
60+
- `--debug` flag to always print STDOUT and STDERR per step.
61+
62+
3063

31-
### [0.8.3] — 2021-02-09
64+
65+
## [0.8.3] · 2021-02-09
3266
[0.8.3]: /../../tree/v0.8.3
3367

34-
- Update `t!` macro to support specifying type of world argument in closure
68+
[Diff](/../../compare/v0.8.2...v0.8.3)
69+
70+
### Changed
71+
72+
- Update `t!` macro to support specifying type of `World` argument in closure.
73+
3574

36-
### [0.8.2] — 2021-01-30
75+
76+
77+
## [0.8.2] · 2021-01-30
3778
[0.8.2]: /../../tree/v0.8.2
3879

39-
- Re-export `async_trait::async_trait` and `futures` crate for convenience
40-
- Update examples to use `tokio`
80+
[Diff](/../../compare/v0.8.1...v0.8.2)
81+
82+
### Added
83+
84+
- Re-export `async_trait::async_trait` and `futures` crate for convenience.
85+
- Update examples to use `tokio`.
86+
4187

42-
### [0.8.1] — 2021-01-30
88+
89+
90+
## [0.8.1] · 2021-01-30
4391
[0.8.1]: /../../tree/v0.8.1
4492

45-
- Added proper i18n support via gherkin 0.9
93+
[Diff](/../../compare/v0.8.0...v0.8.1)
94+
95+
### Added
96+
97+
- Proper i18n support via [`gherkin_rust`] `0.9`.
4698

47-
### [0.8.0] — 2021-01-18
99+
100+
101+
102+
## [0.8.0] · 2021-01-18
48103
[0.8.0]: /../../tree/v0.8.0
49104

50-
- Fixed filtering of tests by tag ([#67](https://github.com/cucumber-rs/cucumber/issues/67))
51-
- Implemented failure reporting ([#91](https://github.com/cucumber-rs/cucumber/issues/91))
52-
- Removed unnecessary dependent traits from `World` trait
53-
- Added proc-macro variant (thanks Ilya Solovyiov and Kai Ren)
105+
[Diff](/../../compare/v0.7.3...v0.8.0)
106+
107+
### Added
108+
109+
- Failure reporting. ([#91])
110+
- `macros` feature providing attributes: ([#81])
111+
- [`given`](https://docs.rs/cucumber_rust/0.8.0/cucumber_rust/attr.given.html);
112+
- [`when`](https://docs.rs/cucumber_rust/0.8.0/cucumber_rust/attr.when.html);
113+
- [`then`](https://docs.rs/cucumber_rust/0.8.0/cucumber_rust/attr.then.html).
114+
115+
### Fixed
116+
117+
- Filtering of tests by tag. ([#67])
118+
- Removed unnecessary dependent traits from `World` trait.
119+
120+
[#67]: /../../issues/67
121+
[#81]: /../../pull/81
122+
[#91]: /../../issues/91
123+
54124

55-
### [0.7.3] — 2020-09-20
125+
126+
127+
## [0.7.3] · 2020-09-20
56128
[0.7.3]: /../../tree/v0.7.3
57129

58-
- Fix missing mut in t! macro for regexes ([#68](https://github.com/cucumber-rs/cucumber/issues/68)) — thanks [@stefanpieck](https://github.com/stefanpieck)!
130+
[Diff](/../../compare/v0.7.2...v0.7.3)
131+
132+
### Fixed
133+
134+
- Fix missing `mut` in `t!` macro for regexes — thanks [@stefanpieck](https://github.com/stefanpieck)! ([#68])
135+
136+
[#68]: /../../issues/68
59137

60-
### [0.7.2] — 2020-09-14
138+
139+
140+
141+
## [0.7.2] · 2020-09-14
61142
[0.7.2]: /../../tree/v0.7.2
62143

63-
- Enforce `UnwindSafe` on async test types
144+
[Diff](/../../compare/v0.7.1...v0.7.2)
145+
146+
### Added
64147

65-
### [0.7.1] — 2020-09-09
148+
- Enforce `UnwindSafe` on async test types.
149+
150+
151+
152+
153+
## [0.7.1] · 2020-09-09
66154
[0.7.1]: /../../tree/v0.7.1
67155

68-
- Fix issue with `t!` macro for unbraced blocks
156+
[Diff](/../../compare/v0.7.0...v0.7.1)
157+
158+
### Fixed
159+
160+
- Issue with `t!` macro for unbraced blocks.
161+
162+
163+
69164

70-
### [0.7.0] 2020-09-07
165+
## [0.7.0] · 2020-09-07
71166
[0.7.0]: /../../tree/v0.7.0
72167

73-
- **Breaking changes**: the macro approach provided in 0.6.x and lower has been entirely removed. It was hard to maintain and limited maintenance of the tests themselves.
168+
[Diff](/../../compare/v0.6.8...v0.7.0)
169+
170+
### BC Breaks
171+
172+
- The macro approach provided in `0.6.x` and lower has been entirely removed. It was hard to maintain and limited maintenance of the tests themselves.
173+
174+
### Added
175+
74176
- A new builder approach has been implemented.
75177
- Support for asynchronous tests has been implemented — this is runtime agnostic.
178+
179+
180+
181+
182+
[`gherkin_rust`]: https://docs.rs/gherkin_rust
183+
184+
[Semantic Versioning 2.0.0]: https://semver.org

Cargo.toml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[package]
2-
name = "cucumber_rust"
2+
name = "cucumber"
33
version = "0.10.0"
44
edition = "2018"
55
resolver = "2"
@@ -13,7 +13,7 @@ authors = [
1313
"Ilya Solovyiov <ilya.solovyiov@gmail.com>",
1414
"Kai Ren <tyranron@gmail.com>",
1515
]
16-
documentation = "https://docs.rs/cucumber_rust"
16+
documentation = "https://docs.rs/cucumber"
1717
homepage = "https://github.com/cucumber-rs/cucumber"
1818
repository = "https://github.com/cucumber-rs/cucumber"
1919
readme = "README.md"
@@ -26,7 +26,7 @@ rustdoc-args = ["--cfg", "docsrs"]
2626

2727
[features]
2828
default = ["macros"]
29-
macros = ["cucumber_rust_codegen", "inventory"]
29+
macros = ["cucumber-codegen", "inventory"]
3030

3131
[dependencies]
3232
async-trait = "0.1.40"
@@ -43,7 +43,7 @@ regex = "1.5"
4343
sealed = "0.3"
4444

4545
# "macros" feature dependencies
46-
cucumber_rust_codegen = { version = "0.10", path = "./codegen", optional = true }
46+
cucumber-codegen = { version = "0.10", path = "./codegen", optional = true }
4747
inventory = { version = "0.1.10", optional = true }
4848

4949
[dev-dependencies]

README.md

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
# cucumber
1+
Cucumber testing framework for Rust
2+
===================================
23

3-
[![Documentation](https://docs.rs/cucumber_rust/badge.svg)](https://docs.rs/cucumber_rust)
4+
[![Documentation](https://docs.rs/cucumber/badge.svg)](https://docs.rs/cucumber)
45
[![Actions Status](https://github.com/cucumber-rs/cucumber/workflows/CI/badge.svg)](https://github.com/cucumber-rs/cucumber/actions)
56
[![Unsafe Forbidden](https://img.shields.io/badge/unsafe-forbidden-success.svg)](https://github.com/rust-secure-code/safety-dance/)
67

@@ -33,7 +34,7 @@ Implement `World` trait and describe steps:
3334
use std::{convert::Infallible, time::Duration};
3435

3536
use async_trait::async_trait;
36-
use cucumber_rust::{self as cucumber, given, then, when, WorldInit};
37+
use cucumber::{given, then, when, WorldInit};
3738
use tokio::time::sleep;
3839

3940
#[derive(Debug, WorldInit)]
@@ -101,6 +102,13 @@ The full gamut of Cucumber's [Gherkin] language is implemented by the [`gherkin-
101102

102103

103104

105+
## Known issues
106+
107+
- `Scenario Outline` is treated the same as `Outline` or `Example` in the parser ([gherkin/#19](https://github.com/bbqsrc/gherkin-rust/issues/19)).
108+
109+
110+
111+
104112
## License
105113

106114
This project is licensed under either of

book/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# cucumber book
22

3-
Book containing the [`cucumber_rust`](https://crates.io/crates/cucumber_rust) documentation.
3+
Book containing the [`cucumber`](https://crates.io/crates/cucumber) documentation.
44

55

66

0 commit comments

Comments
 (0)