# Catalog store: CAS/SQLite core plus the HTTP/UDP host that asset-ui and # sandbox embed. The standalone binary is the same crate, for rare # out-of-process runs. [package] name = "makepad-asset-store" version = "0.1.0" edition = "2021" license = "MIT OR Apache-2.0" autotests = false [features] default = ["native"] native = [ "dep:makepad-asset-client", "dep:makepad-bounded-http", "dep:makepad-filesystem-watcher", "dep:jpeg-encoder", ] embedded = ["dep:makepad-platform"] [lib] name = "makepad_asset_store" path = "src/lib.rs" [[bin]] name = "makepad-asset-store" path = "src/bin/makepad-asset-store.rs" required-features = ["native"] [[example]] name = "gc_probe" path = "examples/gc_probe.rs" required-features = ["native"] [[example]] name = "store_scan" path = "examples/store_scan.rs" required-features = ["native"] [[example]] name = "thumb_bench" path = "examples/thumb_bench.rs" required-features = ["native"] [dependencies] makepad-sqlite = { path = "../../sqlite_query" } makepad-asset-data = { path = "../data" } # OBSERVED ORIGIN DIRECTORIES (src/observe.rs): the per-platform directory # watcher (FSEvents / inotify / ReadDirectoryChangesW) and the placeholder # thumbnail encoder every publication needs. brotli = "8.0" makepad-platform = { path = "../../../platform", optional = true } [target.'cfg(not(target_arch = "wasm32"))'.dependencies] makepad-asset-client = { path = "../client", optional = true } makepad-bounded-http = { path = "../../bounded_http", optional = true } makepad-filesystem-watcher = { path = "../../filesystem_watcher", optional = true } jpeg-encoder = { path = "../../jpeg-encoder", version = "0.6.1", optional = true } [dev-dependencies] makepad-asset-client = { path = "../client" } # The HTTP/e2e suite lives in tests/http/ and shares tests/http/common/mod.rs. # Each file is its own test binary, which is what makes its `mod common;` # resolve; without these entries cargo never compiles them. # [[test]] name = "http_blob_refs_http" path = "tests/http/blob_refs_http.rs" required-features = ["native"] [[test]] name = "http_client_e2e" path = "tests/http/client_e2e.rs" required-features = ["native"] [[test]] name = "http_events_http" path = "tests/http/events_http.rs" required-features = ["native"] [[test]] name = "http_import_client_e2e" path = "tests/http/import_client_e2e.rs" required-features = ["native"] [[test]] name = "http_observe_http" path = "tests/http/observe_http.rs" required-features = ["native"] [[test]] name = "http_rooms_http" path = "tests/http/rooms_http.rs" required-features = ["native"] [[test]] name = "http_security" path = "tests/http/security.rs" required-features = ["native"] [[test]] name = "http_service_http" path = "tests/http/service_http.rs" required-features = ["native"] [[test]] name = "auth" path = "tests/auth.rs" required-features = ["native"] [[test]] name = "blob_batch_http" path = "tests/blob_batch_http.rs" required-features = ["native"] [[test]] name = "blob_refs" path = "tests/blob_refs.rs" required-features = ["native"] [[test]] name = "budgets" path = "tests/budgets.rs" required-features = ["native"] [[test]] name = "cas" path = "tests/cas.rs" required-features = ["native"] [[test]] name = "catalog" path = "tests/catalog.rs" required-features = ["native"] [[test]] name = "embedded" path = "tests/embedded.rs" required-features = ["embedded"] [[test]] name = "imports" path = "tests/imports.rs" required-features = ["native"] [[test]] name = "migration" path = "tests/migration.rs" required-features = ["native"] [[test]] name = "publish_batch_http" path = "tests/publish_batch_http.rs" required-features = ["native"] [[test]] name = "retire_gc" path = "tests/retire_gc.rs" required-features = ["native"] [[test]] name = "retire_gc_http" path = "tests/retire_gc_http.rs" required-features = ["native"] [[test]] name = "scale_retire_gc" path = "tests/scale_retire_gc.rs" required-features = ["native"] [[test]] name = "search" path = "tests/search.rs" required-features = ["native"] [[test]] name = "search_index" path = "tests/search_index.rs" required-features = ["native"] [[test]] name = "search_synonyms" path = "tests/search_synonyms.rs" required-features = ["native"] [[test]] name = "seed" path = "tests/seed.rs" required-features = ["native"] [[test]] name = "static_export" path = "tests/static_export.rs" required-features = ["native"] [[test]] name = "variants" path = "tests/variants.rs" required-features = ["native"] # On the web the embedded store is the only store, so the platform (its storage API) is not optional there. [target.'cfg(target_arch = "wasm32")'.dependencies] makepad-platform = { path = "../../../platform" }