build: do not use workspace dependencies (#695)

As written in the workspace Cargo.toml:

> Note that for better cross-tooling interactions, do not use workspace
dependencies for anything that is not "workspace internal" (e.g.: mostly
dev-dependencies). E.g.: release-plz can’t detect that a dependency has
been
updated in a way warranting a version bump in the dependant if no commit
is
touching a file associated to the crate. It is technically okay to use
that
for "private" (i.e.: not used in the public API) dependencies too, but
we
still want to make follow-up releases to stay up to date with the
community,
even for private dependencies.

Expectation is that release-plz will be able to auto-detect when bumping
dependents is necessary.

Closes #689
This commit is contained in:
Benoît Cortier 2025-03-12 14:25:01 +01:00 committed by GitHub
parent 5c890d40ad
commit c21fa44fd6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
34 changed files with 195 additions and 244 deletions

2
Cargo.lock generated
View file

@ -2791,7 +2791,7 @@ dependencies = [
[[package]]
name = "ironrdp-web"
version = "0.1.0"
version = "0.0.0"
dependencies = [
"anyhow",
"base64",

View file

@ -23,55 +23,22 @@ keywords = ["rdp", "remote-desktop", "network", "client", "protocol"]
categories = ["network-programming"]
[workspace.dependencies]
ironrdp-acceptor = { version = "0.3", path = "crates/ironrdp-acceptor" }
ironrdp-ainput = { version = "0.1", path = "crates/ironrdp-ainput" }
ironrdp-async = { version = "0.3", path = "crates/ironrdp-async" }
ironrdp-bench = { version = "0.1", path = "crates/ironrdp-bench" }
ironrdp-blocking = { version = "0.3", path = "crates/ironrdp-blocking" }
ironrdp-cliprdr = { version = "0.1", path = "crates/ironrdp-cliprdr" }
ironrdp-cliprdr-native = { version = "0.1", path = "crates/ironrdp-cliprdr-native" }
ironrdp-cliprdr-format = { version = "0.1", path = "crates/ironrdp-cliprdr-format" }
ironrdp-core = { version = "0.1", path = "crates/ironrdp-core" }
ironrdp-connector = { version = "0.3", path = "crates/ironrdp-connector" }
ironrdp-dvc = { version = "0.1", path = "crates/ironrdp-dvc" }
ironrdp-displaycontrol = { version = "0.1", path = "crates/ironrdp-displaycontrol" }
ironrdp-error = { version = "0.1", path = "crates/ironrdp-error" }
ironrdp-futures = { version = "0.1", path = "crates/ironrdp-futures" }
ironrdp-fuzzing = { path = "crates/ironrdp-fuzzing" }
ironrdp-graphics = { version = "0.2", path = "crates/ironrdp-graphics" }
ironrdp-input = { version = "0.1", path = "crates/ironrdp-input" }
ironrdp-pdu-generators = { path = "crates/ironrdp-pdu-generators" }
ironrdp-pdu = { version = "0.3", path = "crates/ironrdp-pdu" }
ironrdp-rdcleanpath = { version = "0.1", path = "crates/ironrdp-rdcleanpath" }
ironrdp-rdpdr = { version = "0.1", path = "crates/ironrdp-rdpdr" }
ironrdp-rdpdr-native = { version = "0.1", path = "crates/ironrdp-rdpdr-native" }
ironrdp-rdpsnd = { version = "0.3", path = "crates/ironrdp-rdpsnd" }
ironrdp-rdpsnd-native = { version = "0.1", path = "crates/ironrdp-rdpsnd-native" }
ironrdp-server = { version = "0.4", path = "crates/ironrdp-server" }
ironrdp-session-generators = { path = "crates/ironrdp-session-generators" }
ironrdp-session = { version = "0.2", path = "crates/ironrdp-session" }
ironrdp-svc = { version = "0.1", path = "crates/ironrdp-svc" }
ironrdp-testsuite-core = { path = "crates/ironrdp-testsuite-core" }
ironrdp-testsuite-extra = { path = "crates/ironrdp-testsuite-extra" }
ironrdp-tls = { version = "0.1", path = "crates/ironrdp-tls" }
ironrdp-tokio = { version = "0.2", path = "crates/ironrdp-tokio" }
ironrdp = { version = "0.7", path = "crates/ironrdp" }
bitflags = "2.4"
# Note that for better cross-tooling interactions, do not use workspace
# dependencies for anything that is not "workspace internal" (e.g.: mostly
# dev-dependencies). E.g.: release-plz cant detect that a dependency has been
# updated in a way warranting a version bump in the dependant if no commit is
# touching a file associated to the crate. It is technically okay to use that
# for "private" (i.e.: not used in the public API) dependencies too, but we
# still want to make follow-up releases to stay up to date with the community,
# even for private dependencies.
expect-test = "1"
png = "0.17"
proptest = "1.4"
rstest = "0.18"
sspi = "0.15"
tracing = { version = "0.1", features = ["log"] }
thiserror = "1.0"
windows = "0.58"
# Note: we are trying to move away from using these crates.
# They are being kept around for now for legacy compatibility,
# but new usage should be avoided.
byteorder = "1.5"
lazy_static = "1.4" # prefer https://doc.rust-lang.org/std/sync/struct.OnceLock.html
lazy_static = "1.4" # Legacy crate; prefer std::sync::LazyLock or LazyCell
num-derive = "0.4"
num-traits = "0.2"

View file

@ -16,12 +16,12 @@ doctest = false
test = false
[dependencies]
ironrdp-pdu.workspace = true
ironrdp-svc.workspace = true
ironrdp-connector.workspace = true
ironrdp-async.workspace = true
tracing.workspace = true
ironrdp-core = { workspace = true, features = ["alloc"] }
ironrdp-core = { path = "../ironrdp-core", version = "0.1", features = ["alloc"] }
ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.3" }
ironrdp-svc = { path = "../ironrdp-svc", version = "0.1" }
ironrdp-connector = { path = "../ironrdp-connector", version = "0.3" }
ironrdp-async = { path = "../ironrdp-async", version = "0.3" }
tracing = { version = "0.1", features = ["log"] }
[lints]
workspace = true

View file

@ -16,9 +16,9 @@ doctest = false
test = false
[dependencies]
bitflags.workspace = true
ironrdp-core.workspace = true
ironrdp-dvc.workspace = true
bitflags = "2.4"
ironrdp-core = { path = "../ironrdp-core", version = "0.1" }
ironrdp-dvc = { path = "../ironrdp-dvc", version = "0.1" }
num-derive.workspace = true # TODO: remove
num-traits.workspace = true # TODO: remove

View file

@ -16,13 +16,12 @@ doctest = false
test = false
[dependencies]
ironrdp-connector = { path = "../ironrdp-connector", version = "0.3" }
ironrdp-core = { path = "../ironrdp-core", version = "0.1", features = ["alloc"] }
ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.3" }
# ironrdp-session = { workspace = "../ironrdp-session", version = "0.2" }
tracing = { version = "0.1", features = ["log"] }
bytes = "1"
ironrdp-connector.workspace = true
ironrdp-core = { workspace = true, features = ["alloc"] }
ironrdp-pdu.workspace = true
# ironrdp-session.workspace = true
tracing.workspace = true
[lints]
workspace = true

View file

@ -13,9 +13,9 @@ publish = false
[dev-dependencies]
criterion = "0.5"
ironrdp-graphics.workspace = true
ironrdp-pdu.workspace = true
ironrdp-server = { workspace = true, features = ["__bench"] }
ironrdp-graphics.path = "../ironrdp-graphics"
ironrdp-pdu.path = "../ironrdp-pdu"
ironrdp-server = { path = "../ironrdp-server", features = ["__bench"] }
[[bench]]
name = "bench"

View file

@ -17,11 +17,11 @@ test = false
[dependencies]
bytes = "1"
ironrdp-connector.workspace = true
ironrdp-core = { workspace = true, features = ["alloc"] }
ironrdp-pdu.workspace = true
# ironrdp-session.workspace = true
tracing.workspace = true
ironrdp-connector = { path = "../ironrdp-connector", version = "0.3" }
ironrdp-core = { path = "../ironrdp-core", version = "0.1", features = ["alloc"] }
ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.3" }
# ironrdp-session = { path = "../ironrdp-session", version = "0.2" }
tracing = { version = "0.1", features = ["log"] }
[lints]
workspace = true

View file

@ -29,9 +29,8 @@ rustls = ["ironrdp-tls/rustls"]
native-tls = ["ironrdp-tls/native-tls"]
[dependencies]
# Protocols
ironrdp = { workspace = true, features = [
ironrdp = { path = "../ironrdp", version = "0.7", features = [
"session",
"input",
"graphics",
@ -43,14 +42,12 @@ ironrdp = { workspace = true, features = [
"displaycontrol",
"connector"
] }
ironrdp-cliprdr-native.workspace = true
ironrdp-rdpsnd-native.workspace = true
ironrdp-tls.workspace = true
ironrdp-tokio.workspace = true
sspi = { workspace = true, features = [
"network_client",
"dns_resolver",
] } # enable additional features
ironrdp-core = { path = "../ironrdp-core", version = "0.1", features = ["alloc"] }
ironrdp-cliprdr-native = { path = "../ironrdp-cliprdr-native", version = "0.1" }
ironrdp-rdpsnd-native = { path = "../ironrdp-rdpsnd-native", version = "0.1" }
ironrdp-tls = { path = "../ironrdp-tls", version = "0.1" }
ironrdp-tokio = { path = "../ironrdp-tokio", version = "0.2" }
sspi = { version = "0.15", features = ["network_client", "dns_resolver"] } # TODO: enable additional features
# Windowing and rendering
winit = { version = "0.30", features = ["rwh_06"] }
@ -62,7 +59,7 @@ proc-exit = "2"
inquire = "0.7"
# Logging
tracing.workspace = true
tracing = { version = "0.1", features = ["log"] }
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
# Async, futures
@ -76,12 +73,11 @@ tap = "1"
semver = "1"
reqwest = "0.12"
url = "2.5"
raw-window-handle = "0.6.2"
ironrdp-core = { workspace = true, features = ["alloc"] }
uuid = { version = "1.12.1"}
raw-window-handle = "0.6"
uuid = { version = "1.12" }
[target.'cfg(windows)'.dependencies]
windows = { workspace = true, features = ["Win32_Foundation"] }
windows = { version = "0.58", features = ["Win32_Foundation"] }
[lints]
workspace = true

View file

@ -5,7 +5,6 @@ readme = "README.md"
description = "CLIPRDR format conversion library"
edition.workspace = true
license.workspace = true
homepage.workspace = true
repository.workspace = true
authors.workspace = true
@ -17,8 +16,8 @@ doctest = false
test = false
[dependencies]
ironrdp-core.workspace = true
thiserror.workspace = true # FIXME: handwrite the Error trait implementations.
ironrdp-core = { path = "../ironrdp-core", version = "0.1" }
thiserror = "1" # FIXME: handwrite the Error trait implementations.
png = "0.17"
[lints]

View file

@ -5,7 +5,6 @@ readme = "README.md"
description = "Native CLIPRDR static channel backend implementations for IronRDP"
edition.workspace = true
license.workspace = true
homepage.workspace = true
repository.workspace = true
authors.workspace = true
@ -17,13 +16,13 @@ doctest = false
test = false
[dependencies]
ironrdp-cliprdr.workspace = true
ironrdp-core.workspace = true
tracing.workspace = true
ironrdp-cliprdr = { path = "../ironrdp-cliprdr", version = "0.1" }
ironrdp-core = { path = "../ironrdp-core", version = "0.1" }
tracing = { version = "0.1", features = ["log"] }
[target.'cfg(windows)'.dependencies]
thiserror.workspace = true
windows = { workspace = true, features = [
thiserror = "1"
windows = { version = "0.58", features = [
"Win32_Foundation",
"Win32_Graphics_Gdi",
"Win32_System_DataExchange",

View file

@ -5,7 +5,6 @@ readme = "README.md"
description = "CLIPRDR static channel for clipboard implemented as described in MS-RDPECLIP"
edition.workspace = true
license.workspace = true
homepage.workspace = true
repository.workspace = true
authors.workspace = true
@ -17,12 +16,12 @@ doctest = false
test = false
[dependencies]
ironrdp-core.workspace = true
ironrdp-pdu.workspace = true
ironrdp-svc.workspace = true
thiserror.workspace = true
tracing.workspace = true
bitflags.workspace = true
ironrdp-core = { path = "../ironrdp-core", version = "0.1" }
ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.3" }
ironrdp-svc = { path = "../ironrdp-svc", version = "0.1" }
thiserror = "1.0"
tracing = { version = "0.1", features = ["log"] }
bitflags = "2.4"
[lints]
workspace = true

View file

@ -19,16 +19,14 @@ test = false
arbitrary = ["dep:arbitrary"]
[dependencies]
ironrdp-svc = { path = "../ironrdp-svc", version = "0.1" }
ironrdp-core = { path = "../ironrdp-core", version = "0.1" }
ironrdp-error = { path = "../ironrdp-error", version = "0.1" }
ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.3", features = ["std"] }
arbitrary = { version = "1", features = ["derive"], optional = true }
ironrdp-svc.workspace = true
ironrdp-core.workspace = true
ironrdp-error.workspace = true
ironrdp-pdu = { workspace = true, features = ["std"] }
rand_core = { version = "0.6", features = [
"std",
] } # TODO: dependency injection?
sspi.workspace = true
tracing.workspace = true
rand_core = { version = "0.6", features = ["std"] } # TODO: dependency injection?
sspi = "0.15"
tracing = { version = "0.1", features = ["log"] }
url = "2.5"
picky-asn1-der = "0.5"
picky-asn1-x509 = "0.14"

View file

@ -21,4 +21,4 @@ std = ["alloc", "ironrdp-error/std"]
alloc = ["ironrdp-error/alloc"]
[dependencies]
ironrdp-error.workspace = true
ironrdp-error = { path = "../ironrdp-error", version = "0.1" }

View file

@ -16,11 +16,11 @@ doctest = false
test = false
[dependencies]
ironrdp-core.workspace = true
ironrdp-dvc.workspace = true
ironrdp-pdu.workspace = true
ironrdp-svc.workspace = true
tracing.workspace = true
ironrdp-core = { path = "../ironrdp-core", version = "0.1" }
ironrdp-dvc = { path = "../ironrdp-dvc", version = "0.1" }
ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.3" }
ironrdp-svc = { path = "../ironrdp-svc", version = "0.1" }
tracing = { version = "0.1", features = ["log"] }
[lints]
workspace = true

View file

@ -20,10 +20,10 @@ default = []
std = []
[dependencies]
ironrdp-core = { workspace = true, features = ["alloc"] }
ironrdp-svc.workspace = true
ironrdp-pdu = { workspace = true, features = ["alloc"] }
tracing.workspace = true
ironrdp-core = { path = "../ironrdp-core", version = "0.1", features = ["alloc"] }
ironrdp-svc = { path = "../ironrdp-svc", version = "0.1" }
ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.3", features = ["alloc"] }
tracing = { version = "0.1", features = ["log"] }
slab = "0.4"
[lints]

View file

@ -18,7 +18,7 @@ test = false
[dependencies]
bytes = "1"
futures-util = { version = "0.3", features = ["io"] }
ironrdp-async.workspace = true
ironrdp-async = { path = "../ironrdp-async", version = "0.3" }
[lints]
workspace = true

View file

@ -11,15 +11,15 @@ test = false
[dependencies]
arbitrary = { version = "1", features = ["derive"] }
ironrdp-core.workspace = true
ironrdp-graphics.workspace = true
ironrdp-pdu.workspace = true
ironrdp-cliprdr.workspace = true
ironrdp-rdpdr.workspace = true
ironrdp-rdpsnd.workspace = true
ironrdp-cliprdr-format.workspace = true
ironrdp-displaycontrol.workspace = true
ironrdp-svc.workspace = true
ironrdp-core.path = "../ironrdp-core"
ironrdp-graphics.path = "../ironrdp-graphics"
ironrdp-pdu.path = "../ironrdp-pdu"
ironrdp-cliprdr.path = "../ironrdp-cliprdr"
ironrdp-rdpdr.path = "../ironrdp-rdpdr"
ironrdp-rdpsnd.path = "../ironrdp-rdpsnd"
ironrdp-cliprdr-format.path = "../ironrdp-cliprdr-format"
ironrdp-displaycontrol.path = "../ironrdp-displaycontrol"
ironrdp-svc.path = "../ironrdp-svc"
[lints]
workspace = true

View file

@ -17,15 +17,15 @@ doctest = false
[dependencies]
bit_field = "0.10"
bitflags.workspace = true
bitflags = "2.4"
bitvec = "1.0"
byteorder.workspace = true # TODO: remove
ironrdp-core.workspace = true
ironrdp-pdu = { workspace = true, features = ["std"] }
lazy_static.workspace = true # TODO: remove in favor of https://doc.rust-lang.org/std/sync/struct.OnceLock.html
ironrdp-core = { path = "../ironrdp-core", version = "0.1" }
ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.3", features = ["std"] }
byteorder = "1.5" # TODO: remove
lazy_static.workspace = true # Legacy crate; prefer std::sync::LazyLock or LazyCell
num-derive.workspace = true # TODO: remove
num-traits.workspace = true # TODO: remove
thiserror.workspace = true
thiserror = "1"
yuvutils-rs = { version = "0.8", features = ["rdp"] }
[dev-dependencies]

View file

@ -16,7 +16,7 @@ doctest = false
test = false
[dependencies]
ironrdp-pdu.workspace = true
ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.3" }
bitvec = "1.0"
smallvec = "1.13"

View file

@ -21,21 +21,21 @@ std = ["alloc", "ironrdp-error/std", "ironrdp-core/std"]
alloc = ["ironrdp-core/alloc", "ironrdp-error/alloc"]
[dependencies]
bitflags.workspace = true
ironrdp-core = { workspace = true, features = ["std"] }
ironrdp-error.workspace = true
bitflags = "2.4"
ironrdp-core = { path = "../ironrdp-core", version = "0.1", features = ["std"] }
ironrdp-error = { path = "../ironrdp-error", version = "0.1" }
tap = "1"
# TODO: get rid of these dependencies (related code should probably go into another crate)
bit_field = "0.10"
byteorder.workspace = true # TODO: remove
byteorder = "1.5" # TODO: remove
der-parser = "9.0"
thiserror.workspace = true
thiserror = "1.0"
md5 = { package = "md-5", version = "0.10" }
num-bigint = "0.4"
num-derive.workspace = true # TODO: remove
num-derive.workspace = true # TODO: remove
num-integer = "0.1"
num-traits.workspace = true # TODO: remove
num-traits.workspace = true # TODO: remove
sha1 = "0.10"
x509-cert = { version = "0.2", default-features = false, features = ["std"] }
pkcs1 = "0.7"

View file

@ -17,6 +17,7 @@ test = false
[dependencies]
der = { version = "0.7", features = ["alloc", "derive"] }
[lints]
workspace = true

View file

@ -16,9 +16,9 @@ doctest = false
test = false
[target.'cfg(any(target_os = "macos", target_os = "linux"))'.dependencies]
ironrdp-core.workspace = true
ironrdp-pdu.workspace = true
ironrdp-svc.workspace = true
ironrdp-rdpdr.workspace = true
ironrdp-core = { path = "../ironrdp-core", version = "0.1" }
ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.3" }
ironrdp-svc = { path = "../ironrdp-svc", version = "0.1" }
ironrdp-rdpdr = { path = "../ironrdp-rdpdr", version = "0.1" }
nix = { version = "0.29", features = ["fs", "dir"] }
tracing.workspace = true
tracing = { version = "0.1", features = ["log"] }

View file

@ -16,12 +16,12 @@ doctest = false
test = false
[dependencies]
ironrdp-core.workspace = true
ironrdp-error.workspace = true
ironrdp-pdu.workspace = true
ironrdp-svc.workspace = true
tracing.workspace = true
bitflags.workspace = true
ironrdp-core = { path = "../ironrdp-core", version = "0.1" }
ironrdp-error = { path = "../ironrdp-error", version = "0.1" }
ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.3" }
ironrdp-svc = { path = "../ironrdp-svc", version = "0.1" }
tracing = { version = "0.1", features = ["log"] }
bitflags = "2.4"
[lints]
workspace = true

View file

@ -21,13 +21,13 @@ opus = ["dep:opus", "dep:bytemuck"]
[dependencies]
anyhow = "1"
bytemuck = { version = "1.21", optional = true }
cpal = "0.15.3"
ironrdp-rdpsnd.workspace = true
cpal = "0.15"
ironrdp-rdpsnd = { path = "../ironrdp-rdpsnd", version = "0.3" }
opus = { version = "0.3", optional = true }
tracing.workspace = true
tracing = { version = "0.1", features = ["log"] }
[dev-dependencies]
tracing-subscriber = { version = "0.3.19", features = ["env-filter"] }
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
[lints]
workspace = true

View file

@ -20,11 +20,11 @@ default = []
std = []
[dependencies]
bitflags.workspace = true
tracing.workspace = true
ironrdp-svc.workspace = true
ironrdp-core = { workspace = true, features = ["alloc"] }
ironrdp-pdu = { workspace = true, features = ["alloc"] }
bitflags = "2.4"
tracing = { version = "0.1", features = ["log"] }
ironrdp-svc = { path = "../ironrdp-svc", version = "0.1" }
ironrdp-core = { path = "../ironrdp-core", version = "0.1", features = ["alloc"] }
ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.3", features = ["alloc"] }
[lints]
workspace = true

View file

@ -29,19 +29,19 @@ anyhow = "1.0"
tokio = { version = "1", features = ["net", "macros", "sync", "rt"] }
tokio-rustls = "0.26"
async-trait = "0.1"
ironrdp-async.workspace = true
ironrdp-ainput.workspace = true
ironrdp-core.workspace = true
ironrdp-pdu.workspace = true
ironrdp-svc.workspace = true
ironrdp-cliprdr.workspace = true
ironrdp-displaycontrol.workspace = true
ironrdp-dvc.workspace = true
ironrdp-tokio.workspace = true
ironrdp-acceptor.workspace = true
ironrdp-graphics.workspace = true
ironrdp-rdpsnd.workspace = true
tracing.workspace = true
ironrdp-async = { path = "../ironrdp-async", version = "0.3" }
ironrdp-ainput = { path = "../ironrdp-ainput", version = "0.1" }
ironrdp-core = { path = "../ironrdp-core", version = "0.1" }
ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.3" }
ironrdp-svc = { path = "../ironrdp-svc", version = "0.1" }
ironrdp-cliprdr = { path = "../ironrdp-cliprdr", version = "0.1" }
ironrdp-displaycontrol = { path = "../ironrdp-displaycontrol", version = "0.1" }
ironrdp-dvc = { path = "../ironrdp-dvc", version = "0.1" }
ironrdp-tokio = { path = "../ironrdp-tokio", version = "0.2" }
ironrdp-acceptor = { path = "../ironrdp-acceptor", version = "0.3" }
ironrdp-graphics = { path = "../ironrdp-graphics", version = "0.2" }
ironrdp-rdpsnd = { path = "../ironrdp-rdpsnd", version = "0.3" }
tracing = { version = "0.1", features = ["log"] }
x509-cert = { version = "0.2.5", optional = true }
rustls-pemfile = { version = "2.2.0", optional = true }
rayon = { version = "1.10.0", optional = true }

View file

@ -16,15 +16,15 @@ doctest = false
test = false
[dependencies]
ironrdp-connector.workspace = true # TODO: at some point, this dependency could be removed (good for compilation speed)
ironrdp-svc.workspace = true
ironrdp-dvc.workspace = true
ironrdp-error.workspace = true
ironrdp-graphics.workspace = true
ironrdp-pdu = { workspace = true, features = ["std"] }
ironrdp-displaycontrol.workspace = true
tracing.workspace = true
ironrdp-core.workspace = true
ironrdp-core = { path = "../ironrdp-core", version = "0.1" }
ironrdp-connector = { path = "../ironrdp-connector", version = "0.3" } # TODO: at some point, this dependency could be removed (good for compilation speed)
ironrdp-svc = { path = "../ironrdp-svc", version = "0.1" }
ironrdp-dvc = { path = "../ironrdp-dvc", version = "0.1" }
ironrdp-error = { path = "../ironrdp-error", version = "0.1" }
ironrdp-graphics = { path = "../ironrdp-graphics", version = "0.2" }
ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.3", features = ["std"] }
ironrdp-displaycontrol = { path = "../ironrdp-displaycontrol", version = "0.1" }
tracing = { version = "0.1", features = ["log"] }
[lints]
workspace = true

View file

@ -20,9 +20,9 @@ default = []
std = []
[dependencies]
ironrdp-pdu = { workspace = true, features = ["alloc", "std"] }
bitflags.workspace = true
ironrdp-core.workspace = true
ironrdp-core = { path = "../ironrdp-core", version = "0.1" }
ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.3", features = ["alloc", "std"] }
bitflags = "2.4"
[lints]
workspace = true

View file

@ -18,8 +18,8 @@ harness = true
[dependencies]
array-concat = "0.5"
expect-test = "1"
ironrdp-core.workspace = true
ironrdp-pdu.workspace = true
ironrdp-core.path = "../ironrdp-core"
ironrdp-pdu.path = "../ironrdp-pdu"
lazy_static.workspace = true # TODO: remove in favor of https://doc.rust-lang.org/std/sync/struct.OnceLock.html
paste = "1"
@ -27,17 +27,17 @@ paste = "1"
anyhow = "1"
expect-test.workspace = true
hex = "0.4"
ironrdp-cliprdr-format.workspace = true
ironrdp-cliprdr.workspace = true
ironrdp-connector.workspace = true
ironrdp-displaycontrol.workspace = true
ironrdp-dvc.workspace = true
ironrdp-fuzzing.workspace = true
ironrdp-graphics.workspace = true
ironrdp-input.workspace = true
ironrdp-rdcleanpath.workspace = true
ironrdp-rdpsnd.workspace = true
ironrdp-session.workspace = true
ironrdp-cliprdr-format.path = "../ironrdp-cliprdr-format"
ironrdp-cliprdr.path = "../ironrdp-cliprdr"
ironrdp-connector.path = "../ironrdp-connector"
ironrdp-displaycontrol.path = "../ironrdp-displaycontrol"
ironrdp-dvc.path = "../ironrdp-dvc"
ironrdp-fuzzing.path = "../ironrdp-fuzzing"
ironrdp-graphics.path = "../ironrdp-graphics"
ironrdp-input.path = "../ironrdp-input"
ironrdp-rdcleanpath.path = "../ironrdp-rdcleanpath"
ironrdp-rdpsnd.path = "../ironrdp-rdpsnd"
ironrdp-session.path = "../ironrdp-session"
png = "0.17"
pretty_assertions = "1.4"
proptest.workspace = true

View file

@ -14,12 +14,12 @@ categories.workspace = true
[dev-dependencies]
anyhow = "1.0"
async-trait = "0.1"
ironrdp = { workspace = true, features = ["server", "pdu", "connector", "session", "connector"] }
ironrdp-async.workspace = true
ironrdp-tokio.workspace = true
ironrdp-tls = { workspace = true, features = ["rustls"] }
ironrdp = { path = "../ironrdp", features = ["server", "pdu", "connector", "session", "connector"] }
ironrdp-async.path = "../ironrdp-async"
ironrdp-tokio.path = "../ironrdp-tokio"
ironrdp-tls = { path = "../ironrdp-tls", features = ["rustls"] }
semver = "1.0"
tracing.workspace = true
tracing = { version = "0.1", features = ["log"] }
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
tokio = { version = "1", features = ["sync", "time"] }

View file

@ -17,7 +17,7 @@ test = false
[dependencies]
bytes = "1"
ironrdp-async.workspace = true
ironrdp-async = { path = "../ironrdp-async", version = "0.3" }
tokio = { version = "1", features = ["io-util"] }
[lints]

View file

@ -1,6 +1,6 @@
[package]
name = "ironrdp-web"
version = "0.1.0"
version = "0.0.0"
readme = "README.md"
description = "WebAssembly high-level bindings targeting web browsers"
publish = false
@ -22,9 +22,8 @@ default = ["panic_hook"]
panic_hook = ["dep:console_error_panic_hook"]
[dependencies]
# Protocols
ironrdp = { workspace = true, features = [
ironrdp = { path = "../ironrdp", features = [
"connector",
"session",
"input",
@ -34,24 +33,18 @@ ironrdp = { workspace = true, features = [
"svc",
"displaycontrol"
] }
ironrdp-core.workspace = true
ironrdp-cliprdr-format = { workspace = true }
ironrdp-futures.workspace = true
ironrdp-rdcleanpath.workspace = true
ironrdp-core.path = "../ironrdp-core"
ironrdp-cliprdr-format.path = "../ironrdp-cliprdr-format"
ironrdp-futures.path = "../ironrdp-futures"
ironrdp-rdcleanpath.path = "../ironrdp-rdcleanpath"
# WASM
wasm-bindgen = "0.2"
wasm-bindgen-futures = "0.4"
web-sys = { version = "0.3", features = ["HtmlCanvasElement"] }
js-sys = "0.3"
gloo-net = { version = "0.6", default-features = false, features = [
"websocket",
"http",
"io-util",
] }
gloo-timers = { version = "0.3", default-features = false, features = [
"futures",
] }
gloo-net = { version = "0.6", default-features = false, features = ["websocket", "http", "io-util"] }
gloo-timers = { version = "0.3", default-features = false, features = ["futures"] }
tracing-web = "0.1"
# Rendering
@ -76,7 +69,7 @@ futures-util = { version = "0.3", features = ["sink", "io"] }
futures-channel = "0.3"
# Logging
tracing.workspace = true
tracing = { version = "0.1", features = ["log"] }
tracing-subscriber = { version = "0.3", features = ["time"] }
# Utils

View file

@ -33,31 +33,31 @@ rdpsnd = ["dep:ironrdp-rdpsnd"]
displaycontrol = ["dep:ironrdp-displaycontrol"]
[dependencies]
ironrdp-core = { workspace = true, optional = true }
ironrdp-pdu = { workspace = true, optional = true }
ironrdp-cliprdr = { workspace = true, optional = true }
ironrdp-connector = { workspace = true, optional = true }
ironrdp-acceptor = { workspace = true, optional = true }
ironrdp-session = { workspace = true, optional = true }
ironrdp-graphics = { workspace = true, optional = true }
ironrdp-input = { workspace = true, optional = true }
ironrdp-server = { workspace = true, optional = true, features = ["helper"] }
ironrdp-svc = { workspace = true, optional = true }
ironrdp-dvc = { workspace = true, optional = true }
ironrdp-rdpdr = { workspace = true, optional = true }
ironrdp-rdpsnd = { workspace = true, optional = true }
ironrdp-displaycontrol = { workspace = true, optional = true }
ironrdp-core = { path = "../ironrdp-core", version = "0.1", optional = true }
ironrdp-pdu = { path = "../ironrdp-pdu", version = "0.3", optional = true }
ironrdp-cliprdr = { path = "../ironrdp-cliprdr", version = "0.1", optional = true }
ironrdp-connector = { path = "../ironrdp-connector", version = "0.3", optional = true }
ironrdp-acceptor = { path = "../ironrdp-acceptor", version = "0.3", optional = true }
ironrdp-session = { path = "../ironrdp-session", version = "0.2", optional = true }
ironrdp-graphics = { path = "../ironrdp-graphics", version = "0.2", optional = true }
ironrdp-input = { path = "../ironrdp-input", version = "0.1", optional = true }
ironrdp-server = { path = "../ironrdp-server", version = "0.4", optional = true, features = ["helper"] }
ironrdp-svc = { path = "../ironrdp-svc", version = "0.1", optional = true }
ironrdp-dvc = { path = "../ironrdp-dvc", version = "0.1", optional = true }
ironrdp-rdpdr = { path = "../ironrdp-rdpdr", version = "0.1", optional = true }
ironrdp-rdpsnd = { path = "../ironrdp-rdpsnd", version = "0.3", optional = true }
ironrdp-displaycontrol = { path = "../ironrdp-displaycontrol", version = "0.1", optional = true }
[dev-dependencies]
ironrdp-blocking.workspace = true
ironrdp-cliprdr-native.workspace = true
ironrdp-blocking.path = "../ironrdp-blocking"
ironrdp-cliprdr-native.path = "../ironrdp-cliprdr-native"
anyhow = "1"
async-trait = "0.1"
image = { version = "0.25.5", default-features = false, features = ["png"] }
pico-args = "0.5"
x509-cert = { version = "0.2", default-features = false, features = ["std"] }
sspi = { workspace = true, features = ["network_client"] }
tracing.workspace = true
sspi = { version = "0.15", features = ["network_client"] }
tracing = { version = "0.1", features = ["log"] }
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
tokio-rustls = "0.26"
rand = "0.8"

View file

@ -14,12 +14,12 @@ doctest = false
[dependencies]
diplomat = "0.7"
diplomat-runtime = "0.7"
ironrdp = { workspace = true, features = ["session", "connector", "dvc", "svc", "rdpdr", "rdpsnd", "graphics", "input", "cliprdr", "displaycontrol"] }
ironrdp-cliprdr-native = { workspace = true }
ironrdp-core = { workspace = true, features = ["alloc"] }
sspi = { workspace = true, features = ["network_client"] }
thiserror.workspace = true
tracing.workspace = true
ironrdp = { path = "../crates/ironrdp", features = ["session", "connector", "dvc", "svc", "rdpdr", "rdpsnd", "graphics", "input", "cliprdr", "displaycontrol"] }
ironrdp-cliprdr-native.path = "../crates/ironrdp-cliprdr-native"
ironrdp-core = { path = "../crates/ironrdp-core", features = ["alloc"] }
sspi = { version = "0.15", features = ["network_client"] }
thiserror = "1"
tracing = { version = "0.1", features = ["log"] }
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
[target.'cfg(windows)'.build-dependencies]