[workspace.package] version = "0.0.0" authors = ["Ankitects Pty Ltd and contributors "] license = "AGPL-3.0-or-later" rust-version = "1.65" edition = "2021" [workspace] members = [ "rslib", "rslib/i18n", "rslib/linkchecker", "rslib/proto", "rslib/io", "rslib/process", "rslib/sync", "pylib/rsbridge", "build/configure", "build/ninja_gen", "build/runner", "ftl", "tools/minilints", "qt/bundle/win", "qt/bundle/mac", ] exclude = ["qt/bundle"] resolver = "2" [workspace.dependencies.percent-encoding-iri] git = "https://github.com/ankitects/rust-url.git" rev = "bb930b8d089f4d30d7d19c12e54e66191de47b88" [workspace.dependencies.linkcheck] git = "https://github.com/ankitects/linkcheck.git" rev = "184b2ca50ed39ca43da13f0b830a463861adb9ca" [workspace.dependencies.fsrs] version = "0.6.4" # git = "https://github.com/open-spaced-repetition/fsrs-rs.git" # rev = "58ca25ed2bc4bb1dc376208bbcaed7f5a501b941" # path = "../open-spaced-repetition/fsrs-rs" [workspace.dependencies] # local anki = { path = "rslib" } anki_i18n = { path = "rslib/i18n" } anki_io = { path = "rslib/io" } anki_proto = { path = "rslib/proto" } anki_process = { path = "rslib/process" } anki_proto_gen = { path = "rslib/proto_gen" } ninja_gen = { "path" = "build/ninja_gen" } # pinned unicase = "=2.6.0" # any changes could invalidate sqlite indexes # normal ammonia = "3.3.0" anyhow = "1.0.80" apple-bundles = "0.17.0" async-compression = { version = "0.4.6", features = ["zstd", "tokio"] } async-stream = "0.3.5" async-trait = "0.1.77" axum = { version = "0.6.20", features = ["multipart", "macros", "headers"] } axum-client-ip = "0.4.2" blake3 = "1.5.0" bytes = "1.5.0" camino = "1.1.6" chrono = { version = "0.4.34", default-features = false, features = ["std", "clock"] } clap = { version = "4.3.24", features = ["derive"] } coarsetime = "0.1.34" convert_case = "0.6.0" criterion = { version = "0.5.1" } csv = "1.3.0" data-encoding = "2.5.0" difflib = "0.4.0" flate2 = "1.0.28" fluent = "0.16.0" fluent-bundle = "0.15.2" fluent-syntax = "0.11.0" fnv = "1.0.7" futures = "0.3.30" glob = "0.3.1" globset = "0.4.14" hex = "0.4.3" htmlescape = "0.3.1" hyper = "0.14.28" id_tree = "1.8.0" inflections = "1.1.1" intl-memoizer = "0.5.1" itertools = "0.12.1" junction = "1.0.0" lazy_static = "1.4.0" maplit = "1.0.2" nom = "7.1.3" num-format = "0.4.4" num_cpus = "1.16.0" num_enum = "0.7.2" once_cell = "1.19.0" pbkdf2 = { version = "0.12", features = ["simple"] } phf = { version = "0.11.2", features = ["macros"] } pin-project = "1.1.4" plist = "1.5.1" prettyplease = "0.2.16" prost = "0.12.3" prost-build = "0.12.3" prost-reflect = "0.12.0" prost-types = "0.12.3" pulldown-cmark = "0.9.6" pyo3 = { version = "0.20.3", features = ["extension-module", "abi3", "abi3-py39"] } rand = "0.8.5" regex = "1.10.3" reqwest = { version = "0.11.24", default-features = false, features = ["json", "socks", "stream", "multipart"] } rusqlite = { version = "0.30.0", features = ["trace", "functions", "collation", "bundled"] } rustls-pemfile = "2.1.2" scopeguard = "1.2.0" serde = { version = "1.0.197", features = ["derive"] } serde-aux = "4.5.0" serde_json = "1.0.114" serde_repr = "0.1.18" serde_tuple = "0.5.0" sha1 = "0.10.6" sha2 = { version = "0.10.8" } simple-file-manifest = "0.11.0" snafu = { version = "0.8.1", features = ["rust_1_61"] } strum = { version = "0.26.1", features = ["derive"] } syn = { version = "2.0.51", features = ["parsing", "printing"] } tar = "0.4.40" tempfile = "3.10.1" termcolor = "1.4.1" tokio = { version = "1.36", features = ["fs", "rt-multi-thread", "macros", "signal"] } tokio-util = { version = "0.7.10", features = ["io"] } tower-http = { version = "0.4.4", features = ["trace"] } tracing = { version = "0.1.40", features = ["max_level_trace", "release_max_level_debug"] } tracing-appender = "0.2.3" tracing-subscriber = { version = "0.3.18", features = ["fmt", "env-filter"] } tugger-windows-codesign = "0.10.0" unic-langid = { version = "0.9.4", features = ["macros"] } unic-ucd-category = "0.9.0" unicode-normalization = "0.1.23" utime = "0.3.1" walkdir = "2.4.0" which = "5.0.0" wiremock = "0.5.22" xz2 = "0.1.7" zip = { version = "0.6.6", default-features = false, features = ["deflate", "time"] } zstd = { version = "0.13.0", features = ["zstdmt"] } envy = "0.4.2" dirs = "5.0.1" dunce = "1.0.4" # Apply mild optimizations to our dependencies in dev mode, which among other things # improves sha2 performance by about 21x. Opt 1 chosen due to # https://doc.rust-lang.org/cargo/reference/profiles.html#overrides-and-generics. This # applies to the dependencies of unit tests as well. [profile.dev.package."*"] opt-level = 1 debug = 0 [profile.dev.package.anki_i18n] opt-level = 1 debug = 0 [profile.dev.package.anki_proto] opt-level = 1 debug = 0 # Debug info off by default, which speeds up incremental builds and produces a considerably # smaller library. [profile.dev.package.anki] debug = 0 [profile.dev.package.rsbridge] debug = 0 [profile.release-lto] inherits = "release" lto = true