mirror of
https://github.com/servo/servo
synced 2026-04-25 17:15:48 +02:00
This PR considers the following constraints: - Resources must be available when building servo via a published crates.io package (i.e. no `../../../resources/<file>` file references). - Minimal setup when writing tests (`nextest` spawns each test in its own process, so we don't want to explicitly initialize the resource handler for every `#[test]` fn) - Use local resources when developing locally - Support loading the resources from a proper resource directory if the embedder wishes so, including via a custom mechanism, not necessarily as files (File) Resources that are only accessed from servoshell are out of scope of this PR, since it mainly focusses on unblocking publishing `libservo` to crates.io. Baking the resources into the binary by default simplifies the setup a lot. We already supported that before, but only for testing purposes and explicitly not for production builds. Using [`inventory`](https://crates.io/crates/inventory) adds a simple way for the embedder to replace the default baked in resources, while also keeping the test usage of baked in resources simple. rippy.png is also referenced from image_cache - We simply duplicate it, since the image is small, to avoid adding unnecessarily complex solutions like adding a dedicated crate. Testing: Covered by existing tests. [mach try full](https://github.com/jschwe/servo/actions/runs/23811669469) Fixes: Part of #43145 --------- Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
45 lines
1.1 KiB
TOML
45 lines
1.1 KiB
TOML
[package]
|
|
name = "servo-storage"
|
|
version.workspace = true
|
|
authors.workspace = true
|
|
license.workspace = true
|
|
edition.workspace = true
|
|
publish.workspace = true
|
|
rust-version.workspace = true
|
|
repository.workspace = true
|
|
description.workspace = true
|
|
autotests = false # Inhibit lookup for tests/*.rs without [[test]] sections
|
|
|
|
[lib]
|
|
name = "storage"
|
|
path = "lib.rs"
|
|
|
|
[dependencies]
|
|
libc = { workspace = true }
|
|
log = { workspace = true }
|
|
malloc_size_of = { workspace = true }
|
|
malloc_size_of_derive = { workspace = true }
|
|
net_traits = { workspace = true }
|
|
postcard = { workspace = true }
|
|
profile_traits = { workspace = true }
|
|
rusqlite = { version = "0.37", features = ["bundled"] }
|
|
rustc-hash = { workspace = true }
|
|
sea-query = { workspace = true }
|
|
sea-query-rusqlite = { workspace = true }
|
|
serde = { workspace = true }
|
|
servo-base = { workspace = true }
|
|
servo-config = { workspace = true }
|
|
servo-url = { workspace = true }
|
|
storage_traits = { workspace = true }
|
|
tempfile = "3"
|
|
uuid = { workspace = true }
|
|
|
|
[dev-dependencies]
|
|
profile = { workspace = true }
|
|
servo-default-resources = { workspace = true }
|
|
url = { workspace = true }
|
|
|
|
[[test]]
|
|
name = "main"
|
|
path = "tests/main.rs"
|