aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSkyler Hawthorne2023-12-05 01:54:18 +0000
committerGitHub2023-12-05 01:54:18 +0000
commitbf7c4e165946f7a5be48c9d7e8abb8e68f066882 (patch)
tree2e5660f2562e0b6f424af4792348e7c3546e86ab
parent44c3d48a941c5e2d6484c808c9066b91cfbcf0ec (diff)
use workspace inheritance for common version (#8925)
-rw-r--r--Cargo.lock22
-rw-r--r--Cargo.toml5
-rw-r--r--VERSION1
-rw-r--r--docs/releases.md17
-rw-r--r--helix-core/Cargo.toml16
-rw-r--r--helix-dap/Cargo.toml15
-rw-r--r--helix-event/Cargo.toml10
-rw-r--r--helix-loader/Cargo.toml12
-rw-r--r--helix-loader/build.rs18
-rw-r--r--helix-lsp/Cargo.toml18
-rw-r--r--helix-parsec/Cargo.toml14
-rw-r--r--helix-term/Cargo.toml30
-rw-r--r--helix-tui/Cargo.toml21
-rw-r--r--helix-vcs/Cargo.toml16
-rw-r--r--helix-view/Cargo.toml25
-rw-r--r--xtask/Cargo.toml18
16 files changed, 143 insertions, 115 deletions
diff --git a/Cargo.lock b/Cargo.lock
index 7d4a2fc9..1e14ff02 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -1048,7 +1048,7 @@ dependencies = [
[[package]]
name = "helix-core"
-version = "0.6.0"
+version = "23.10.0"
dependencies = [
"ahash",
"arc-swap",
@@ -1083,7 +1083,7 @@ dependencies = [
[[package]]
name = "helix-dap"
-version = "0.6.0"
+version = "23.10.0"
dependencies = [
"anyhow",
"fern",
@@ -1098,7 +1098,7 @@ dependencies = [
[[package]]
name = "helix-event"
-version = "0.6.0"
+version = "23.10.0"
dependencies = [
"parking_lot",
"tokio",
@@ -1106,7 +1106,7 @@ dependencies = [
[[package]]
name = "helix-loader"
-version = "0.6.0"
+version = "23.10.0"
dependencies = [
"anyhow",
"cc",
@@ -1125,7 +1125,7 @@ dependencies = [
[[package]]
name = "helix-lsp"
-version = "0.6.0"
+version = "23.10.0"
dependencies = [
"anyhow",
"futures-executor",
@@ -1147,11 +1147,11 @@ dependencies = [
[[package]]
name = "helix-parsec"
-version = "0.6.0"
+version = "23.10.0"
[[package]]
name = "helix-term"
-version = "0.6.0"
+version = "23.10.0"
dependencies = [
"anyhow",
"arc-swap",
@@ -1193,7 +1193,7 @@ dependencies = [
[[package]]
name = "helix-tui"
-version = "0.6.0"
+version = "23.10.0"
dependencies = [
"bitflags 2.4.1",
"cassowary",
@@ -1209,7 +1209,7 @@ dependencies = [
[[package]]
name = "helix-vcs"
-version = "0.6.0"
+version = "23.10.0"
dependencies = [
"anyhow",
"arc-swap",
@@ -1225,7 +1225,7 @@ dependencies = [
[[package]]
name = "helix-view"
-version = "0.6.0"
+version = "23.10.0"
dependencies = [
"anyhow",
"arc-swap",
@@ -2610,7 +2610,7 @@ dependencies = [
[[package]]
name = "xtask"
-version = "0.6.0"
+version = "23.10.0"
dependencies = [
"helix-core",
"helix-loader",
diff --git a/Cargo.toml b/Cargo.toml
index f2cd9b76..6c006fbb 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -40,6 +40,11 @@ tree-sitter = { version = "0.20", git = "https://github.com/tree-sitter/tree-sit
nucleo = "0.2.0"
[workspace.package]
+version = "23.10.0"
edition = "2021"
+authors = ["Blaž Hrastnik <blaz@mxxn.io>"]
+categories = ["editor"]
+repository = "https://github.com/helix-editor/helix"
+homepage = "https://helix-editor.com"
license = "MPL-2.0"
rust-version = "1.70"
diff --git a/VERSION b/VERSION
deleted file mode 100644
index f5f8bffe..00000000
--- a/VERSION
+++ /dev/null
@@ -1 +0,0 @@
-23.10 \ No newline at end of file
diff --git a/docs/releases.md b/docs/releases.md
index 84288675..e39cfd91 100644
--- a/docs/releases.md
+++ b/docs/releases.md
@@ -1,16 +1,23 @@
## Checklist
Helix releases are versioned in the Calendar Versioning scheme:
-`YY.0M(.MICRO)`, for example, `22.05` for May of 2022. In these instructions
-we'll use `<tag>` as a placeholder for the tag being published.
+`YY.0M(.MICRO)`, for example, `22.05` for May of 2022, or in a patch release,
+`22.05.1`. In these instructions we'll use `<tag>` as a placeholder for the tag
+being published.
* Merge the changelog PR
* 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)
* Tag and push
* `git tag -s -m "<tag>" -a <tag> && git push`
* Make sure to switch to master and pull first
-* Edit the `VERSION` file and change the date to the next planned release
- * Releases are planned to happen every two months, so `22.05` would change to `22.07`
+* Edit the `Cargo.toml` file and change the date in the `version` field to the next planned release
+ * Due to Cargo having a strict requirement on SemVer with 3 or more version
+ numbers, a `0` is required in the micro version; however, unless we are
+ publishing a patch release after a major release, the `.0` is dropped in
+ the user facing version.
+ * Releases are planned to happen every two months, so `22.05.0` would change to `22.07.0`
+ * If we are pushing a patch/bugfix release in the same month as the previous
+ release, bump the micro version, e.g. `22.07.0` to `22.07.1`
* Wait for the Release CI to finish
* It will automatically turn the git tag into a GitHub release when it uploads artifacts
* Edit the new release
@@ -57,4 +64,4 @@ versions for convenience:
> release. For the full log, check out the git log.
Typically, small changes like dependencies or documentation updates, refactors,
-or meta changes like GitHub Actions work are left out. \ No newline at end of file
+or meta changes like GitHub Actions work are left out.
diff --git a/helix-core/Cargo.toml b/helix-core/Cargo.toml
index f3797af2..800b7a5d 100644
--- a/helix-core/Cargo.toml
+++ b/helix-core/Cargo.toml
@@ -1,22 +1,22 @@
[package]
name = "helix-core"
-version = "0.6.0"
-authors = ["Blaž Hrastnik <blaz@mxxn.io>"]
+description = "Helix editor core editing primitives"
+include = ["src/**/*", "README.md"]
+version.workspace = true
+authors.workspace = true
edition.workspace = true
license.workspace = true
rust-version.workspace = true
-description = "Helix editor core editing primitives"
-categories = ["editor"]
-repository = "https://github.com/helix-editor/helix"
-homepage = "https://helix-editor.com"
-include = ["src/**/*", "README.md"]
+categories.workspace = true
+repository.workspace = true
+homepage.workspace = true
[features]
unicode-lines = ["ropey/unicode_lines"]
integration = []
[dependencies]
-helix-loader = { version = "0.6", path = "../helix-loader" }
+helix-loader = { path = "../helix-loader" }
ropey = { version = "1.6.1", default-features = false, features = ["simd"] }
smallvec = "1.11"
diff --git a/helix-dap/Cargo.toml b/helix-dap/Cargo.toml
index b4dd5177..f7acb003 100644
--- a/helix-dap/Cargo.toml
+++ b/helix-dap/Cargo.toml
@@ -1,19 +1,20 @@
[package]
name = "helix-dap"
-version = "0.6.0"
-authors = ["Blaž Hrastnik <blaz@mxxn.io>"]
+description = "DAP client implementation for Helix project"
+version.workspace = true
+authors.workspace = true
edition.workspace = true
license.workspace = true
rust-version.workspace = true
-description = "DAP client implementation for Helix project"
-categories = ["editor"]
-repository = "https://github.com/helix-editor/helix"
-homepage = "https://helix-editor.com"
+categories.workspace = true
+repository.workspace = true
+homepage.workspace = true
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
-helix-core = { version = "0.6", path = "../helix-core" }
+helix-core = { path = "../helix-core" }
+
anyhow = "1.0"
log = "0.4"
serde = { version = "1.0", features = ["derive"] }
diff --git a/helix-event/Cargo.toml b/helix-event/Cargo.toml
index 2dd4b512..c2032824 100644
--- a/helix-event/Cargo.toml
+++ b/helix-event/Cargo.toml
@@ -1,13 +1,13 @@
[package]
name = "helix-event"
-version = "0.6.0"
-authors = ["Blaž Hrastnik <blaz@mxxn.io>"]
+version.workspace = true
+authors.workspace = true
edition.workspace = true
license.workspace = true
rust-version.workspace = true
-categories = ["editor"]
-repository = "https://github.com/helix-editor/helix"
-homepage = "https://helix-editor.com"
+categories.workspace = true
+repository.workspace = true
+homepage.workspace = true
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
diff --git a/helix-loader/Cargo.toml b/helix-loader/Cargo.toml
index b32318d0..1a98e94b 100644
--- a/helix-loader/Cargo.toml
+++ b/helix-loader/Cargo.toml
@@ -1,14 +1,14 @@
[package]
name = "helix-loader"
-version = "0.6.0"
-description = "A post-modern text editor."
-authors = ["Blaž Hrastnik <blaz@mxxn.io>"]
+description = "Build bootstrapping for Helix crates"
+version.workspace = true
+authors.workspace = true
edition.workspace = true
license.workspace = true
rust-version.workspace = true
-categories = ["editor"]
-repository = "https://github.com/helix-editor/helix"
-homepage = "https://helix-editor.com"
+categories.workspace = true
+repository.workspace = true
+homepage.workspace = true
[[bin]]
name = "hx-loader"
diff --git a/helix-loader/build.rs b/helix-loader/build.rs
index 74ba2a2b..a4562c00 100644
--- a/helix-loader/build.rs
+++ b/helix-loader/build.rs
@@ -2,7 +2,17 @@ use std::borrow::Cow;
use std::path::Path;
use std::process::Command;
-const VERSION: &str = include_str!("../VERSION");
+const MAJOR: &str = env!("CARGO_PKG_VERSION_MAJOR");
+const MINOR: &str = env!("CARGO_PKG_VERSION_MINOR");
+const PATCH: &str = env!("CARGO_PKG_VERSION_PATCH");
+
+fn get_calver() -> String {
+ if PATCH == "0" {
+ format!("{MAJOR}.{MINOR}")
+ } else {
+ format!("{MAJOR}.{MINOR}.{PATCH}")
+ }
+}
fn main() {
let git_hash = Command::new("git")
@@ -12,9 +22,10 @@ fn main() {
.filter(|output| output.status.success())
.and_then(|x| String::from_utf8(x.stdout).ok());
+ let calver = get_calver();
let version: Cow<_> = match &git_hash {
- Some(git_hash) => format!("{} ({})", VERSION, &git_hash[..8]).into(),
- None => VERSION.into(),
+ Some(git_hash) => format!("{} ({})", calver, &git_hash[..8]).into(),
+ None => calver.into(),
};
println!(
@@ -22,7 +33,6 @@ fn main() {
std::env::var("TARGET").unwrap()
);
- println!("cargo:rerun-if-changed=../VERSION");
println!("cargo:rustc-env=VERSION_AND_GIT_HASH={}", version);
if git_hash.is_none() {
diff --git a/helix-lsp/Cargo.toml b/helix-lsp/Cargo.toml
index d9507f1b..66b67f8e 100644
--- a/helix-lsp/Cargo.toml
+++ b/helix-lsp/Cargo.toml
@@ -1,21 +1,21 @@
[package]
name = "helix-lsp"
-version = "0.6.0"
-authors = ["Blaž Hrastnik <blaz@mxxn.io>"]
+description = "LSP client implementation for Helix project"
+version.workspace = true
+authors.workspace = true
edition.workspace = true
license.workspace = true
rust-version.workspace = true
-description = "LSP client implementation for Helix project"
-categories = ["editor"]
-repository = "https://github.com/helix-editor/helix"
-homepage = "https://helix-editor.com"
+categories.workspace = true
+repository.workspace = true
+homepage.workspace = true
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
-helix-core = { version = "0.6", path = "../helix-core" }
-helix-loader = { version = "0.6", path = "../helix-loader" }
-helix-parsec = { version = "0.6", path = "../helix-parsec" }
+helix-core = { path = "../helix-core" }
+helix-loader = { path = "../helix-loader" }
+helix-parsec = { path = "../helix-parsec" }
anyhow = "1.0"
futures-executor = "0.3"
diff --git a/helix-parsec/Cargo.toml b/helix-parsec/Cargo.toml
index d2b6105e..21769121 100644
--- a/helix-parsec/Cargo.toml
+++ b/helix-parsec/Cargo.toml
@@ -1,14 +1,14 @@
[package]
name = "helix-parsec"
-version = "0.6.0"
-authors = ["Blaž Hrastnik <blaz@mxxn.io>"]
+description = "Parser combinators for Helix"
+include = ["src/**/*", "README.md"]
+version.workspace = true
+authors.workspace = true
edition.workspace = true
license.workspace = true
rust-version.workspace = true
-description = "Parser combinators for Helix"
-categories = ["editor"]
-repository = "https://github.com/helix-editor/helix"
-homepage = "https://helix-editor.com"
-include = ["src/**/*", "README.md"]
+categories.workspace = true
+repository.workspace = true
+homepage.workspace = true
[dependencies]
diff --git a/helix-term/Cargo.toml b/helix-term/Cargo.toml
index eaed8375..33594c0f 100644
--- a/helix-term/Cargo.toml
+++ b/helix-term/Cargo.toml
@@ -1,16 +1,16 @@
[package]
name = "helix-term"
-version = "0.6.0"
description = "A post-modern text editor."
-authors = ["Blaž Hrastnik <blaz@mxxn.io>"]
-edition.workspace = true
-license.workspace = true
-categories = ["editor", "command-line-utilities"]
-repository = "https://github.com/helix-editor/helix"
-homepage = "https://helix-editor.com"
include = ["src/**/*", "README.md"]
default-run = "hx"
+version.workspace = true
+authors.workspace = true
+edition.workspace = true
+license.workspace = true
rust-version.workspace = true
+categories.workspace = true
+repository.workspace = true
+homepage.workspace = true
[features]
default = ["git"]
@@ -23,13 +23,13 @@ name = "hx"
path = "src/main.rs"
[dependencies]
-helix-core = { version = "0.6", path = "../helix-core" }
-helix-event = { version = "0.6", path = "../helix-event" }
-helix-view = { version = "0.6", path = "../helix-view" }
-helix-lsp = { version = "0.6", path = "../helix-lsp" }
-helix-dap = { version = "0.6", path = "../helix-dap" }
-helix-vcs = { version = "0.6", path = "../helix-vcs" }
-helix-loader = { version = "0.6", path = "../helix-loader" }
+helix-core = { path = "../helix-core" }
+helix-event = { path = "../helix-event" }
+helix-view = { path = "../helix-view" }
+helix-lsp = { path = "../helix-lsp" }
+helix-dap = { path = "../helix-dap" }
+helix-vcs = { path = "../helix-vcs" }
+helix-loader = { path = "../helix-loader" }
anyhow = "1"
once_cell = "1.18"
@@ -79,7 +79,7 @@ libc = "0.2.150"
crossterm = { version = "0.27", features = ["event-stream", "use-dev-tty"] }
[build-dependencies]
-helix-loader = { version = "0.6", path = "../helix-loader" }
+helix-loader = { path = "../helix-loader" }
[dev-dependencies]
smallvec = "1.11"
diff --git a/helix-tui/Cargo.toml b/helix-tui/Cargo.toml
index 602fa3e5..c6af90fc 100644
--- a/helix-tui/Cargo.toml
+++ b/helix-tui/Cargo.toml
@@ -1,22 +1,23 @@
[package]
name = "helix-tui"
-version = "0.6.0"
-authors = ["Blaž Hrastnik <blaz@mxxn.io>"]
-description = """
-A library to build rich terminal user interfaces or dashboards
-"""
+description = """A library to build rich terminal user interfaces or dashboards"""
+include = ["src/**/*", "README.md"]
+version.workspace = true
+authors.workspace = true
edition.workspace = true
license.workspace = true
rust-version.workspace = true
-categories = ["editor"]
-repository = "https://github.com/helix-editor/helix"
-homepage = "https://helix-editor.com"
-include = ["src/**/*", "README.md"]
+categories.workspace = true
+repository.workspace = true
+homepage.workspace = true
[features]
default = ["crossterm"]
[dependencies]
+helix-view = { path = "../helix-view", features = ["term"] }
+helix-core = { path = "../helix-core" }
+
bitflags = "2.4"
cassowary = "0.3"
unicode-segmentation = "1.10"
@@ -25,5 +26,3 @@ termini = "1.0"
serde = { version = "1", "optional" = true, features = ["derive"]}
once_cell = "1.18"
log = "~0.4"
-helix-view = { version = "0.6", path = "../helix-view", features = ["term"] }
-helix-core = { version = "0.6", path = "../helix-core" }
diff --git a/helix-vcs/Cargo.toml b/helix-vcs/Cargo.toml
index 1152cf9a..ba38160f 100644
--- a/helix-vcs/Cargo.toml
+++ b/helix-vcs/Cargo.toml
@@ -1,19 +1,19 @@
[package]
name = "helix-vcs"
-version = "0.6.0"
-authors = ["Blaž Hrastnik <blaz@mxxn.io>"]
+version.workspace = true
+authors.workspace = true
edition.workspace = true
license.workspace = true
rust-version.workspace = true
-categories = ["editor"]
-repository = "https://github.com/helix-editor/helix"
-homepage = "https://helix-editor.com"
+categories.workspace = true
+repository.workspace = true
+homepage.workspace = true
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
-helix-core = { version = "0.6", path = "../helix-core" }
-helix-event = { version = "0.6", path = "../helix-event" }
+helix-core = { path = "../helix-core" }
+helix-event = { path = "../helix-event" }
tokio = { version = "1", features = ["rt", "rt-multi-thread", "time", "sync", "parking_lot", "macros"] }
parking_lot = "0.12"
@@ -29,4 +29,4 @@ log = "0.4"
git = ["gix"]
[dev-dependencies]
-tempfile = "3.8" \ No newline at end of file
+tempfile = "3.8"
diff --git a/helix-view/Cargo.toml b/helix-view/Cargo.toml
index 9fc83d4c..5fb6d96b 100644
--- a/helix-view/Cargo.toml
+++ b/helix-view/Cargo.toml
@@ -1,29 +1,30 @@
[package]
name = "helix-view"
-version = "0.6.0"
-authors = ["Blaž Hrastnik <blaz@mxxn.io>"]
+description = "UI abstractions for use in backends"
+version.workspace = true
+authors.workspace = true
edition.workspace = true
license.workspace = true
rust-version.workspace = true
-description = "UI abstractions for use in backends"
-categories = ["editor"]
-repository = "https://github.com/helix-editor/helix"
-homepage = "https://helix-editor.com"
+categories.workspace = true
+repository.workspace = true
+homepage.workspace = true
[features]
default = []
term = ["crossterm"]
[dependencies]
+helix-core = { path = "../helix-core" }
+helix-event = { path = "../helix-event" }
+helix-loader = { path = "../helix-loader" }
+helix-lsp = { path = "../helix-lsp" }
+helix-dap = { path = "../helix-dap" }
+helix-vcs = { path = "../helix-vcs" }
+
bitflags = "2.4"
anyhow = "1"
-helix-core = { version = "0.6", path = "../helix-core" }
-helix-event = { version = "0.6", path = "../helix-event" }
-helix-loader = { version = "0.6", path = "../helix-loader" }
-helix-lsp = { version = "0.6", path = "../helix-lsp" }
-helix-dap = { version = "0.6", path = "../helix-dap" }
crossterm = { version = "0.27", optional = true }
-helix-vcs = { version = "0.6", path = "../helix-vcs" }
# Conversion traits
once_cell = "1.18"
diff --git a/xtask/Cargo.toml b/xtask/Cargo.toml
index ed118294..0a61536f 100644
--- a/xtask/Cargo.toml
+++ b/xtask/Cargo.toml
@@ -1,13 +1,19 @@
[package]
name = "xtask"
-version = "0.6.0"
-edition = "2021"
+version.workspace = true
+authors.workspace = true
+edition.workspace = true
+license.workspace = true
+rust-version.workspace = true
+categories.workspace = true
+repository.workspace = true
+homepage.workspace = true
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
-helix-term = { version = "0.6", path = "../helix-term" }
-helix-core = { version = "0.6", path = "../helix-core" }
-helix-view = { version = "0.6", path = "../helix-view" }
-helix-loader = { version = "0.6", path = "../helix-loader" }
+helix-term = { path = "../helix-term" }
+helix-core = { path = "../helix-core" }
+helix-view = { path = "../helix-view" }
+helix-loader = { path = "../helix-loader" }
toml = "0.7"