From 39a39555c0c466842f7e5fadee2a646d7b1e12ec Mon Sep 17 00:00:00 2001 From: Bruce Mitchener Date: Mon, 12 Aug 2024 14:41:37 +0700 Subject: [PATCH] Use workspace inheritance. (#701) Consolidate package configuration where possible. This also removes the `homepage` key as it only points to the repository so isn't providing anything additional. Use workspace dependencies for the crates provided by the workspace and used within the workspace. This centralizes the version number maintenance a bit. --- Cargo.toml | 14 ++++++++++++++ cocoa-foundation/Cargo.toml | 20 +++++++++---------- cocoa/Cargo.toml | 24 +++++++++++------------ core-foundation-sys/Cargo.toml | 20 +++++++++---------- core-foundation/Cargo.toml | 27 ++++++++++++-------------- core-graphics-types/Cargo.toml | 20 +++++++++---------- core-graphics/Cargo.toml | 35 +++++++++++++++++----------------- core-text/Cargo.toml | 22 +++++++++++---------- io-surface/Cargo.toml | 17 +++++++++-------- 9 files changed, 107 insertions(+), 92 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 0540ef4e5..0ff116216 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,2 +1,16 @@ [workspace] members = ["core-foundation", "core-foundation-sys", "core-graphics-types", "core-graphics", "core-text", "cocoa", "cocoa-foundation", "io-surface"] + +[workspace.package] +authors = ["The Servo Project Developers"] +edition = "2018" +license = "MIT OR Apache-2.0" +repository = "https://github.com/servo/core-foundation-rs" +rust-version = "1.65" + +[workspace.dependencies] +cocoa-foundation = { default-features = false, path = "cocoa-foundation", version = "0.2" } +core-foundation = { default-features = false, path = "core-foundation", version = "0.10" } +core-foundation-sys = { default-features = false, path = "core-foundation-sys", version = "0.8" } +core-graphics = { default-features = false, path = "core-graphics", version = "0.24" } +core-graphics-types = { default-features = false, path = "core-graphics-types", version = "0.2" } diff --git a/cocoa-foundation/Cargo.toml b/cocoa-foundation/Cargo.toml index 002324bf1..eccc0b642 100644 --- a/cocoa-foundation/Cargo.toml +++ b/cocoa-foundation/Cargo.toml @@ -1,23 +1,23 @@ - [package] name = "cocoa-foundation" description = "Bindings to Cocoa Foundation for macOS" -homepage = "https://github.com/servo/core-foundation-rs" -repository = "https://github.com/servo/core-foundation-rs" version = "0.2.0" -authors = ["The Servo Project Developers"] -license = "MIT OR Apache-2.0" -edition = "2018" -rust-version = "1.65" + +authors.workspace = true +edition.workspace = true +license.workspace = true +repository.workspace = true +rust-version.workspace = true [package.metadata.docs.rs] default-target = "x86_64-apple-darwin" [dependencies] -block = "0.1" +core-foundation.workspace = true +core-graphics-types.workspace = true + bitflags = "2" -core-foundation = { default-features = false, path = "../core-foundation", version = "0.10" } -core-graphics-types = { default-features = false, path = "../core-graphics-types", version = "0.2" } +block = "0.1" objc = "0.2.3" [features] diff --git a/cocoa/Cargo.toml b/cocoa/Cargo.toml index 7a58be9ff..825498a4b 100644 --- a/cocoa/Cargo.toml +++ b/cocoa/Cargo.toml @@ -1,26 +1,26 @@ - [package] name = "cocoa" description = "Bindings to Cocoa for macOS" -homepage = "https://github.com/servo/core-foundation-rs" -repository = "https://github.com/servo/core-foundation-rs" version = "0.26.0" -authors = ["The Servo Project Developers"] -license = "MIT OR Apache-2.0" -edition = "2018" -rust-version = "1.65" + +authors.workspace = true +edition.workspace = true +license.workspace = true +repository.workspace = true +rust-version.workspace = true [package.metadata.docs.rs] default-target = "x86_64-apple-darwin" [dependencies] -block = "0.1" +cocoa-foundation.workspace = true +core-foundation.workspace = true +core-graphics.workspace = true + bitflags = "2" -libc = "0.2" -cocoa-foundation = { default-features = false, path = "../cocoa-foundation", version = "0.2" } -core-foundation = { default-features = false, path = "../core-foundation", version = "0.10" } -core-graphics = { default-features = false, path = "../core-graphics", version = "0.24" } +block = "0.1" foreign-types = "0.5" +libc = "0.2" objc = "0.2.3" [features] diff --git a/core-foundation-sys/Cargo.toml b/core-foundation-sys/Cargo.toml index 8ede9df33..5a5766316 100644 --- a/core-foundation-sys/Cargo.toml +++ b/core-foundation-sys/Cargo.toml @@ -1,13 +1,17 @@ [package] name = "core-foundation-sys" description = "Bindings to Core Foundation for macOS" -homepage = "https://github.com/servo/core-foundation-rs" -repository = "https://github.com/servo/core-foundation-rs" version = "0.8.7" -authors = ["The Servo Project Developers"] -license = "MIT OR Apache-2.0" -edition = "2018" -rust-version = "1.65" + +authors.workspace = true +edition.workspace = true +license.workspace = true +repository.workspace = true +rust-version.workspace = true + +[package.metadata.docs.rs] +all-features = true +default-target = "x86_64-apple-darwin" [dependencies] @@ -17,7 +21,3 @@ mac_os_10_7_support = [] # backwards compatibility mac_os_10_8_features = [] # enables new features # Disable to manually link. Enabled by default. link = [] - -[package.metadata.docs.rs] -all-features = true -default-target = "x86_64-apple-darwin" diff --git a/core-foundation/Cargo.toml b/core-foundation/Cargo.toml index da55651f0..1e009919e 100644 --- a/core-foundation/Cargo.toml +++ b/core-foundation/Cargo.toml @@ -1,22 +1,24 @@ [package] name = "core-foundation" description = "Bindings to Core Foundation for macOS" -homepage = "https://github.com/servo/core-foundation-rs" -repository = "https://github.com/servo/core-foundation-rs" version = "0.10.0" -authors = ["The Servo Project Developers"] -license = "MIT OR Apache-2.0" + categories = ["os::macos-apis"] keywords = ["macos", "framework", "objc"] -edition = "2018" -rust-version = "1.65" -[dependencies.core-foundation-sys] -path = "../core-foundation-sys" -default-features = false -version = "0.8.7" +authors.workspace = true +edition.workspace = true +license.workspace = true +repository.workspace = true +rust-version.workspace = true + +[package.metadata.docs.rs] +all-features = true +default-target = "x86_64-apple-darwin" [dependencies] +core-foundation-sys.workspace = true + libc = "0.2" uuid = { version = "1", optional = true } @@ -28,8 +30,3 @@ mac_os_10_8_features = ["core-foundation-sys/mac_os_10_8_features"] # enables ne with-uuid = ["dep:uuid"] # Disable to manually link. Enabled by default. link = ["core-foundation-sys/link"] - - -[package.metadata.docs.rs] -all-features = true -default-target = "x86_64-apple-darwin" diff --git a/core-graphics-types/Cargo.toml b/core-graphics-types/Cargo.toml index 3d52666fb..04221b5e2 100644 --- a/core-graphics-types/Cargo.toml +++ b/core-graphics-types/Cargo.toml @@ -1,21 +1,21 @@ [package] name = "core-graphics-types" description = "Bindings for some fundamental Core Graphics types" -homepage = "https://github.com/servo/core-foundation-rs" -repository = "https://github.com/servo/core-foundation-rs" version = "0.2.0" -authors = ["The Servo Project Developers"] -license = "MIT OR Apache-2.0" -edition = "2018" -rust-version = "1.65" + +authors.workspace = true +edition.workspace = true +license.workspace = true +repository.workspace = true +rust-version.workspace = true + +[package.metadata.docs.rs] +default-target = "x86_64-apple-darwin" [dependencies] -core-foundation = { default-features = false, path = "../core-foundation", version = "0.10" } +core-foundation.workspace = true [features] default = ["link"] # Disable to manually link. Enabled by default. link = ["core-foundation/link"] - -[package.metadata.docs.rs] -default-target = "x86_64-apple-darwin" diff --git a/core-graphics/Cargo.toml b/core-graphics/Cargo.toml index aa166cbb4..5e3d2a440 100644 --- a/core-graphics/Cargo.toml +++ b/core-graphics/Cargo.toml @@ -1,28 +1,29 @@ [package] name = "core-graphics" description = "Bindings to Core Graphics for macOS" -homepage = "https://github.com/servo/core-foundation-rs" -repository = "https://github.com/servo/core-foundation-rs" version = "0.24.0" -authors = ["The Servo Project Developers"] -license = "MIT OR Apache-2.0" -edition = "2018" -rust-version = "1.65" -[features] -default = ["link"] -elcapitan = [] -highsierra = [] -# Disable to manually link. Enabled by default. -link = ["core-foundation/link", "core-graphics-types/link"] +authors.workspace = true +edition.workspace = true +license.workspace = true +repository.workspace = true +rust-version.workspace = true + +[package.metadata.docs.rs] +all-features = true +default-target = "x86_64-apple-darwin" [dependencies] +core-foundation.workspace = true +core-graphics-types.workspace = true + bitflags = "2" -core-foundation = { default-features = false, path = "../core-foundation", version = "0.10" } -core-graphics-types = { default-features = false, path = "../core-graphics-types", version = "0.2" } foreign-types = "0.5.0" libc = "0.2" -[package.metadata.docs.rs] -all-features = true -default-target = "x86_64-apple-darwin" +[features] +default = ["link"] +elcapitan = [] +highsierra = [] +# Disable to manually link. Enabled by default. +link = ["core-foundation/link", "core-graphics-types/link"] diff --git a/core-text/Cargo.toml b/core-text/Cargo.toml index 9d1d05462..fb9183597 100644 --- a/core-text/Cargo.toml +++ b/core-text/Cargo.toml @@ -1,17 +1,24 @@ [package] name = "core-text" version = "21.0.0" -authors = ["The Servo Project Developers"] description = "Bindings to the Core Text framework." -license = "MIT OR Apache-2.0" -repository = "https://github.com/servo/core-foundation-rs" -edition = "2018" -rust-version = "1.65" + +authors.workspace = true +edition.workspace = true +license.workspace = true +repository.workspace = true +rust-version.workspace = true [package.metadata.docs.rs] all-features = true default-target = "x86_64-apple-darwin" +[dependencies] +core-foundation.workspace = true +core-graphics.workspace = true + +foreign-types = "0.5" + [features] default = ["mountainlion", "link"] # For OS X 10.7 compat, exclude this feature. It will exclude some things from @@ -19,8 +26,3 @@ default = ["mountainlion", "link"] mountainlion = [] # Disable to manually link. Enabled by default. link = ["core-foundation/link", "core-graphics/link"] - -[dependencies] -foreign-types = "0.5" -core-foundation = { default-features = false, path = "../core-foundation", version = "0.10" } -core-graphics = { default-features = false, path = "../core-graphics", version = "0.24" } diff --git a/io-surface/Cargo.toml b/io-surface/Cargo.toml index 8fbb3945d..450e26d49 100644 --- a/io-surface/Cargo.toml +++ b/io-surface/Cargo.toml @@ -1,20 +1,21 @@ [package] name = "io-surface" description = "Bindings to IO Surface for macOS" -homepage = "https://github.com/servo/core-foundation-rs" -repository = "https://github.com/servo/core-foundation-rs" version = "0.16.0" -authors = ["The Servo Project Developers"] -license = "MIT OR Apache-2.0" -edition = "2018" -rust-version = "1.65" + +authors.workspace = true +edition.workspace = true +license.workspace = true +repository.workspace = true +rust-version.workspace = true [package.metadata.docs.rs] default-target = "x86_64-apple-darwin" [dependencies] -core-foundation = { default-features = false, path = "../core-foundation", version = "0.10" } -core-foundation-sys = { default-features = false, path = "../core-foundation-sys", version = "0.8" } +core-foundation.workspace = true +core-foundation-sys.workspace = true + cgl = "0.3" leaky-cow = "0.1.1"