xilem/Cargo.toml

133 lines
4.4 KiB
TOML

[workspace]
resolver = "2"
members = [
"xilem",
"xilem_core",
"masonry",
"masonry_core",
"masonry_testing",
"masonry_winit",
"xilem_web",
"xilem_web/web_examples/counter",
"xilem_web/web_examples/counter_custom_element",
"xilem_web/web_examples/elm",
"xilem_web/web_examples/fetch",
"xilem_web/web_examples/todomvc",
"xilem_web/web_examples/mathml_svg",
"xilem_web/web_examples/raw_dom_access",
"xilem_web/web_examples/spawn_tasks",
"xilem_web/web_examples/svgtoy",
"xilem_web/web_examples/svgdraw",
"tree_arena",
"placehero",
]
[workspace.package]
# Xilem version, also used by other packages which want to mimic Xilem's version.
# Right now those packages include: xilem_core, xilem_web, masonry, masonry_winit.
#
# NOTE: When bumping this, remember to also bump the aforementioned other packages'
# version in the dependencies section of this file.
version = "0.3.0"
edition = "2024"
# Keep in sync with RUST_MIN_VER in .github/workflows/ci.yml, with the relevant README.md files.
rust-version = "1.88"
license = "Apache-2.0"
repository = "https://github.com/linebender/xilem"
[workspace.dependencies]
masonry = { version = "0.3.0", path = "masonry" }
masonry_core = { version = "0.3.0", path = "masonry_core" }
masonry_testing = { version = "0.3.0", path = "masonry_testing" }
masonry_winit = { version = "0.3.0", path = "masonry_winit" }
xilem_core = { version = "0.3.0", path = "xilem_core" }
tree_arena = { version = "0.1.0", path = "tree_arena" }
anymore = { version = "0.1.0", git = "https://github.com/linebender/anymore", rev = "3537bdc3aa03c92e380f106d18b7957b934c9eb5" }
vello = "0.5.0"
kurbo = "0.11.2"
parley = { git = "https://github.com/linebender/parley", rev = "587b7634ae8601c10de7f0361bfd56085a5b7b4e", features = [
"accesskit",
] }
peniko = "0.4.0"
winit = "0.30.10"
tracing = { version = "0.1.41", default-features = false }
ui-events = "0.1.0"
ui-events-winit = "0.1.0"
smallvec = "1.15.0"
hashbrown = "0.15.3"
dpi = "0.1.2"
image = { version = "0.25.6", default-features = false }
web-time = "1.1.0"
bitflags = "2.9.1"
accesskit = "0.21.0"
accesskit_winit = "0.29.0"
accesskit_consumer = "0.30.0"
time = "0.3.41"
reqwest = { version = "0.12.20", default-features = false, features = [
# We use rustls as Android doesn't ship with openssl
# and this is likely to be easiest to get working.
"rustls-tls",
] }
[workspace.lints]
# unsafe code is not allowed in Xilem or Masonry
# We would like to set this to `forbid`, but we have to use `deny` because `android_activity`
# requires us to use the `#[unsafe(no_mangle)]` attribute
# (And cargo doesn't let us have platform specific lints here)
rust.unsafe_code = "deny"
# LINEBENDER LINT SET - Cargo.toml - v6
# See https://linebender.org/wiki/canonical-lints/
rust.keyword_idents_2024 = "forbid"
rust.non_ascii_idents = "forbid"
rust.non_local_definitions = "forbid"
rust.unsafe_op_in_unsafe_fn = "forbid"
rust.elided_lifetimes_in_paths = "warn"
rust.missing_debug_implementations = "warn"
rust.missing_docs = "warn"
rust.trivial_numeric_casts = "warn"
rust.unnameable_types = "warn"
rust.unreachable_pub = "warn"
rust.unused_import_braces = "warn"
rust.unused_lifetimes = "warn"
rust.unused_macro_rules = "warn"
clippy.too_many_arguments = "allow"
clippy.allow_attributes_without_reason = "warn"
clippy.cast_possible_truncation = "warn"
clippy.collection_is_never_read = "warn"
clippy.dbg_macro = "warn"
clippy.debug_assert_with_mut_call = "warn"
clippy.doc_markdown = "warn"
clippy.fn_to_numeric_cast_any = "warn"
clippy.infinite_loop = "warn"
clippy.large_stack_arrays = "warn"
clippy.mismatching_type_param_order = "warn"
clippy.missing_assert_message = "warn"
clippy.missing_fields_in_debug = "warn"
clippy.same_functions_in_if_condition = "warn"
clippy.semicolon_if_nothing_returned = "warn"
clippy.should_panic_without_expect = "warn"
clippy.todo = "warn"
clippy.unseparated_literal_suffix = "warn"
clippy.use_self = "warn"
clippy.cargo_common_metadata = "warn"
clippy.negative_feature_names = "warn"
clippy.redundant_feature_names = "warn"
clippy.wildcard_dependencies = "warn"
# END LINEBENDER LINT SET
[profile.ci]
inherits = "dev"
debug = 0 # Don't compile debug info to reduce compilation artifact size for cache benefits.
strip = "debuginfo" # Implied by debug = 0 since Rust 1.77, but still needed for an older MSRV.
[profile.ci.package."*"]
debug-assertions = true # Keep always on for dependencies for cache reuse.