Cargo.toml
author Masayuki Nakano <masayuki@d-toybox.com>
Tue, 19 Jun 2018 21:00:01 +0900
changeset 479103 cbbdabbed7e04b5ddcb65daa89b625b9ad3ae60b
parent 477477 0088ae712bf5fe1a4ae4e0c7b816f1b9f68b20a4
child 481401 7bf77a18b13eb52184c84c9e565634e1da141b4c
permissions -rw-r--r--
Bug 1215818 - part 1: Add telemetry probe to collect TIP names of TSF which are actually used by the users r=jimm,m_kato We always struggle with a lot of IME bugs on Windows. Currently, any IME vendors should've already released TIP for TSF rather than legacy IMM-IME since IMM-IME is not available on UWP apps. Additionally, due to API limitation, it's difficult to get human-friendly name of IMM-IME. So, let's collect only TIP names of TSF on Windows. This must be enough. Note that we cannot get common-English name even though the API to retrieve TIP name taking language code. Therefore, a TIP may be collected with different name, e.g., one is Japanese name and the other is English name. If we collect GUIDs of TIP, we can avoid this issue. However, it's difficult to collect both GUID and human-friendly name since Telemetry key is up to 72 characters. Currently, I give up to avoid this duplicated issue. Perhaps, this is not so serious issue since most TIP users must match language of TIP and their system language settings. Therefore, this patch collects Locale ID of TIP and description of it. Locale ID is necessary because some TIPs may be named same name for different languages. For example, both Japanese and Hangul IMEs of Microsoft are named as "Microsoft IME". MozReview-Commit-ID: IeSxfeqS62a

[workspace]

# These are the "root" crates, which we build and test as top-level targets.
# Their transitive dependencies and dev-dependencies are included automatically
# and do not need to be listed here. Their external dependencies are vendored
# into `third_party/rust` by `mach vendor rust`.
members = [
  "js/src",
  "js/rust",
  "js/src/frontend/binsource", # Code generator.
  "testing/geckodriver",
  "toolkit/library/gtest/rust",
  "toolkit/library/rust/",
]

# Excluded crates may be built as dependencies, but won't be considered members
# of the workspace and their dev-dependencies won't be included.
exclude = [
  # Exclude third-party code vendored into mozilla-central.
  "gfx/webrender",
  "gfx/webrender_api",
  "gfx/webrender_bindings",
  "servo",
  "third_party/rust",

  # Excluded because this is a standalone tool for developers and not intended
  # to be built as part of mozilla-central and is not shipped to users.
  "gfx/wrench",

  # Excluded because these crates have their own Cargo workspaces so they can't
  # be included in the top-level one.
  "media/audioipc",
  "media/cubeb-rs",

  # Excluded because they are used only as dependencies, not top-level targets,
  # so we don't need to vendor their dev-dependencies.
  "dom/webauthn/u2f-hid-rs",
  "media/mp4parse-rust/mp4parse",
  "media/mp4parse-rust/mp4parse_capi",
  "media/mp4parse-rust/mp4parse_fallible",
]

# Explicitly specify what our profiles use.  The opt-level setting here is
# a total fiction; see the setup of MOZ_RUST_DEFAULT_FLAGS for what the
# opt-level setting will be as a result of various other configure flags.
[profile.dev]
opt-level = 1
rpath = false
lto = false
debug-assertions = true
panic = "abort"

[profile.release]
opt-level = 2
rpath = false
debug-assertions = false
panic = "abort"
codegen-units = 1

[patch.crates-io]
libudev-sys = { path = "dom/webauthn/libudev-sys" }
serde_derive = { git = "https://github.com/servo/serde", branch = "deserialize_from_enums8" }