[workspace]
members = [
  "crates/tauri",
  "crates/tauri-runtime",
  "crates/tauri-runtime-wry",
  "crates/tauri-macros",
  "crates/tauri-utils",
  "crates/tauri-build",
  "crates/tauri-codegen",
  "crates/tauri-plugin",
  "crates/tauri-schema-generator",
  "crates/tauri-schema-worker",
  "crates/tauri-cli",
  "crates/tauri-bundler",
  "crates/tauri-macos-sign",
  "crates/tauri-driver",

  # @tauri-apps/cli rust project
  "packages/cli",

  # integration tests
  "crates/tests/restart",
  "crates/tests/acl",

  # bench
  "bench",
  "bench/tests/cpu_intensive/src-tauri",
  "bench/tests/files_transfer/src-tauri",
  "bench/tests/helloworld/src-tauri",

  # examples
  "examples/file-associations/src-tauri",
  "examples/resources/src-tauri",
  "examples/api/src-tauri",
  "examples/api/src-tauri/tauri-plugin-sample",
]
resolver = "2"

[workspace.package]
authors = ["Tauri Programme within The Commons Conservancy"]
homepage = "https://tauri.app/"
repository = "https://github.com/tauri-apps/tauri"
categories = ["gui", "web-programming"]
license = "Apache-2.0 OR MIT"
edition = "2021"
rust-version = "1.77.2"

# default to small, optimized workspace release binaries
[profile.release]
panic = "abort"
codegen-units = 1
lto = true
incremental = false
opt-level = "s"
strip = true

# profiles for tauri-cli
[profile.dev.package.miniz_oxide]
opt-level = 3

[profile.release-size-optimized]
inherits = "release"
codegen-units = 1
lto = true
incremental = false
opt-level = "s"

# Temporary patch to schemars to preserve newlines in docstrings for our reference docs schemas
# See https://github.com/GREsau/schemars/issues/120 for reference
[patch.crates-io]
schemars_derive = { git = 'https://github.com/tauri-apps/schemars.git', branch = 'feat/preserve-description-newlines' }
tauri = { path = "./crates/tauri" }
tauri-plugin = { path = "./crates/tauri-plugin" }
tauri-utils = { path = "./crates/tauri-utils" }
