on master help sign in
use workspace inheritance for common version (#8925)
commitbf7c4e165946f7a5be48c9d7e8abb8e68f066882 authorSkyler Hawthorne <skyler@dead10ck.com> dateMon 4 Dec 2023, 20:54 (3 years ago) parent44c3d48
16 files changed+143−115
Cargo.lock+11−11 Cargo.toml+5 VERSION−1 docs/releases.md+12−5 helix-core/Cargo.toml+8−8 helix-dap/Cargo.toml+8−7 helix-event/Cargo.toml+5−5 helix-loader/Cargo.toml+6−6 helix-loader/build.rs+14−4 helix-lsp/Cargo.toml+9−9 helix-parsec/Cargo.toml+7−7 helix-term/Cargo.toml+15−15 helix-tui/Cargo.toml+10−11 helix-vcs/Cargo.toml+8−8 helix-view/Cargo.toml+13−12 xtask/Cargo.toml+12−6
Cargo.lock+11−11
@@ -1048,7 +1048,7 @@ dependencies = [
10481048
10491049[[package]]
10501050name = "helix-core"
1051−version = "0.6.0"
1051+version = "23.10.0"
10521052dependencies = [
10531053 "ahash",
10541054 "arc-swap",
@@ -1083,7 +1083,7 @@ dependencies = [
10831083
10841084[[package]]
10851085name = "helix-dap"
1086−version = "0.6.0"
1086+version = "23.10.0"
10871087dependencies = [
10881088 "anyhow",
10891089 "fern",
@@ -1098,7 +1098,7 @@ dependencies = [
10981098
10991099[[package]]
11001100name = "helix-event"
1101−version = "0.6.0"
1101+version = "23.10.0"
11021102dependencies = [
11031103 "parking_lot",
11041104 "tokio",
@@ -1106,7 +1106,7 @@ dependencies = [
11061106
11071107[[package]]
11081108name = "helix-loader"
1109−version = "0.6.0"
1109+version = "23.10.0"
11101110dependencies = [
11111111 "anyhow",
11121112 "cc",
@@ -1125,7 +1125,7 @@ dependencies = [
11251125
11261126[[package]]
11271127name = "helix-lsp"
1128−version = "0.6.0"
1128+version = "23.10.0"
11291129dependencies = [
11301130 "anyhow",
11311131 "futures-executor",
@@ -1147,11 +1147,11 @@ dependencies = [
11471147
11481148[[package]]
11491149name = "helix-parsec"
1150−version = "0.6.0"
1150+version = "23.10.0"
11511151
11521152[[package]]
11531153name = "helix-term"
1154−version = "0.6.0"
1154+version = "23.10.0"
11551155dependencies = [
11561156 "anyhow",
11571157 "arc-swap",
@@ -1193,7 +1193,7 @@ dependencies = [
11931193
11941194[[package]]
11951195name = "helix-tui"
1196−version = "0.6.0"
1196+version = "23.10.0"
11971197dependencies = [
11981198 "bitflags 2.4.1",
11991199 "cassowary",
@@ -1209,7 +1209,7 @@ dependencies = [
12091209
12101210[[package]]
12111211name = "helix-vcs"
1212−version = "0.6.0"
1212+version = "23.10.0"
12131213dependencies = [
12141214 "anyhow",
12151215 "arc-swap",
@@ -1225,7 +1225,7 @@ dependencies = [
12251225
12261226[[package]]
12271227name = "helix-view"
1228−version = "0.6.0"
1228+version = "23.10.0"
12291229dependencies = [
12301230 "anyhow",
12311231 "arc-swap",
@@ -2610,7 +2610,7 @@ dependencies = [
26102610
26112611[[package]]
26122612name = "xtask"
2613−version = "0.6.0"
2613+version = "23.10.0"
26142614dependencies = [
26152615 "helix-core",
26162616 "helix-loader",
Cargo.toml+5
@@ -40,6 +40,11 @@ tree-sitter = { version = "0.20", git = "https://github.com/tree-sitter/tree-sit
4040nucleo = "0.2.0"
4141
4242[workspace.package]
43+version = "23.10.0"
4344edition = "2021"
45+authors = ["Blaž Hrastnik <blaz@mxxn.io>"]
46+categories = ["editor"]
47+repository = "https://github.com/helix-editor/helix"
48+homepage = "https://helix-editor.com"
4449license = "MPL-2.0"
4550rust-version = "1.70"
VERSIONdeleted−1
@@ -1 +0,0 @@
1−23.10
docs/releases.md+12−5
@@ -1,16 +1,23 @@
11## Checklist
22
33Helix releases are versioned in the Calendar Versioning scheme:
4−`YY.0M(.MICRO)`, for example, `22.05` for May of 2022. In these instructions
5−we'll use `<tag>` as a placeholder for the tag being published.
4+`YY.0M(.MICRO)`, for example, `22.05` for May of 2022, or in a patch release,
5+`22.05.1`. In these instructions we'll use `<tag>` as a placeholder for the tag
6+being published.
67
78* Merge the changelog PR
89* Add new `<release>` entry in `contrib/Helix.appdata.xml` with release information according to the [AppStream spec](https://www.freedesktop.org/software/appstream/docs/sect-Metadata-Releases.html)
910* Tag and push
1011 * `git tag -s -m "<tag>" -a <tag> && git push`
1112 * Make sure to switch to master and pull first
12−* Edit the `VERSION` file and change the date to the next planned release
13− * Releases are planned to happen every two months, so `22.05` would change to `22.07`
13+* Edit the `Cargo.toml` file and change the date in the `version` field to the next planned release
14+ * Due to Cargo having a strict requirement on SemVer with 3 or more version
15+ numbers, a `0` is required in the micro version; however, unless we are
16+ publishing a patch release after a major release, the `.0` is dropped in
17+ the user facing version.
18+ * Releases are planned to happen every two months, so `22.05.0` would change to `22.07.0`
19+ * If we are pushing a patch/bugfix release in the same month as the previous
20+ release, bump the micro version, e.g. `22.07.0` to `22.07.1`
1421* Wait for the Release CI to finish
1522 * It will automatically turn the git tag into a GitHub release when it uploads artifacts
1623* Edit the new release
@@ -57,4 +64,4 @@ versions for convenience:
5764> release. For the full log, check out the git log.
5865
5966Typically, small changes like dependencies or documentation updates, refactors,
60−or meta changes like GitHub Actions work are left out.
67+or meta changes like GitHub Actions work are left out.
helix-core/Cargo.toml+8−8
@@ -1,22 +1,22 @@
11[package]
22name = "helix-core"
3−version = "0.6.0"
4−authors = ["Blaž Hrastnik <blaz@mxxn.io>"]
3+description = "Helix editor core editing primitives"
4+include = ["src/**/*", "README.md"]
5+version.workspace = true
6+authors.workspace = true
57edition.workspace = true
68license.workspace = true
79rust-version.workspace = true
8−description = "Helix editor core editing primitives"
9−categories = ["editor"]
10−repository = "https://github.com/helix-editor/helix"
11−homepage = "https://helix-editor.com"
12−include = ["src/**/*", "README.md"]
10+categories.workspace = true
11+repository.workspace = true
12+homepage.workspace = true
1313
1414[features]
1515unicode-lines = ["ropey/unicode_lines"]
1616integration = []
1717
1818[dependencies]
19−helix-loader = { version = "0.6", path = "../helix-loader" }
19+helix-loader = { path = "../helix-loader" }
2020
2121ropey = { version = "1.6.1", default-features = false, features = ["simd"] }
2222smallvec = "1.11"
helix-dap/Cargo.toml+8−7
@@ -1,19 +1,20 @@
11[package]
22name = "helix-dap"
3−version = "0.6.0"
4−authors = ["Blaž Hrastnik <blaz@mxxn.io>"]
3+description = "DAP client implementation for Helix project"
4+version.workspace = true
5+authors.workspace = true
56edition.workspace = true
67license.workspace = true
78rust-version.workspace = true
8−description = "DAP client implementation for Helix project"
9−categories = ["editor"]
10−repository = "https://github.com/helix-editor/helix"
11−homepage = "https://helix-editor.com"
9+categories.workspace = true
10+repository.workspace = true
11+homepage.workspace = true
1212
1313# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
1414
1515[dependencies]
16−helix-core = { version = "0.6", path = "../helix-core" }
16+helix-core = { path = "../helix-core" }
17+
1718anyhow = "1.0"
1819log = "0.4"
1920serde = { version = "1.0", features = ["derive"] }
helix-event/Cargo.toml+5−5
@@ -1,13 +1,13 @@
11[package]
22name = "helix-event"
3−version = "0.6.0"
4−authors = ["Blaž Hrastnik <blaz@mxxn.io>"]
3+version.workspace = true
4+authors.workspace = true
55edition.workspace = true
66license.workspace = true
77rust-version.workspace = true
8−categories = ["editor"]
9−repository = "https://github.com/helix-editor/helix"
10−homepage = "https://helix-editor.com"
8+categories.workspace = true
9+repository.workspace = true
10+homepage.workspace = true
1111
1212# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
1313
helix-loader/Cargo.toml+6−6
@@ -1,14 +1,14 @@
11[package]
22name = "helix-loader"
3−version = "0.6.0"
4−description = "A post-modern text editor."
5−authors = ["Blaž Hrastnik <blaz@mxxn.io>"]
3+description = "Build bootstrapping for Helix crates"
4+version.workspace = true
5+authors.workspace = true
66edition.workspace = true
77license.workspace = true
88rust-version.workspace = true
9−categories = ["editor"]
10−repository = "https://github.com/helix-editor/helix"
11−homepage = "https://helix-editor.com"
9+categories.workspace = true
10+repository.workspace = true
11+homepage.workspace = true
1212
1313[[bin]]
1414name = "hx-loader"
helix-loader/build.rs+14−4
@@ -2,7 +2,17 @@ use std::borrow::Cow;
22use std::path::Path;
33use std::process::Command;
44
5−const VERSION: &str = include_str!("../VERSION");
5+const MAJOR: &str = env!("CARGO_PKG_VERSION_MAJOR");
6+const MINOR: &str = env!("CARGO_PKG_VERSION_MINOR");
7+const PATCH: &str = env!("CARGO_PKG_VERSION_PATCH");
8+
9+fn get_calver() -> String {
10+ if PATCH == "0" {
11+ format!("{MAJOR}.{MINOR}")
12+ } else {
13+ format!("{MAJOR}.{MINOR}.{PATCH}")
14+ }
15+}
616
717fn main() {
818 let git_hash = Command::new("git")
@@ -12,9 +22,10 @@ fn main() {
1222 .filter(|output| output.status.success())
1323 .and_then(|x| String::from_utf8(x.stdout).ok());
1424
25+ let calver = get_calver();
1526 let version: Cow<_> = match &git_hash {
16− Some(git_hash) => format!("{} ({})", VERSION, &git_hash[..8]).into(),
17− None => VERSION.into(),
27+ Some(git_hash) => format!("{} ({})", calver, &git_hash[..8]).into(),
28+ None => calver.into(),
1829 };
1930
2031 println!(
@@ -22,7 +33,6 @@ fn main() {
2233 std::env::var("TARGET").unwrap()
2334 );
2435
25− println!("cargo:rerun-if-changed=../VERSION");
2636 println!("cargo:rustc-env=VERSION_AND_GIT_HASH={}", version);
2737
2838 if git_hash.is_none() {
helix-lsp/Cargo.toml+9−9
@@ -1,21 +1,21 @@
11[package]
22name = "helix-lsp"
3−version = "0.6.0"
4−authors = ["Blaž Hrastnik <blaz@mxxn.io>"]
3+description = "LSP client implementation for Helix project"
4+version.workspace = true
5+authors.workspace = true
56edition.workspace = true
67license.workspace = true
78rust-version.workspace = true
8−description = "LSP client implementation for Helix project"
9−categories = ["editor"]
10−repository = "https://github.com/helix-editor/helix"
11−homepage = "https://helix-editor.com"
9+categories.workspace = true
10+repository.workspace = true
11+homepage.workspace = true
1212
1313# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
1414
1515[dependencies]
16−helix-core = { version = "0.6", path = "../helix-core" }
17−helix-loader = { version = "0.6", path = "../helix-loader" }
18−helix-parsec = { version = "0.6", path = "../helix-parsec" }
16+helix-core = { path = "../helix-core" }
17+helix-loader = { path = "../helix-loader" }
18+helix-parsec = { path = "../helix-parsec" }
1919
2020anyhow = "1.0"
2121futures-executor = "0.3"
helix-parsec/Cargo.toml+7−7
@@ -1,14 +1,14 @@
11[package]
22name = "helix-parsec"
3−version = "0.6.0"
4−authors = ["Blaž Hrastnik <blaz@mxxn.io>"]
3+description = "Parser combinators for Helix"
4+include = ["src/**/*", "README.md"]
5+version.workspace = true
6+authors.workspace = true
57edition.workspace = true
68license.workspace = true
79rust-version.workspace = true
8−description = "Parser combinators for Helix"
9−categories = ["editor"]
10−repository = "https://github.com/helix-editor/helix"
11−homepage = "https://helix-editor.com"
12−include = ["src/**/*", "README.md"]
10+categories.workspace = true
11+repository.workspace = true
12+homepage.workspace = true
1313
1414[dependencies]
helix-term/Cargo.toml+15−15
@@ -1,16 +1,16 @@
11[package]
22name = "helix-term"
3−version = "0.6.0"
43description = "A post-modern text editor."
5−authors = ["Blaž Hrastnik <blaz@mxxn.io>"]
6−edition.workspace = true
7−license.workspace = true
8−categories = ["editor", "command-line-utilities"]
9−repository = "https://github.com/helix-editor/helix"
10−homepage = "https://helix-editor.com"
114include = ["src/**/*", "README.md"]
125default-run = "hx"
6+version.workspace = true
7+authors.workspace = true
8+edition.workspace = true
9+license.workspace = true
1310rust-version.workspace = true
11+categories.workspace = true
12+repository.workspace = true
13+homepage.workspace = true
1414
1515[features]
1616default = ["git"]
@@ -23,13 +23,13 @@ name = "hx"
2323path = "src/main.rs"
2424
2525[dependencies]
26−helix-core = { version = "0.6", path = "../helix-core" }
27−helix-event = { version = "0.6", path = "../helix-event" }
28−helix-view = { version = "0.6", path = "../helix-view" }
29−helix-lsp = { version = "0.6", path = "../helix-lsp" }
30−helix-dap = { version = "0.6", path = "../helix-dap" }
31−helix-vcs = { version = "0.6", path = "../helix-vcs" }
32−helix-loader = { version = "0.6", path = "../helix-loader" }
26+helix-core = { path = "../helix-core" }
27+helix-event = { path = "../helix-event" }
28+helix-view = { path = "../helix-view" }
29+helix-lsp = { path = "../helix-lsp" }
30+helix-dap = { path = "../helix-dap" }
31+helix-vcs = { path = "../helix-vcs" }
32+helix-loader = { path = "../helix-loader" }
3333
3434anyhow = "1"
3535once_cell = "1.18"
@@ -79,7 +79,7 @@ libc = "0.2.150"
7979crossterm = { version = "0.27", features = ["event-stream", "use-dev-tty"] }
8080
8181[build-dependencies]
82−helix-loader = { version = "0.6", path = "../helix-loader" }
82+helix-loader = { path = "../helix-loader" }
8383
8484[dev-dependencies]
8585smallvec = "1.11"
helix-tui/Cargo.toml+10−11
@@ -1,22 +1,23 @@
11[package]
22name = "helix-tui"
3−version = "0.6.0"
4−authors = ["Blaž Hrastnik <blaz@mxxn.io>"]
5−description = """
6−A library to build rich terminal user interfaces or dashboards
7−"""
3+description = """A library to build rich terminal user interfaces or dashboards"""
4+include = ["src/**/*", "README.md"]
5+version.workspace = true
6+authors.workspace = true
87edition.workspace = true
98license.workspace = true
109rust-version.workspace = true
11−categories = ["editor"]
12−repository = "https://github.com/helix-editor/helix"
13−homepage = "https://helix-editor.com"
14−include = ["src/**/*", "README.md"]
10+categories.workspace = true
11+repository.workspace = true
12+homepage.workspace = true
1513
1614[features]
1715default = ["crossterm"]
1816
1917[dependencies]
18+helix-view = { path = "../helix-view", features = ["term"] }
19+helix-core = { path = "../helix-core" }
20+
2021bitflags = "2.4"
2122cassowary = "0.3"
2223unicode-segmentation = "1.10"
@@ -25,5 +26,3 @@ termini = "1.0"
2526serde = { version = "1", "optional" = true, features = ["derive"]}
2627once_cell = "1.18"
2728log = "~0.4"
28−helix-view = { version = "0.6", path = "../helix-view", features = ["term"] }
29−helix-core = { version = "0.6", path = "../helix-core" }
helix-vcs/Cargo.toml+8−8
@@ -1,19 +1,19 @@
11[package]
22name = "helix-vcs"
3−version = "0.6.0"
4−authors = ["Blaž Hrastnik <blaz@mxxn.io>"]
3+version.workspace = true
4+authors.workspace = true
55edition.workspace = true
66license.workspace = true
77rust-version.workspace = true
8−categories = ["editor"]
9−repository = "https://github.com/helix-editor/helix"
10−homepage = "https://helix-editor.com"
8+categories.workspace = true
9+repository.workspace = true
10+homepage.workspace = true
1111
1212# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
1313
1414[dependencies]
15−helix-core = { version = "0.6", path = "../helix-core" }
16−helix-event = { version = "0.6", path = "../helix-event" }
15+helix-core = { path = "../helix-core" }
16+helix-event = { path = "../helix-event" }
1717
1818tokio = { version = "1", features = ["rt", "rt-multi-thread", "time", "sync", "parking_lot", "macros"] }
1919parking_lot = "0.12"
@@ -29,4 +29,4 @@ log = "0.4"
2929git = ["gix"]
3030
3131[dev-dependencies]
32−tempfile = "3.8"
32+tempfile = "3.8"
helix-view/Cargo.toml+13−12
@@ -1,29 +1,30 @@
11[package]
22name = "helix-view"
3−version = "0.6.0"
4−authors = ["Blaž Hrastnik <blaz@mxxn.io>"]
3+description = "UI abstractions for use in backends"
4+version.workspace = true
5+authors.workspace = true
56edition.workspace = true
67license.workspace = true
78rust-version.workspace = true
8−description = "UI abstractions for use in backends"
9−categories = ["editor"]
10−repository = "https://github.com/helix-editor/helix"
11−homepage = "https://helix-editor.com"
9+categories.workspace = true
10+repository.workspace = true
11+homepage.workspace = true
1212
1313[features]
1414default = []
1515term = ["crossterm"]
1616
1717[dependencies]
18+helix-core = { path = "../helix-core" }
19+helix-event = { path = "../helix-event" }
20+helix-loader = { path = "../helix-loader" }
21+helix-lsp = { path = "../helix-lsp" }
22+helix-dap = { path = "../helix-dap" }
23+helix-vcs = { path = "../helix-vcs" }
24+
1825bitflags = "2.4"
1926anyhow = "1"
20−helix-core = { version = "0.6", path = "../helix-core" }
21−helix-event = { version = "0.6", path = "../helix-event" }
22−helix-loader = { version = "0.6", path = "../helix-loader" }
23−helix-lsp = { version = "0.6", path = "../helix-lsp" }
24−helix-dap = { version = "0.6", path = "../helix-dap" }
2527crossterm = { version = "0.27", optional = true }
26−helix-vcs = { version = "0.6", path = "../helix-vcs" }
2728
2829# Conversion traits
2930once_cell = "1.18"
xtask/Cargo.toml+12−6
@@ -1,13 +1,19 @@
11[package]
22name = "xtask"
3−version = "0.6.0"
4−edition = "2021"
3+version.workspace = true
4+authors.workspace = true
5+edition.workspace = true
6+license.workspace = true
7+rust-version.workspace = true
8+categories.workspace = true
9+repository.workspace = true
10+homepage.workspace = true
511
612# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
713
814[dependencies]
9−helix-term = { version = "0.6", path = "../helix-term" }
10−helix-core = { version = "0.6", path = "../helix-core" }
11−helix-view = { version = "0.6", path = "../helix-view" }
12−helix-loader = { version = "0.6", path = "../helix-loader" }
15+helix-term = { path = "../helix-term" }
16+helix-core = { path = "../helix-core" }
17+helix-view = { path = "../helix-view" }
18+helix-loader = { path = "../helix-loader" }
1319toml = "0.7"