Import nimbus-sdk as submodule, republish as part of the megazord.
This commit pulls in https://github.com/mozilla/nimbus-sdk as a git submodule, and adds some build integration to publish it as part of the application-services megazord. Instead of an all-in-one nimbus package, we produce two separate packages: * `org.mozilla.appservices:nimbus` with the Nimbus Kotlin code * `org.mozilla.appservices:full-megazord` updated to include the Nimbus Rust code.
This commit is contained in:
Родитель
f597001821
Коммит
260d10e19c
|
@ -71,6 +71,13 @@ projects:
|
|||
- name: tabs
|
||||
type: aar
|
||||
description: Sync 1.5 remote tabs implementation.
|
||||
nimbus:
|
||||
path: components/nimbus
|
||||
artifactId: nimbus
|
||||
publications:
|
||||
- name: nimbus
|
||||
type: aar
|
||||
description: The Nimbus SDK, compiled to work with the Application Services full-megazord.
|
||||
lockbox-megazord:
|
||||
uploadSymbols: true
|
||||
path: megazords/lockbox/android
|
||||
|
|
|
@ -9,6 +9,12 @@ parameters:
|
|||
default: 1.43.0
|
||||
|
||||
commands:
|
||||
full-checkout:
|
||||
steps:
|
||||
- checkout
|
||||
- run:
|
||||
name: "Pull git submodules"
|
||||
command: git submodule update --init
|
||||
setup-sccache:
|
||||
steps:
|
||||
- run:
|
||||
|
@ -92,6 +98,9 @@ commands:
|
|||
rustup install <<parameters.rust-version>>
|
||||
rustup default <<parameters.rust-version>>
|
||||
rustc --version
|
||||
- run:
|
||||
name: Install UniFFI
|
||||
command: cargo install --version 0.5.0 uniffi_bindgen
|
||||
build-libs:
|
||||
parameters:
|
||||
platform:
|
||||
|
@ -155,7 +164,7 @@ commands:
|
|||
type: string
|
||||
default: << pipeline.parameters.stable-rust-version >>
|
||||
steps:
|
||||
- checkout
|
||||
- full-checkout
|
||||
- build-desktop-libs
|
||||
- setup-rust-toolchain:
|
||||
rust-version: <<parameters.rust-version>>
|
||||
|
@ -205,7 +214,6 @@ commands:
|
|||
python3 ./tools/dependency_summary.py --all-android-targets --package megazord --format pom --check megazords/full/android/dependency-licenses.xml
|
||||
python3 ./tools/dependency_summary.py --all-android-targets --package lockbox --check megazords/lockbox/DEPENDENCIES.md
|
||||
python3 ./tools/dependency_summary.py --all-android-targets --package lockbox --format pom --check megazords/lockbox/android/dependency-licenses.xml
|
||||
|
||||
sync-bugzilla-to-github:
|
||||
steps:
|
||||
- checkout
|
||||
|
@ -255,7 +263,7 @@ jobs:
|
|||
macos:
|
||||
xcode: "12.0.0"
|
||||
steps:
|
||||
- checkout
|
||||
- full-checkout
|
||||
- run: brew install swiftlint swiftformat
|
||||
- run: swiftlint --strict
|
||||
- run: swiftformat megazords components/*/ios --lint --swiftversion 4 --verbose
|
||||
|
@ -264,7 +272,7 @@ jobs:
|
|||
- image: circleci/rust:latest
|
||||
resource_class: small
|
||||
steps:
|
||||
- checkout
|
||||
- full-checkout
|
||||
- setup-rust-toolchain
|
||||
- run: rustup component add rustfmt
|
||||
- run: rustfmt --version
|
||||
|
@ -300,7 +308,7 @@ jobs:
|
|||
- image: circleci/rust:latest
|
||||
resource_class: small
|
||||
steps:
|
||||
- checkout
|
||||
- full-checkout
|
||||
- run: ./automation/check_protobuf_files_current.py
|
||||
Lint Bash scripts:
|
||||
docker:
|
||||
|
@ -318,7 +326,7 @@ jobs:
|
|||
steps:
|
||||
- install-rust
|
||||
- setup-rust-toolchain
|
||||
- checkout
|
||||
- full-checkout
|
||||
- dependency-checks
|
||||
Mirror Bugzilla issues into GitHub:
|
||||
docker:
|
||||
|
@ -369,7 +377,7 @@ jobs:
|
|||
- restore_cache:
|
||||
name: Restore sccache cache
|
||||
key: sccache-cache-macos-{{ arch }}
|
||||
- checkout
|
||||
- full-checkout
|
||||
- install-rust
|
||||
- setup-rust-toolchain
|
||||
- run:
|
||||
|
@ -449,7 +457,7 @@ jobs:
|
|||
macos:
|
||||
xcode: "12.0.0"
|
||||
steps:
|
||||
- checkout
|
||||
- full-checkout
|
||||
- attach_workspace:
|
||||
at: .
|
||||
- run:
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
[submodule "components/glean"]
|
||||
path = components/glean
|
||||
[submodule "components/external/glean"]
|
||||
path = components/external/glean
|
||||
url = https://github.com/mozilla/glean
|
||||
[submodule "components/external/nimbus-sdk"]
|
||||
path = components/external/nimbus-sdk
|
||||
url = https://github.com/mozilla/nimbus-sdk
|
||||
|
|
|
@ -4,6 +4,34 @@
|
|||
|
||||
[Full Changelog](https://github.com/mozilla/application-services/compare/v66.0.0...main)
|
||||
|
||||
## iOS
|
||||
|
||||
## What's Changed
|
||||
|
||||
- The bundled version of Glean has been updated to v33.1.2.
|
||||
(as part of [#3701](https://github.com/mozilla/application-services/pull/3701))
|
||||
|
||||
## Android
|
||||
|
||||
## What's Changed
|
||||
|
||||
- This release comes with a nontrivial increase in the compiled code size of the
|
||||
`org.mozilla.appservices:full-megazord` package, adding approximately 1M per platform
|
||||
thanks to the addition of the Nimbus SDK component.
|
||||
([#3701](https://github.com/mozilla/application-services/pull/3701))
|
||||
- Several core gradle dependencies have been updated, including gradle itself (now v6.5)
|
||||
and the android gradle plugin (now v4.0.1).
|
||||
([#3701](https://github.com/mozilla/application-services/pull/3701))
|
||||
|
||||
## Nimbus SDK
|
||||
|
||||
### What's New
|
||||
|
||||
- The first version of the Nimbus Experimentation SDK is now available, via the
|
||||
`org.mozilla.appservices:nimbus` package. More details can be found in the
|
||||
[nimbus-sdk repo](https://github.com/mozilla/nimbus-sdk).
|
||||
([#3701](https://github.com/mozilla/application-services/pull/3701))
|
||||
|
||||
## FxA Client
|
||||
|
||||
### What's Fixed
|
||||
|
|
|
@ -84,6 +84,50 @@ version = "0.5.2"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b"
|
||||
|
||||
[[package]]
|
||||
name = "askama"
|
||||
version = "0.10.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "70a6e7ebd44d0047fd48206c83c5cd3214acc7b9d87f001da170145c47ef7d12"
|
||||
dependencies = [
|
||||
"askama_derive",
|
||||
"askama_escape",
|
||||
"askama_shared",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "askama_derive"
|
||||
version = "0.10.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e1d7169690c4f56343dcd821ab834972a22570a2662a19a84fd7775d5e1c3881"
|
||||
dependencies = [
|
||||
"askama_shared",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "askama_escape"
|
||||
version = "0.10.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "90c108c1a94380c89d2215d0ac54ce09796823cca0fd91b299cfff3b33e346fb"
|
||||
|
||||
[[package]]
|
||||
name = "askama_shared"
|
||||
version = "0.10.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "62fc272363345c8cdc030e4c259d9d028237f8b057dc9bb327772a257bde6bb5"
|
||||
dependencies = [
|
||||
"askama_escape",
|
||||
"nom",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"serde",
|
||||
"syn",
|
||||
"toml",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "assert-json-diff"
|
||||
version = "1.1.0"
|
||||
|
@ -205,6 +249,15 @@ version = "0.1.6"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a"
|
||||
|
||||
[[package]]
|
||||
name = "block-buffer"
|
||||
version = "0.9.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4"
|
||||
dependencies = [
|
||||
"generic-array",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "bstr"
|
||||
version = "0.2.14"
|
||||
|
@ -235,6 +288,17 @@ version = "0.5.6"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0e4cec68f03f32e44924783795810fa50a7035d8c8ebe78580ad7e6c703fba38"
|
||||
|
||||
[[package]]
|
||||
name = "cargo_metadata"
|
||||
version = "0.11.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a3a567c24b86754d629addc2db89e340ac9398d07b5875efcff837e3878e17ec"
|
||||
dependencies = [
|
||||
"semver 0.10.0",
|
||||
"serde",
|
||||
"serde_json",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "caseless"
|
||||
version = "0.2.1"
|
||||
|
@ -421,6 +485,12 @@ version = "0.7.0"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b3a71ab494c0b5b860bdc8407ae08978052417070c2ced38573a9157ad75b8ac"
|
||||
|
||||
[[package]]
|
||||
name = "cpuid-bool"
|
||||
version = "0.1.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8aebca1129a03dc6dc2b127edd729435bbc4a37e1d5f4d7513165089ceb02634"
|
||||
|
||||
[[package]]
|
||||
name = "crc32fast"
|
||||
version = "1.2.1"
|
||||
|
@ -605,6 +675,15 @@ version = "2.0.0"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "524cbf6897b527295dff137cec09ecf3a05f4fddffd7dfcd1585403449e74198"
|
||||
|
||||
[[package]]
|
||||
name = "digest"
|
||||
version = "0.9.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066"
|
||||
dependencies = [
|
||||
"generic-array",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "dirs"
|
||||
version = "1.0.5"
|
||||
|
@ -838,7 +917,7 @@ dependencies = [
|
|||
"num-traits",
|
||||
"rand 0.6.5",
|
||||
"rustc_version",
|
||||
"semver",
|
||||
"semver 0.9.0",
|
||||
"serde",
|
||||
]
|
||||
|
||||
|
@ -1071,6 +1150,16 @@ dependencies = [
|
|||
"viaduct",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "generic-array"
|
||||
version = "0.14.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "501466ecc8a30d1d3b7fc9229b122b2ce8ed6e9d9223f1138d4babb253e51817"
|
||||
dependencies = [
|
||||
"typenum",
|
||||
"version_check",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "getrandom"
|
||||
version = "0.1.15"
|
||||
|
@ -1101,9 +1190,7 @@ checksum = "f6503fe142514ca4799d4c26297c4248239fe8838d827db6bd6065c6ed29a6ce"
|
|||
|
||||
[[package]]
|
||||
name = "glean-core"
|
||||
version = "32.4.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9add31f49d7b8085c58d2f3ea926ea999f166bd2901bf7a317480ecadba6c99b"
|
||||
version = "33.1.2"
|
||||
dependencies = [
|
||||
"bincode",
|
||||
"chrono",
|
||||
|
@ -1119,9 +1206,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "glean-ffi"
|
||||
version = "32.4.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5288a0df737d9648c92ed449f6b97593ba4d58aaf979eaa4a137b5a1c14e2168"
|
||||
version = "33.1.2"
|
||||
dependencies = [
|
||||
"android_logger",
|
||||
"env_logger",
|
||||
|
@ -1296,6 +1381,12 @@ dependencies = [
|
|||
"tokio-tls",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "id-arena"
|
||||
version = "2.2.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "25a2bc672d1148e28034f176e01fffebb08b35768468cc954630da77a1449005"
|
||||
|
||||
[[package]]
|
||||
name = "idna"
|
||||
version = "0.2.0"
|
||||
|
@ -1360,6 +1451,29 @@ version = "0.4.6"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "dc6f3ad7b9d11a0c00842ff8de1b60ee58661048eb8049ed33c73594f359d7e6"
|
||||
|
||||
[[package]]
|
||||
name = "jexl-eval"
|
||||
version = "0.1.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3c208de9bf204836fe5894bb756cd850075ba3acf3f327d04b656fb84046e1a4"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"jexl-parser",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "jexl-parser"
|
||||
version = "0.1.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "95e7c453f4c7dde64c914aa5ddd1183fc61dd446112d2b80a7f62390b9f0487c"
|
||||
dependencies = [
|
||||
"lalrpop-util",
|
||||
"regex",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "js-sys"
|
||||
version = "0.3.45"
|
||||
|
@ -1391,6 +1505,15 @@ dependencies = [
|
|||
"winapi-build",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "lalrpop-util"
|
||||
version = "0.19.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6771161eff561647fad8bb7e745e002c304864fb8f436b52b30acda51fca4408"
|
||||
dependencies = [
|
||||
"regex",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "lazy_static"
|
||||
version = "1.4.0"
|
||||
|
@ -1530,6 +1653,7 @@ dependencies = [
|
|||
"fxaclient_ffi",
|
||||
"lazy_static",
|
||||
"logins_ffi",
|
||||
"nimbus-sdk",
|
||||
"places-ffi",
|
||||
"push-ffi",
|
||||
"rc_log_ffi",
|
||||
|
@ -1718,6 +1842,28 @@ dependencies = [
|
|||
"winapi 0.3.9",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "nimbus-sdk"
|
||||
version = "0.4.0"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"hex",
|
||||
"jexl-eval",
|
||||
"log 0.4.11",
|
||||
"once_cell",
|
||||
"rkv",
|
||||
"serde",
|
||||
"serde_derive",
|
||||
"serde_json",
|
||||
"sha2",
|
||||
"thiserror",
|
||||
"uniffi",
|
||||
"uniffi_build",
|
||||
"url",
|
||||
"uuid",
|
||||
"viaduct",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "nix"
|
||||
version = "0.18.0"
|
||||
|
@ -1730,6 +1876,16 @@ dependencies = [
|
|||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "nom"
|
||||
version = "5.1.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ffb4262d26ed83a1c0a33a38fe2bb15797329c85770da05e6b828ddb782627af"
|
||||
dependencies = [
|
||||
"memchr",
|
||||
"version_check",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "nss"
|
||||
version = "0.1.0"
|
||||
|
@ -1836,6 +1992,12 @@ version = "11.1.2"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a170cebd8021a008ea92e4db85a72f80b35df514ec664b296fdcbb654eac0b2c"
|
||||
|
||||
[[package]]
|
||||
name = "opaque-debug"
|
||||
version = "0.3.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
|
||||
|
||||
[[package]]
|
||||
name = "openssl"
|
||||
version = "0.10.30"
|
||||
|
@ -1908,6 +2070,31 @@ dependencies = [
|
|||
"winapi 0.3.9",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "paste"
|
||||
version = "0.1.18"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "45ca20c77d80be666aef2b45486da86238fabe33e38306bd3118fe4af33fa880"
|
||||
dependencies = [
|
||||
"paste-impl",
|
||||
"proc-macro-hack",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "paste"
|
||||
version = "1.0.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ba7ae1a2180ed02ddfdb5ab70c70d596a26dd642e097bb6fe78b1bde8588ed97"
|
||||
|
||||
[[package]]
|
||||
name = "paste-impl"
|
||||
version = "0.1.18"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d95a7db200b97ef370c8e6de0088252f7e0dfff7d047a28528e47456c0fc98b6"
|
||||
dependencies = [
|
||||
"proc-macro-hack",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "percent-encoding"
|
||||
version = "2.1.0"
|
||||
|
@ -2601,18 +2788,21 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "rkv"
|
||||
version = "0.10.4"
|
||||
version = "0.15.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "30a3dbc1f4971372545ed4175f23ef206c81e5874cd574d153646e7ee78f6793"
|
||||
checksum = "e97d1b6321740ce36d77d67d22ff84ac8a996cf69dbd0727b8bcae52f1c98aaa"
|
||||
dependencies = [
|
||||
"arrayref",
|
||||
"bincode",
|
||||
"bitflags 1.2.1",
|
||||
"byteorder",
|
||||
"failure",
|
||||
"id-arena",
|
||||
"lazy_static",
|
||||
"lmdb-rkv",
|
||||
"log 0.4.11",
|
||||
"ordered-float",
|
||||
"paste 0.1.18",
|
||||
"serde",
|
||||
"serde_derive",
|
||||
"url",
|
||||
|
@ -2659,7 +2849,7 @@ version = "0.2.3"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
|
||||
dependencies = [
|
||||
"semver",
|
||||
"semver 0.9.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -2725,6 +2915,16 @@ dependencies = [
|
|||
"semver-parser",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "semver"
|
||||
version = "0.10.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "394cec28fa623e00903caf7ba4fa6fb9a0e260280bb8cdbbba029611108a0190"
|
||||
dependencies = [
|
||||
"semver-parser",
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "semver-parser"
|
||||
version = "0.7.0"
|
||||
|
@ -2793,6 +2993,19 @@ dependencies = [
|
|||
"url",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "sha2"
|
||||
version = "0.9.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6e7aab86fe2149bad8c507606bdb3f4ef5e7b2380eb92350f56122cca72a42a8"
|
||||
dependencies = [
|
||||
"block-buffer",
|
||||
"cfg-if 1.0.0",
|
||||
"cpuid-bool",
|
||||
"digest",
|
||||
"opaque-debug",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "slab"
|
||||
version = "0.4.2"
|
||||
|
@ -3182,18 +3395,18 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "thiserror"
|
||||
version = "1.0.21"
|
||||
version = "1.0.22"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "318234ffa22e0920fe9a40d7b8369b5f649d490980cf7aadcf1eb91594869b42"
|
||||
checksum = "0e9ae34b84616eedaaf1e9dd6026dbe00dcafa92aa0c8077cb69df1fcfe5e53e"
|
||||
dependencies = [
|
||||
"thiserror-impl",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "thiserror-impl"
|
||||
version = "1.0.21"
|
||||
version = "1.0.22"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "cae2447b6282786c3493999f40a9be2a6ad20cb8bd268b0a0dbf5a065535c0ab"
|
||||
checksum = "9ba20f23e85b10754cd195504aebf6a27e2e6cbe28c17778a0c930724628dd56"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
|
@ -3330,6 +3543,12 @@ version = "0.2.3"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642"
|
||||
|
||||
[[package]]
|
||||
name = "typenum"
|
||||
version = "1.12.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "373c8a200f9e67a0c95e62a4f52fbf80c23b4381c05a17845531982fa99e6b33"
|
||||
|
||||
[[package]]
|
||||
name = "types"
|
||||
version = "0.1.0"
|
||||
|
@ -3391,6 +3610,47 @@ version = "0.2.1"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564"
|
||||
|
||||
[[package]]
|
||||
name = "uniffi"
|
||||
version = "0.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4bec682ed64f9e7d63038df2c1482d078bde432acf10418573a1fd7414cf7e40"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"bytes",
|
||||
"cargo_metadata",
|
||||
"ffi-support 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"lazy_static",
|
||||
"log 0.4.11",
|
||||
"paste 1.0.2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "uniffi_bindgen"
|
||||
version = "0.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d666448591e47695c05de35d1a8f3314971143b08d0ea8e95cc0983ea33da29b"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"askama",
|
||||
"cargo_metadata",
|
||||
"clap",
|
||||
"heck",
|
||||
"serde",
|
||||
"toml",
|
||||
"weedle",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "uniffi_build"
|
||||
version = "0.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "42c9c966bd14ab3871f6308acb83818232b08679767555404293119335680f5f"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"uniffi_bindgen",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "url"
|
||||
version = "2.1.1"
|
||||
|
@ -3410,6 +3670,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||
checksum = "9fde2f6a4bea1d6e007c4ad38c6839fa71cbb63b6dbf5b595aa38dc9b1093c11"
|
||||
dependencies = [
|
||||
"rand 0.7.3",
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -3614,6 +3875,15 @@ dependencies = [
|
|||
"webext-storage",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "weedle"
|
||||
version = "0.11.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8a7d4f9feb723a800d8f7b74edc9fa44ff35cb0b2ec64886714362f423427f37"
|
||||
dependencies = [
|
||||
"nom",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "which"
|
||||
version = "3.1.1"
|
||||
|
|
12
Cargo.toml
12
Cargo.toml
|
@ -45,6 +45,13 @@ members = [
|
|||
"testing/separated/*/",
|
||||
]
|
||||
|
||||
# Don't include git submodules in our workspace, since those packages haven't
|
||||
# been written with that in mind. They might work, but they might not.
|
||||
exclude = [
|
||||
"components/external/glean/",
|
||||
"components/external/nimbus-sdk/",
|
||||
]
|
||||
|
||||
# The `default-members` are the things that are built/tested when you run `cargo
|
||||
# build`, `cargo test` (or most of the cargo commands not provided by a
|
||||
# third-party `cargo-foo` binary) from a workspace root *without* doing one of:
|
||||
|
@ -110,3 +117,8 @@ default-members = [
|
|||
opt-level = "s"
|
||||
debug = true
|
||||
lto = "thin"
|
||||
|
||||
# We import some git submodules which in turn may depend on appservices crates.
|
||||
# We always want to use the local version of our own crates in that case.
|
||||
[patch."https://github.com/mozilla/application-services"]
|
||||
viaduct = { path = "components/viaduct" }
|
||||
|
|
208
DEPENDENCIES.md
208
DEPENDENCIES.md
|
@ -11,8 +11,11 @@ the details of which are reproduced below.
|
|||
* [MIT License: atty](#mit-license-atty)
|
||||
* [MIT License: bincode](#mit-license-bincode)
|
||||
* [MIT License: bytes](#mit-license-bytes)
|
||||
* [MIT License: cargo_metadata](#mit-license-cargo_metadata)
|
||||
* [MIT License: caseless](#mit-license-caseless)
|
||||
* [MIT License: clap](#mit-license-clap)
|
||||
* [MIT License: dashmap](#mit-license-dashmap)
|
||||
* [MIT License: generic-array](#mit-license-generic-array)
|
||||
* [MIT License: h2](#mit-license-h2)
|
||||
* [MIT License: http-body](#mit-license-http-body)
|
||||
* [MIT License: hyper](#mit-license-hyper)
|
||||
|
@ -22,16 +25,19 @@ the details of which are reproduced below.
|
|||
* [MIT License: mime_guess](#mit-license-mime_guess)
|
||||
* [MIT License: miniz_oxide](#mit-license-miniz_oxide)
|
||||
* [MIT License: mio](#mit-license-mio)
|
||||
* [MIT License: nom](#mit-license-nom)
|
||||
* [MIT License: openssl-sys](#mit-license-openssl-sys)
|
||||
* [MIT License: ordered-float](#mit-license-ordered-float)
|
||||
* [MIT License: oslog](#mit-license-oslog)
|
||||
* [MIT License: schannel](#mit-license-schannel)
|
||||
* [MIT License: slab](#mit-license-slab)
|
||||
* [MIT License: synstructure](#mit-license-synstructure)
|
||||
* [MIT License: textwrap](#mit-license-textwrap)
|
||||
* [MIT License: tokio, tokio-tls, tokio-util, tracing, tracing-core, tracing-futures](#mit-license-tokio-tokio-tls-tokio-util-tracing-tracing-core-tracing-futures)
|
||||
* [MIT License: tower-service](#mit-license-tower-service)
|
||||
* [MIT License: try-lock](#mit-license-try-lock)
|
||||
* [MIT License: want](#mit-license-want)
|
||||
* [MIT License: weedle](#mit-license-weedle)
|
||||
* [MIT License: winapi](#mit-license-winapi)
|
||||
* [MIT License: winapi-util](#mit-license-winapi-util)
|
||||
* [MIT License: winreg](#mit-license-winreg)
|
||||
|
@ -49,9 +55,12 @@ The following text applies to code linked from these dependencies:
|
|||
[NSPR](https://hg.mozilla.org/projects/nspr),
|
||||
[NSS](https://hg.mozilla.org/projects/nss),
|
||||
[ece](https://github.com/mozilla/rust-ece),
|
||||
[glean-core](https://github.com/mozilla/glean),
|
||||
[glean-ffi](https://github.com/mozilla/glean),
|
||||
[hawk](https://github.com/taskcluster/rust-hawk)
|
||||
[hawk](https://github.com/taskcluster/rust-hawk),
|
||||
[jexl-eval](https://github.com/mozilla/jexl-rs),
|
||||
[jexl-parser](https://github.com/mozilla/jexl-rs),
|
||||
[uniffi](https://github.com/mozilla/uniffi-rs),
|
||||
[uniffi_bindgen](https://github.com/mozilla/uniffi-rs),
|
||||
[uniffi_build](https://github.com/mozilla/uniffi-rs)
|
||||
|
||||
```
|
||||
Mozilla Public License Version 2.0
|
||||
|
@ -438,9 +447,14 @@ The following text applies to code linked from these dependencies:
|
|||
[android_log-sys](https://github.com/nercury/android_log-sys-rs),
|
||||
[android_logger](https://github.com/Nercury/android_logger-rs),
|
||||
[anyhow](https://github.com/dtolnay/anyhow),
|
||||
[askama](https://github.com/djc/askama),
|
||||
[askama_derive](https://github.com/djc/askama),
|
||||
[askama_escape](https://github.com/djc/askama),
|
||||
[askama_shared](https://github.com/djc/askama),
|
||||
[autocfg](https://github.com/cuviper/autocfg),
|
||||
[base64](https://github.com/marshallpierce/rust-base64),
|
||||
[bitflags](https://github.com/bitflags/bitflags),
|
||||
[block-buffer](https://github.com/RustCrypto/utils),
|
||||
[cc](https://github.com/alexcrichton/cc-rs),
|
||||
[cfg-if](https://github.com/alexcrichton/cfg-if),
|
||||
[chrono](https://github.com/chronotope/chrono),
|
||||
|
@ -448,7 +462,9 @@ The following text applies to code linked from these dependencies:
|
|||
[const-random](https://github.com/tkaitchuck/constrandom),
|
||||
[core-foundation-sys](https://github.com/servo/core-foundation-rs),
|
||||
[core-foundation](https://github.com/servo/core-foundation-rs),
|
||||
[cpuid-bool](https://github.com/RustCrypto/utils),
|
||||
[crc32fast](https://github.com/srijs/rust-crc32fast),
|
||||
[digest](https://github.com/RustCrypto/traits),
|
||||
[dogear](https://github.com/mozilla/dogear),
|
||||
[dtoa](https://github.com/dtolnay/dtoa),
|
||||
[either](https://github.com/bluss/either),
|
||||
|
@ -472,12 +488,14 @@ The following text applies to code linked from these dependencies:
|
|||
[getrandom](https://github.com/rust-random/getrandom),
|
||||
[hashbrown](https://github.com/rust-lang/hashbrown),
|
||||
[hashlink](https://github.com/kyren/hashlink),
|
||||
[heck](https://github.com/withoutboats/heck),
|
||||
[hex](https://github.com/KokaKiwi/rust-hex),
|
||||
[http](https://github.com/hyperium/http),
|
||||
[httparse](https://github.com/seanmonstar/httparse),
|
||||
[httpdate](https://github.com/pyfisch/httpdate),
|
||||
[humantime](https://github.com/tailhook/humantime),
|
||||
[hyper-tls](https://github.com/hyperium/hyper-tls),
|
||||
[id-arena](https://github.com/fitzgen/id-arena),
|
||||
[idna](https://github.com/servo/rust-url/),
|
||||
[indexmap](https://github.com/bluss/indexmap),
|
||||
[iovec](https://github.com/carllerche/iovec),
|
||||
|
@ -485,6 +503,7 @@ The following text applies to code linked from these dependencies:
|
|||
[itertools](https://github.com/bluss/rust-itertools),
|
||||
[itoa](https://github.com/dtolnay/itoa),
|
||||
[jna](https://github.com/java-native-access/jna),
|
||||
[lalrpop-util](https://github.com/lalrpop/lalrpop),
|
||||
[lazy_static](https://github.com/rust-lang-nursery/lazy-static.rs),
|
||||
[libc](https://github.com/rust-lang/libc),
|
||||
[lmdb-rkv-sys](https://github.com/mozilla/lmdb-rs.git),
|
||||
|
@ -498,9 +517,12 @@ The following text applies to code linked from these dependencies:
|
|||
[num-traits](https://github.com/rust-num/num-traits),
|
||||
[num_cpus](https://github.com/seanmonstar/num_cpus),
|
||||
[once_cell](https://github.com/matklad/once_cell),
|
||||
[opaque-debug](https://github.com/RustCrypto/utils),
|
||||
[openssl-probe](https://github.com/alexcrichton/openssl-probe),
|
||||
[openssl-src](https://github.com/alexcrichton/openssl-src-rs),
|
||||
[openssl](https://github.com/sfackler/rust-openssl),
|
||||
[paste-impl](https://github.com/dtolnay/paste),
|
||||
[paste](https://github.com/dtolnay/paste),
|
||||
[percent-encoding](https://github.com/servo/rust-url/),
|
||||
[pin-project-internal](https://github.com/taiki-e/pin-project),
|
||||
[pin-project-lite](https://github.com/taiki-e/pin-project-lite),
|
||||
|
@ -525,10 +547,13 @@ The following text applies to code linked from these dependencies:
|
|||
[ryu](https://github.com/dtolnay/ryu),
|
||||
[security-framework-sys](https://github.com/kornelski/rust-security-framework),
|
||||
[security-framework](https://github.com/kornelski/rust-security-framework),
|
||||
[semver-parser](https://github.com/steveklabnik/semver-parser),
|
||||
[semver](https://github.com/steveklabnik/semver),
|
||||
[serde](https://github.com/serde-rs/serde),
|
||||
[serde_derive](https://github.com/serde-rs/serde),
|
||||
[serde_json](https://github.com/serde-rs/json),
|
||||
[serde_urlencoded](https://github.com/nox/serde_urlencoded),
|
||||
[sha2](https://github.com/RustCrypto/hashes),
|
||||
[smallbitvec](https://github.com/servo/smallbitvec),
|
||||
[smallvec](https://github.com/servo/rust-smallvec),
|
||||
[socket2](https://github.com/alexcrichton/socket2-rs),
|
||||
|
@ -540,9 +565,13 @@ The following text applies to code linked from these dependencies:
|
|||
[thread_local](https://github.com/Amanieu/thread_local-rs),
|
||||
[time](https://github.com/time-rs/time),
|
||||
[tinyvec](https://github.com/Lokathor/tinyvec),
|
||||
[toml](https://github.com/alexcrichton/toml-rs),
|
||||
[typenum](https://github.com/paholg/typenum),
|
||||
[unicase](https://github.com/seanmonstar/unicase),
|
||||
[unicode-bidi](https://github.com/servo/unicode-bidi),
|
||||
[unicode-normalization](https://github.com/unicode-rs/unicode-normalization),
|
||||
[unicode-segmentation](https://github.com/unicode-rs/unicode-segmentation),
|
||||
[unicode-width](https://github.com/unicode-rs/unicode-width),
|
||||
[unicode-xid](https://github.com/unicode-rs/unicode-xid),
|
||||
[url](https://github.com/servo/rust-url),
|
||||
[uuid](https://github.com/uuid-rs/uuid),
|
||||
|
@ -910,6 +939,38 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
|
|||
IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
DEALINGS IN THE SOFTWARE.
|
||||
|
||||
```
|
||||
-------------
|
||||
## MIT License: cargo_metadata
|
||||
|
||||
The following text applies to code linked from these dependencies:
|
||||
[cargo_metadata](https://github.com/oli-obk/cargo_metadata)
|
||||
|
||||
```
|
||||
Permission is hereby granted, free of charge, to any
|
||||
person obtaining a copy of this software and associated
|
||||
documentation files (the "Software"), to deal in the
|
||||
Software without restriction, including without
|
||||
limitation the rights to use, copy, modify, merge,
|
||||
publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software
|
||||
is furnished to do so, subject to the following
|
||||
conditions:
|
||||
|
||||
The above copyright notice and this permission notice
|
||||
shall be included in all copies or substantial portions
|
||||
of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
|
||||
ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
|
||||
TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
|
||||
PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
|
||||
SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
|
||||
IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
DEALINGS IN THE SOFTWARE.
|
||||
|
||||
```
|
||||
-------------
|
||||
## MIT License: caseless
|
||||
|
@ -941,6 +1002,36 @@ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
```
|
||||
-------------
|
||||
## MIT License: clap
|
||||
|
||||
The following text applies to code linked from these dependencies:
|
||||
[clap](https://github.com/clap-rs/clap)
|
||||
|
||||
```
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2015-2016 Kevin B. Knapp
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
||||
```
|
||||
-------------
|
||||
## MIT License: dashmap
|
||||
|
@ -971,6 +1062,35 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
||||
```
|
||||
-------------
|
||||
## MIT License: generic-array
|
||||
|
||||
The following text applies to code linked from these dependencies:
|
||||
[generic-array](https://github.com/fizyk20/generic-array.git)
|
||||
|
||||
```
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2015 Bartłomiej Kamiński
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
```
|
||||
-------------
|
||||
## MIT License: h2
|
||||
|
@ -1250,6 +1370,35 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
|
||||
```
|
||||
-------------
|
||||
## MIT License: nom
|
||||
|
||||
The following text applies to code linked from these dependencies:
|
||||
[nom](https://github.com/Geal/nom)
|
||||
|
||||
```
|
||||
Copyright (c) 2014-2019 Geoffroy Couprie
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
"Software"), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to
|
||||
the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
```
|
||||
-------------
|
||||
## MIT License: openssl-sys
|
||||
|
@ -1414,6 +1563,36 @@ The above copyright notice and this permission notice shall be included in all c
|
|||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
```
|
||||
-------------
|
||||
## MIT License: textwrap
|
||||
|
||||
The following text applies to code linked from these dependencies:
|
||||
[textwrap](https://github.com/mgeisler/textwrap)
|
||||
|
||||
```
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2016 Martin Geisler
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
||||
```
|
||||
-------------
|
||||
## MIT License: tokio, tokio-tls, tokio-util, tracing, tracing-core, tracing-futures
|
||||
|
@ -1546,6 +1725,29 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|||
THE SOFTWARE.
|
||||
|
||||
|
||||
```
|
||||
-------------
|
||||
## MIT License: weedle
|
||||
|
||||
The following text applies to code linked from these dependencies:
|
||||
[weedle](https://github.com/rustwasm/weedle)
|
||||
|
||||
```
|
||||
Copyright 2018-Present Sharad Chand
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
|
||||
documentation files (the "Software"), to deal in the Software without restriction, including without limitation
|
||||
the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
|
||||
and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions
|
||||
of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
|
||||
TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
|
||||
CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
DEALINGS IN THE SOFTWARE.
|
||||
```
|
||||
-------------
|
||||
## MIT License: winapi
|
||||
|
|
10
build.gradle
10
build.gradle
|
@ -3,8 +3,8 @@
|
|||
buildscript {
|
||||
ext.kotlin_version = '1.3.71'
|
||||
ext.jna_version = '5.6.0'
|
||||
ext.android_gradle_plugin_version = '3.6.0'
|
||||
ext.android_components_version = '56.0.0'
|
||||
ext.android_gradle_plugin_version = '4.0.1'
|
||||
ext.android_components_version = '63.0.0'
|
||||
|
||||
ext.build = [
|
||||
ndkVersion: "21.3.6528147", // Keep it in sync in TC Dockerfile.
|
||||
|
@ -252,7 +252,11 @@ ext.cargoExecWithSQLCipher = { spec, toolchain ->
|
|||
|
||||
detekt {
|
||||
toolVersion = "1.7.4"
|
||||
input = files("${projectDir}/components", "${projectDir}/gradle-plugin", "buildSrc")
|
||||
input = files(
|
||||
fileTree(dir: "${projectDir}/components", excludes: ["external"]),
|
||||
"${projectDir}/gradle-plugin",
|
||||
"buildSrc"
|
||||
)
|
||||
buildUponDefaultConfig = true
|
||||
config = files("${projectDir}/.detekt.yml")
|
||||
failFast = false
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
Subproject commit 379286eeb577adc99f889e9918aec7c6bd4872ab
|
|
@ -0,0 +1 @@
|
|||
Subproject commit de1aea07533eae596b1dabd23be0b9dabb4ea2dc
|
|
@ -1 +0,0 @@
|
|||
Subproject commit 9c55b4ccd355ecebb01e04421f5aa73b04512de2
|
|
@ -0,0 +1,53 @@
|
|||
# The Nimbus SDK, megazorded with Application Services
|
||||
|
||||
This is a re-packaging of the [Nimbus SDK](https://github.com/mozilla/nimbus-sdk/) for Android,
|
||||
compiled in a way that works nicely with the application-services [megazord](../../docs/design/megazords.md).
|
||||
|
||||
The Nimbus SDK builds its own standalone `org.mozilla.experiments:nimbus` package, which includes both
|
||||
the Nimbus Kotlin bindings and the compiled Rust code. However, that package currently isn't published
|
||||
anywhere, and it's difficult for other Rust components to integrate with Rust code compiled into a
|
||||
standalone shared library.
|
||||
|
||||
Instead, we recommend consumers depend on the `org.mozilla.appservices:nimbus` package, which
|
||||
provides the same Nimbus Kotlin bindings, but configured to load the underlying Rust code from
|
||||
the application-serivces `:full-megazord` package. This lets us compile the Rust code for Nimbus
|
||||
together with the Rust code for Glean and for application-services, and have them interoperate
|
||||
directly at the Rust level.
|
||||
|
||||
Consumers will also need to add the following snippet to ensure that Nimbus can find the
|
||||
correct shared library:
|
||||
|
||||
```
|
||||
System.setProperty(
|
||||
"uniffi.component.nimbus.libraryOverride",
|
||||
System.getProperty("mozilla.appservices.megazord.library", "megazord")
|
||||
)
|
||||
```
|
||||
|
||||
(The Nimbus SDK wrapped in android-components handles this for you automatically.
|
||||
|
||||
|
||||
To update Nimbus:
|
||||
|
||||
1. Select the release version to which to update, `$version`.
|
||||
2. Update the submodule to that version (replace `$version` below with the correct version, e.g. `0.3.0`):
|
||||
|
||||
```
|
||||
cd components/external/nimbus-sdk
|
||||
git fetch origin
|
||||
git checkout v$version
|
||||
```
|
||||
3. Update `Cargo.lock` to reflect any upstream changes:
|
||||
```
|
||||
cargo update
|
||||
```
|
||||
4. Commit the changes:
|
||||
|
||||
```
|
||||
git add components/external/nimbus-sdk
|
||||
git add Cargo.lock
|
||||
git commit
|
||||
```
|
||||
5. Run `./gradlew nimbus:test` to ensure that things still work correctly.
|
||||
If this returns an error, you may need to update `./build.gradle` to track
|
||||
any build changes made in the upstream Nimbus repository.
|
|
@ -0,0 +1,149 @@
|
|||
// =============================================
|
||||
// We're doing something a bit weird here, so
|
||||
// READ THIS CAREFULLY before editing this file.
|
||||
// =============================================
|
||||
//
|
||||
// This is a lightly-modified version of the `build.gradle` file from Nimbus,
|
||||
// which you can find at `../external/nimbus-sdk/android/build.gradle`.
|
||||
//
|
||||
// The aim here is to pre-package the Nimbus Kotlin code and publish it under
|
||||
// `org.mozilla.appservices:nimbus` rather than `org.mozilla.experiments:nimbus`,
|
||||
// and to make it depend on `org.mozilla.appservices:full-megazord` for the
|
||||
// compiled Rust code.
|
||||
//
|
||||
// We expect consumers that want to use Nimbus and AppServices together, will
|
||||
// use our re-packaged version rather than standalone Nimbus SDK.
|
||||
|
||||
apply plugin: 'com.android.library'
|
||||
apply plugin: 'kotlin-android'
|
||||
apply plugin: 'kotlin-android-extensions'
|
||||
|
||||
|
||||
android {
|
||||
ndkVersion rootProject.ext.build.ndkVersion
|
||||
compileSdkVersion rootProject.ext.build.compileSdkVersion
|
||||
|
||||
defaultConfig {
|
||||
minSdkVersion rootProject.ext.build['minSdkVersion']
|
||||
targetSdkVersion rootProject.ext.build['targetSdkVersion']
|
||||
|
||||
buildConfigField("String", "LIBRARY_VERSION", "\"${rootProject.ext.library.version}\"")
|
||||
|
||||
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
release {
|
||||
minifyEnabled false
|
||||
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
||||
consumerProguardFiles "$rootDir/proguard-rules-consumer-jna.pro"
|
||||
}
|
||||
}
|
||||
|
||||
// We don't have any source files of our own, we're re-packaging the ones
|
||||
// from the Nimbus repo (which is included as a submodule in our repo).
|
||||
sourceSets {
|
||||
main.java.srcDirs += "../external/nimbus-sdk/android/src/main/java"
|
||||
test.java.srcDirs += "../external/nimbus-sdk/android/src/test"
|
||||
test.resources.srcDirs += "$buildDir/rustJniLibs/desktop"
|
||||
test.resources.srcDirs += "${project(':full-megazord').buildDir}/rustJniLibs/desktop"
|
||||
}
|
||||
|
||||
// This is required to support new AndroidX support libraries.
|
||||
// See mozilla-mobile/android-components#842
|
||||
compileOptions {
|
||||
sourceCompatibility 1.8
|
||||
targetCompatibility 1.8
|
||||
}
|
||||
|
||||
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
|
||||
kotlinOptions {
|
||||
jvmTarget = 1.8
|
||||
}
|
||||
}
|
||||
|
||||
testOptions {
|
||||
unitTests.all {
|
||||
testLogging {
|
||||
showStandardStreams = true
|
||||
}
|
||||
|
||||
maxHeapSize = "1024m"
|
||||
}
|
||||
|
||||
unitTests {
|
||||
includeAndroidResources = true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
configurations {
|
||||
// There's an interaction between Gradle's resolution of dependencies with different types
|
||||
// (@jar, @aar) for `implementation` and `testImplementation` and with Android Studio's built-in
|
||||
// JUnit test runner. The runtime classpath in the built-in JUnit test runner gets the
|
||||
// dependency from the `implementation`, which is type @aar, and therefore the JNA dependency
|
||||
// doesn't provide the JNI dispatch libraries in the correct Java resource directories. I think
|
||||
// what's happening is that @aar type in `implementation` resolves to the @jar type in
|
||||
// `testImplementation`, and that it wins the dependency resolution battle.
|
||||
//
|
||||
// A workaround is to add a new configuration which depends on the @jar type and to reference
|
||||
// the underlying JAR file directly in `testImplementation`. This JAR file doesn't resolve to
|
||||
// the @aar type in `implementation`. This works when invoked via `gradle`, but also sets the
|
||||
// correct runtime classpath when invoked with Android Studio's built-in JUnit test runner.
|
||||
// Success!
|
||||
jnaForTest
|
||||
}
|
||||
|
||||
dependencies {
|
||||
jnaForTest "net.java.dev.jna:jna:$jna_version@jar"
|
||||
implementation "net.java.dev.jna:jna:$jna_version@aar"
|
||||
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
|
||||
|
||||
// Unlike standard Nimbus which builds a standalone package, this version depends
|
||||
// on `:full-megazord` for the underlying native library. The full-megazord needs
|
||||
// to be configured to include the corresponding Nimbus FFI functions.
|
||||
implementation project(":native-support")
|
||||
api project(":full-megazord")
|
||||
|
||||
// For reasons unknown, resolving the jnaForTest configuration directly
|
||||
// trips a nasty issue with the Android-Gradle plugin 3.2.1, like `Cannot
|
||||
// change attributes of configuration ':PROJECT:kapt' after it has been
|
||||
// resolved`. I think that the configuration is being made a
|
||||
// super-configuration of the testImplementation and then the `.files` is
|
||||
// causing it to be resolved. Cloning first dissociates the configuration,
|
||||
// avoiding other configurations from being resolved. Tricky!
|
||||
testImplementation files(configurations.jnaForTest.copyRecursive().files)
|
||||
testImplementation 'junit:junit:4.12'
|
||||
}
|
||||
|
||||
|
||||
// We also do the binding generation here:
|
||||
android.libraryVariants.all { variant ->
|
||||
def t = tasks.register("generate${variant.name.capitalize()}UniffiBindings", Exec) {
|
||||
workingDir "${project.projectDir}"
|
||||
// Runs the bindings generation, note that you must have uniffi-bindgen installed and in your PATH environment variable
|
||||
commandLine 'uniffi-bindgen', 'generate', '../external/nimbus-sdk/nimbus/src/nimbus.idl', '--language', 'kotlin', '--out-dir', "${buildDir}/generated/source/uniffi/${variant.name}/java"
|
||||
}
|
||||
variant.javaCompileProvider.get().dependsOn(t)
|
||||
def sourceSet = variant.sourceSets.find { it.name == variant.name }
|
||||
sourceSet.java.srcDir new File(buildDir, "generated/source/uniffi/${variant.name}/java")
|
||||
}
|
||||
|
||||
evaluationDependsOn(":full-megazord")
|
||||
afterEvaluate {
|
||||
// The `cargoBuild` task isn't available until after evaluation.
|
||||
android.libraryVariants.all { variant ->
|
||||
def productFlavor = ""
|
||||
variant.productFlavors.each {
|
||||
productFlavor += "${it.name.capitalize()}"
|
||||
}
|
||||
def buildType = "${variant.buildType.name.capitalize()}"
|
||||
tasks["merge${productFlavor}${buildType}JniLibFolders"].dependsOn(project(':full-megazord').tasks["cargoBuild"])
|
||||
|
||||
// For unit tests.
|
||||
tasks["process${productFlavor}${buildType}UnitTestJavaRes"].dependsOn(project(':full-megazord').tasks["cargoBuild"])
|
||||
}
|
||||
}
|
||||
|
||||
apply from: "$rootDir/publish.gradle"
|
||||
ext.configurePublish()
|
|
@ -0,0 +1,7 @@
|
|||
# Add project specific ProGuard rules here.
|
||||
# You can control the set of applied configuration files using the
|
||||
# proguardFiles setting in build.gradle.
|
||||
#
|
||||
# For more details, see
|
||||
# http://developer.android.com/guide/developing/tools/proguard.html
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="org.mozilla.experiments.nimbus" />
|
|
@ -1,7 +1,7 @@
|
|||
<!-- AUTOGENERATED BY glean_parser. DO NOT EDIT. -->
|
||||
|
||||
# Metrics
|
||||
This document enumerates the metrics collected by this project.
|
||||
This document enumerates the metrics collected by this project using the [Glean SDK](https://mozilla.github.io/glean/book/index.html).
|
||||
This project may depend on other projects which also collect metrics.
|
||||
This means you might have to go searching through the dependency tree to get a full picture of everything collected by this project.
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<!-- AUTOGENERATED BY glean_parser. DO NOT EDIT. -->
|
||||
|
||||
# Metrics
|
||||
This document enumerates the metrics collected by this project.
|
||||
This document enumerates the metrics collected by this project using the [Glean SDK](https://mozilla.github.io/glean/book/index.html).
|
||||
This project may depend on other projects which also collect metrics.
|
||||
This means you might have to go searching through the dependency tree to get a full picture of everything collected by this project.
|
||||
|
||||
|
|
Двоичный файл не отображается.
|
@ -1,5 +1,5 @@
|
|||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-6.3-bin.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-bin.zip
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
|
|
|
@ -1,5 +1,21 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
#
|
||||
# Copyright 2015 the original author or authors.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
##############################################################################
|
||||
##
|
||||
## Gradle start up script for UN*X
|
||||
|
@ -28,7 +44,7 @@ APP_NAME="Gradle"
|
|||
APP_BASE_NAME=`basename "$0"`
|
||||
|
||||
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
DEFAULT_JVM_OPTS=""
|
||||
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
|
||||
|
||||
# Use the maximum available, or set MAX_FD != -1 to use that value.
|
||||
MAX_FD="maximum"
|
||||
|
@ -109,8 +125,8 @@ if $darwin; then
|
|||
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
|
||||
fi
|
||||
|
||||
# For Cygwin, switch paths to Windows format before running java
|
||||
if $cygwin ; then
|
||||
# For Cygwin or MSYS, switch paths to Windows format before running java
|
||||
if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
|
||||
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
|
||||
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
|
||||
JAVACMD=`cygpath --unix "$JAVACMD"`
|
||||
|
@ -138,19 +154,19 @@ if $cygwin ; then
|
|||
else
|
||||
eval `echo args$i`="\"$arg\""
|
||||
fi
|
||||
i=$((i+1))
|
||||
i=`expr $i + 1`
|
||||
done
|
||||
case $i in
|
||||
(0) set -- ;;
|
||||
(1) set -- "$args0" ;;
|
||||
(2) set -- "$args0" "$args1" ;;
|
||||
(3) set -- "$args0" "$args1" "$args2" ;;
|
||||
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
|
||||
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
|
||||
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
|
||||
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
|
||||
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
|
||||
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
|
||||
0) set -- ;;
|
||||
1) set -- "$args0" ;;
|
||||
2) set -- "$args0" "$args1" ;;
|
||||
3) set -- "$args0" "$args1" "$args2" ;;
|
||||
4) set -- "$args0" "$args1" "$args2" "$args3" ;;
|
||||
5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
|
||||
6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
|
||||
7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
|
||||
8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
|
||||
9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
|
@ -159,14 +175,9 @@ save () {
|
|||
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
|
||||
echo " "
|
||||
}
|
||||
APP_ARGS=$(save "$@")
|
||||
APP_ARGS=`save "$@"`
|
||||
|
||||
# Collect all arguments for the java command, following the shell quoting and substitution rules
|
||||
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
|
||||
|
||||
# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
|
||||
if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
|
||||
cd "$(dirname "$0")"
|
||||
fi
|
||||
|
||||
exec "$JAVACMD" "$@"
|
||||
|
|
|
@ -1,3 +1,19 @@
|
|||
@rem
|
||||
@rem Copyright 2015 the original author or authors.
|
||||
@rem
|
||||
@rem Licensed under the Apache License, Version 2.0 (the "License");
|
||||
@rem you may not use this file except in compliance with the License.
|
||||
@rem You may obtain a copy of the License at
|
||||
@rem
|
||||
@rem https://www.apache.org/licenses/LICENSE-2.0
|
||||
@rem
|
||||
@rem Unless required by applicable law or agreed to in writing, software
|
||||
@rem distributed under the License is distributed on an "AS IS" BASIS,
|
||||
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
@rem See the License for the specific language governing permissions and
|
||||
@rem limitations under the License.
|
||||
@rem
|
||||
|
||||
@if "%DEBUG%" == "" @echo off
|
||||
@rem ##########################################################################
|
||||
@rem
|
||||
|
@ -13,8 +29,11 @@ if "%DIRNAME%" == "" set DIRNAME=.
|
|||
set APP_BASE_NAME=%~n0
|
||||
set APP_HOME=%DIRNAME%
|
||||
|
||||
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
|
||||
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
|
||||
|
||||
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
set DEFAULT_JVM_OPTS=
|
||||
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
|
||||
|
||||
@rem Find java.exe
|
||||
if defined JAVA_HOME goto findJavaFromJavaHome
|
||||
|
|
|
@ -14,6 +14,7 @@ logins_ffi = { path = "../../components/logins/ffi" }
|
|||
places-ffi = { path = "../../components/places/ffi" }
|
||||
push-ffi = { path = "../../components/push/ffi" }
|
||||
rc_log_ffi = { path = "../../components/rc_log" }
|
||||
viaduct = { path = "../../components/viaduct", default_features = false }
|
||||
viaduct = { path = "../../components/viaduct" }
|
||||
sync_manager_ffi = { path = "../../components/sync_manager/ffi" }
|
||||
nimbus-sdk = { path = "../../components/external/nimbus-sdk/nimbus" }
|
||||
lazy_static = "1.4"
|
||||
|
|
|
@ -9,11 +9,20 @@ the details of which are reproduced below.
|
|||
* [MIT License: aho-corasick, byteorder, memchr](#mit-license-aho-corasick-byteorder-memchr)
|
||||
* [MIT License: bincode](#mit-license-bincode)
|
||||
* [MIT License: bytes](#mit-license-bytes)
|
||||
* [MIT License: cargo_metadata](#mit-license-cargo_metadata)
|
||||
* [MIT License: caseless](#mit-license-caseless)
|
||||
* [MIT License: clap](#mit-license-clap)
|
||||
* [MIT License: generic-array](#mit-license-generic-array)
|
||||
* [MIT License: libsqlite3-sys, rusqlite](#mit-license-libsqlite3-sys-rusqlite)
|
||||
* [MIT License: matches](#mit-license-matches)
|
||||
* [MIT License: nom](#mit-license-nom)
|
||||
* [MIT License: ordered-float](#mit-license-ordered-float)
|
||||
* [MIT License: synstructure](#mit-license-synstructure)
|
||||
* [MIT License: textwrap](#mit-license-textwrap)
|
||||
* [MIT License: weedle](#mit-license-weedle)
|
||||
* [CC0-1.0 License: base16](#cc0-10-license-base16)
|
||||
* [ISC License: ring](#isc-license-ring)
|
||||
* [BSD-2-Clause License: arrayref](#bsd-2-clause-license-arrayref)
|
||||
* [BSD-3-Clause License: protobuf](#bsd-3-clause-license-protobuf)
|
||||
* [BSD-3-Clause License: sqlcipher](#bsd-3-clause-license-sqlcipher)
|
||||
* [Optional Notice: SQLite](#optional-notice-sqlite)
|
||||
|
@ -24,7 +33,12 @@ The following text applies to code linked from these dependencies:
|
|||
[NSPR](https://hg.mozilla.org/projects/nspr),
|
||||
[NSS](https://hg.mozilla.org/projects/nss),
|
||||
[ece](https://github.com/mozilla/rust-ece),
|
||||
[hawk](https://github.com/taskcluster/rust-hawk)
|
||||
[hawk](https://github.com/taskcluster/rust-hawk),
|
||||
[jexl-eval](https://github.com/mozilla/jexl-rs),
|
||||
[jexl-parser](https://github.com/mozilla/jexl-rs),
|
||||
[uniffi](https://github.com/mozilla/uniffi-rs),
|
||||
[uniffi_bindgen](https://github.com/mozilla/uniffi-rs),
|
||||
[uniffi_build](https://github.com/mozilla/uniffi-rs)
|
||||
|
||||
```
|
||||
Mozilla Public License Version 2.0
|
||||
|
@ -408,30 +422,50 @@ Exhibit B - "Incompatible With Secondary Licenses" Notice
|
|||
The following text applies to code linked from these dependencies:
|
||||
[ahash](https://github.com/tkaitchuck/ahash),
|
||||
[anyhow](https://github.com/dtolnay/anyhow),
|
||||
[askama](https://github.com/djc/askama),
|
||||
[askama_derive](https://github.com/djc/askama),
|
||||
[askama_escape](https://github.com/djc/askama),
|
||||
[askama_shared](https://github.com/djc/askama),
|
||||
[autocfg](https://github.com/cuviper/autocfg),
|
||||
[base64](https://github.com/marshallpierce/rust-base64),
|
||||
[bitflags](https://github.com/bitflags/bitflags),
|
||||
[block-buffer](https://github.com/RustCrypto/utils),
|
||||
[cc](https://github.com/alexcrichton/cc-rs),
|
||||
[cfg-if](https://github.com/alexcrichton/cfg-if),
|
||||
[cpuid-bool](https://github.com/RustCrypto/utils),
|
||||
[digest](https://github.com/RustCrypto/traits),
|
||||
[dogear](https://github.com/mozilla/dogear),
|
||||
[either](https://github.com/bluss/either),
|
||||
[failure](https://github.com/rust-lang-nursery/failure),
|
||||
[failure_derive](https://github.com/rust-lang-nursery/failure),
|
||||
[fallible-iterator](https://github.com/sfackler/rust-fallible-iterator),
|
||||
[fallible-streaming-iterator](https://github.com/sfackler/fallible-streaming-iterator),
|
||||
[ffi-support](https://github.com/mozilla/application-services),
|
||||
[getrandom](https://github.com/rust-random/getrandom),
|
||||
[hashbrown](https://github.com/rust-lang/hashbrown),
|
||||
[hashlink](https://github.com/kyren/hashlink),
|
||||
[heck](https://github.com/withoutboats/heck),
|
||||
[hex](https://github.com/KokaKiwi/rust-hex),
|
||||
[id-arena](https://github.com/fitzgen/id-arena),
|
||||
[idna](https://github.com/servo/rust-url/),
|
||||
[itertools](https://github.com/bluss/rust-itertools),
|
||||
[itoa](https://github.com/dtolnay/itoa),
|
||||
[jna](https://github.com/java-native-access/jna),
|
||||
[lalrpop-util](https://github.com/lalrpop/lalrpop),
|
||||
[lazy_static](https://github.com/rust-lang-nursery/lazy-static.rs),
|
||||
[libc](https://github.com/rust-lang/libc),
|
||||
[lmdb-rkv-sys](https://github.com/mozilla/lmdb-rs.git),
|
||||
[lmdb-rkv](https://github.com/mozilla/lmdb-rs.git),
|
||||
[log](https://github.com/rust-lang/log),
|
||||
[num-traits](https://github.com/rust-num/num-traits),
|
||||
[once_cell](https://github.com/matklad/once_cell),
|
||||
[opaque-debug](https://github.com/RustCrypto/utils),
|
||||
[paste-impl](https://github.com/dtolnay/paste),
|
||||
[paste](https://github.com/dtolnay/paste),
|
||||
[percent-encoding](https://github.com/servo/rust-url/),
|
||||
[pkg-config](https://github.com/rust-lang/pkg-config-rs),
|
||||
[ppv-lite86](https://github.com/cryptocorrosion/cryptocorrosion),
|
||||
[proc-macro-hack](https://github.com/dtolnay/proc-macro-hack),
|
||||
[proc-macro2](https://github.com/alexcrichton/proc-macro2),
|
||||
[prost-derive](https://github.com/danburkert/prost),
|
||||
[prost](https://github.com/danburkert/prost),
|
||||
|
@ -441,10 +475,14 @@ The following text applies to code linked from these dependencies:
|
|||
[rand_core](https://github.com/rust-random/rand),
|
||||
[regex-syntax](https://github.com/rust-lang/regex),
|
||||
[regex](https://github.com/rust-lang/regex),
|
||||
[rkv](https://github.com/mozilla/rkv),
|
||||
[ryu](https://github.com/dtolnay/ryu),
|
||||
[semver-parser](https://github.com/steveklabnik/semver-parser),
|
||||
[semver](https://github.com/steveklabnik/semver),
|
||||
[serde](https://github.com/serde-rs/serde),
|
||||
[serde_derive](https://github.com/serde-rs/serde),
|
||||
[serde_json](https://github.com/serde-rs/json),
|
||||
[sha2](https://github.com/RustCrypto/hashes),
|
||||
[smallbitvec](https://github.com/servo/smallbitvec),
|
||||
[smallvec](https://github.com/servo/rust-smallvec),
|
||||
[syn](https://github.com/dtolnay/syn),
|
||||
|
@ -452,10 +490,16 @@ The following text applies to code linked from these dependencies:
|
|||
[thiserror](https://github.com/dtolnay/thiserror),
|
||||
[thread_local](https://github.com/Amanieu/thread_local-rs),
|
||||
[tinyvec](https://github.com/Lokathor/tinyvec),
|
||||
[toml](https://github.com/alexcrichton/toml-rs),
|
||||
[typenum](https://github.com/paholg/typenum),
|
||||
[unicode-bidi](https://github.com/servo/unicode-bidi),
|
||||
[unicode-normalization](https://github.com/unicode-rs/unicode-normalization),
|
||||
[unicode-segmentation](https://github.com/unicode-rs/unicode-segmentation),
|
||||
[unicode-width](https://github.com/unicode-rs/unicode-width),
|
||||
[unicode-xid](https://github.com/unicode-rs/unicode-xid),
|
||||
[url](https://github.com/servo/rust-url)
|
||||
[url](https://github.com/servo/rust-url),
|
||||
[uuid](https://github.com/uuid-rs/uuid),
|
||||
[version_check](https://github.com/SergioBenitez/version_check)
|
||||
|
||||
```
|
||||
Apache License
|
||||
|
@ -756,6 +800,38 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
|
|||
IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
DEALINGS IN THE SOFTWARE.
|
||||
|
||||
```
|
||||
-------------
|
||||
## MIT License: cargo_metadata
|
||||
|
||||
The following text applies to code linked from these dependencies:
|
||||
[cargo_metadata](https://github.com/oli-obk/cargo_metadata)
|
||||
|
||||
```
|
||||
Permission is hereby granted, free of charge, to any
|
||||
person obtaining a copy of this software and associated
|
||||
documentation files (the "Software"), to deal in the
|
||||
Software without restriction, including without
|
||||
limitation the rights to use, copy, modify, merge,
|
||||
publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software
|
||||
is furnished to do so, subject to the following
|
||||
conditions:
|
||||
|
||||
The above copyright notice and this permission notice
|
||||
shall be included in all copies or substantial portions
|
||||
of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
|
||||
ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
|
||||
TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
|
||||
PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
|
||||
SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
|
||||
IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
DEALINGS IN THE SOFTWARE.
|
||||
|
||||
```
|
||||
-------------
|
||||
## MIT License: caseless
|
||||
|
@ -787,6 +863,65 @@ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
```
|
||||
-------------
|
||||
## MIT License: clap
|
||||
|
||||
The following text applies to code linked from these dependencies:
|
||||
[clap](https://github.com/clap-rs/clap)
|
||||
|
||||
```
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2015-2016 Kevin B. Knapp
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
||||
```
|
||||
-------------
|
||||
## MIT License: generic-array
|
||||
|
||||
The following text applies to code linked from these dependencies:
|
||||
[generic-array](https://github.com/fizyk20/generic-array.git)
|
||||
|
||||
```
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2015 Bartłomiej Kamiński
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
```
|
||||
-------------
|
||||
## MIT License: libsqlite3-sys, rusqlite
|
||||
|
@ -850,6 +985,138 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
|
|||
IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
DEALINGS IN THE SOFTWARE.
|
||||
|
||||
```
|
||||
-------------
|
||||
## MIT License: nom
|
||||
|
||||
The following text applies to code linked from these dependencies:
|
||||
[nom](https://github.com/Geal/nom)
|
||||
|
||||
```
|
||||
Copyright (c) 2014-2019 Geoffroy Couprie
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
"Software"), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to
|
||||
the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
```
|
||||
-------------
|
||||
## MIT License: ordered-float
|
||||
|
||||
The following text applies to code linked from these dependencies:
|
||||
[ordered-float](https://github.com/reem/rust-ordered-float)
|
||||
|
||||
```
|
||||
Copyright (c) 2015 Jonathan Reem
|
||||
|
||||
Permission is hereby granted, free of charge, to any
|
||||
person obtaining a copy of this software and associated
|
||||
documentation files (the "Software"), to deal in the
|
||||
Software without restriction, including without
|
||||
limitation the rights to use, copy, modify, merge,
|
||||
publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software
|
||||
is furnished to do so, subject to the following
|
||||
conditions:
|
||||
|
||||
The above copyright notice and this permission notice
|
||||
shall be included in all copies or substantial portions
|
||||
of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
|
||||
ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
|
||||
TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
|
||||
PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
|
||||
SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
|
||||
IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
DEALINGS IN THE SOFTWARE.
|
||||
|
||||
```
|
||||
-------------
|
||||
## MIT License: synstructure
|
||||
|
||||
The following text applies to code linked from these dependencies:
|
||||
[synstructure](https://github.com/mystor/synstructure)
|
||||
|
||||
```
|
||||
Copyright 2016 Nika Layzell
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
```
|
||||
-------------
|
||||
## MIT License: textwrap
|
||||
|
||||
The following text applies to code linked from these dependencies:
|
||||
[textwrap](https://github.com/mgeisler/textwrap)
|
||||
|
||||
```
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2016 Martin Geisler
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
||||
```
|
||||
-------------
|
||||
## MIT License: weedle
|
||||
|
||||
The following text applies to code linked from these dependencies:
|
||||
[weedle](https://github.com/rustwasm/weedle)
|
||||
|
||||
```
|
||||
Copyright 2018-Present Sharad Chand
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
|
||||
documentation files (the "Software"), to deal in the Software without restriction, including without limitation
|
||||
the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
|
||||
and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions
|
||||
of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
|
||||
TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
|
||||
CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
DEALINGS IN THE SOFTWARE.
|
||||
```
|
||||
-------------
|
||||
## CC0-1.0 License: base16
|
||||
|
@ -1003,6 +1270,41 @@ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
|
|||
OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
|
||||
CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
```
|
||||
-------------
|
||||
## BSD-2-Clause License: arrayref
|
||||
|
||||
The following text applies to code linked from these dependencies:
|
||||
[arrayref](https://github.com/droundy/arrayref)
|
||||
|
||||
```
|
||||
Copyright (c) 2015 David Roundy <roundyd@physics.oregonstate.edu>
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the
|
||||
distribution.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
```
|
||||
-------------
|
||||
## BSD-3-Clause License: protobuf
|
||||
|
|
|
@ -20,6 +20,26 @@ the details of which are reproduced below.
|
|||
<name>Mozilla Public License 2.0: hawk</name>
|
||||
<url>https://github.com/taskcluster/rust-hawk/blob/master/LICENSE</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>Mozilla Public License 2.0: jexl-eval</name>
|
||||
<url>https://github.com/mozilla/jexl-rs/blob/main/LICENSE</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>Mozilla Public License 2.0: jexl-parser</name>
|
||||
<url>https://github.com/mozilla/jexl-rs/blob/main/LICENSE</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>Mozilla Public License 2.0: uniffi</name>
|
||||
<url>https://github.com/mozilla/uniffi-rs/blob/main/LICENSE</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>Mozilla Public License 2.0: uniffi_bindgen</name>
|
||||
<url>https://github.com/mozilla/uniffi-rs/blob/main/LICENSE</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>Mozilla Public License 2.0: uniffi_build</name>
|
||||
<url>https://github.com/mozilla/uniffi-rs/blob/main/LICENSE</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>Apache License 2.0: ahash</name>
|
||||
<url>https://github.com/tkaitchuck/ahash/blob/master/LICENSE-APACHE</url>
|
||||
|
@ -28,6 +48,26 @@ the details of which are reproduced below.
|
|||
<name>Apache License 2.0: anyhow</name>
|
||||
<url>https://github.com/dtolnay/anyhow/blob/master/LICENSE-APACHE</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>Apache License 2.0: askama</name>
|
||||
<url>https://github.com/djc/askama/blob/main/LICENSE-APACHE</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>Apache License 2.0: askama_derive</name>
|
||||
<url>https://github.com/djc/askama/blob/main/LICENSE-APACHE</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>Apache License 2.0: askama_escape</name>
|
||||
<url>https://github.com/djc/askama/blob/main/LICENSE-APACHE</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>Apache License 2.0: askama_shared</name>
|
||||
<url>https://github.com/djc/askama/blob/main/LICENSE-APACHE</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>Apache License 2.0: autocfg</name>
|
||||
<url>https://github.com/cuviper/autocfg/blob/master/LICENSE-APACHE</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>Apache License 2.0: base64</name>
|
||||
<url>https://github.com/marshallpierce/rust-base64/blob/master/LICENSE-APACHE</url>
|
||||
|
@ -36,6 +76,10 @@ the details of which are reproduced below.
|
|||
<name>Apache License 2.0: bitflags</name>
|
||||
<url>https://github.com/bitflags/bitflags/blob/master/LICENSE-APACHE</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>Apache License 2.0: block-buffer</name>
|
||||
<url>https://github.com/RustCrypto/utils/blob/master/block-buffer/LICENSE-APACHE</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>Apache License 2.0: cc</name>
|
||||
<url>https://github.com/alexcrichton/cc-rs/blob/master/LICENSE-APACHE</url>
|
||||
|
@ -44,6 +88,18 @@ the details of which are reproduced below.
|
|||
<name>Apache License 2.0: cfg-if</name>
|
||||
<url>https://github.com/alexcrichton/cfg-if/blob/master/LICENSE-APACHE</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>Apache License 2.0: cfg-if</name>
|
||||
<url>https://github.com/alexcrichton/cfg-if/blob/master/LICENSE-APACHE</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>Apache License 2.0: cpuid-bool</name>
|
||||
<url>https://github.com/RustCrypto/utils/blob/master/cpuid-bool/LICENSE-APACHE</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>Apache License 2.0: digest</name>
|
||||
<url>https://github.com/RustCrypto/traits/blob/master/digest/LICENSE-APACHE</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>Apache License 2.0: dogear</name>
|
||||
<url>https://github.com/mozilla/dogear/blob/master/LICENSE</url>
|
||||
|
@ -52,6 +108,14 @@ the details of which are reproduced below.
|
|||
<name>Apache License 2.0: either</name>
|
||||
<url>https://github.com/bluss/either/blob/master/LICENSE-APACHE</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>Apache License 2.0: failure</name>
|
||||
<url>https://github.com/rust-lang-nursery/failure/blob/master/LICENSE-APACHE</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>Apache License 2.0: failure_derive</name>
|
||||
<url>https://github.com/rust-lang-nursery/failure/blob/master/LICENSE-APACHE</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>Apache License 2.0: fallible-iterator</name>
|
||||
<url>https://github.com/sfackler/rust-fallible-iterator/blob/master/LICENSE-APACHE</url>
|
||||
|
@ -76,10 +140,18 @@ the details of which are reproduced below.
|
|||
<name>Apache License 2.0: hashlink</name>
|
||||
<url>https://github.com/kyren/hashlink/blob/master/LICENSE-APACHE</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>Apache License 2.0: heck</name>
|
||||
<url>https://github.com/withoutboats/heck/blob/master/LICENSE-APACHE</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>Apache License 2.0: hex</name>
|
||||
<url>https://github.com/KokaKiwi/rust-hex/blob/master/LICENSE-APACHE</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>Apache License 2.0: id-arena</name>
|
||||
<url>https://github.com/fitzgen/id-arena/blob/master/LICENSE-APACHE</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>Apache License 2.0: idna</name>
|
||||
<url>https://github.com/servo/rust-url/blob//master/LICENSE-APACHE</url>
|
||||
|
@ -96,6 +168,10 @@ the details of which are reproduced below.
|
|||
<name>Apache License 2.0: jna</name>
|
||||
<url>https://github.com/java-native-access/jna/blob/master/AL2.0</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>Apache License 2.0: lalrpop-util</name>
|
||||
<url>https://github.com/lalrpop/lalrpop/blob/master/LICENSE-APACHE</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>Apache License 2.0: lazy_static</name>
|
||||
<url>https://github.com/rust-lang-nursery/lazy-static.rs/blob/master/LICENSE-APACHE</url>
|
||||
|
@ -104,14 +180,42 @@ the details of which are reproduced below.
|
|||
<name>Apache License 2.0: libc</name>
|
||||
<url>https://github.com/rust-lang/libc/blob/master/LICENSE-APACHE</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>Apache License 2.0: lmdb-rkv</name>
|
||||
<url>https://github.com/mozilla/lmdb-rs/blob/master/LICENSE</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>Apache License 2.0: lmdb-rkv-sys</name>
|
||||
<url>https://github.com/mozilla/lmdb-rs/blob/master/LICENSE</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>Apache License 2.0: log</name>
|
||||
<url>https://github.com/rust-lang/log/blob/master/LICENSE-APACHE</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>Apache License 2.0: num-traits</name>
|
||||
<url>https://github.com/rust-num/num-traits/blob/master/LICENSE-APACHE</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>Apache License 2.0: once_cell</name>
|
||||
<url>https://github.com/matklad/once_cell/blob/master/LICENSE-APACHE</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>Apache License 2.0: opaque-debug</name>
|
||||
<url>https://github.com/RustCrypto/utils/blob/master/opaque-debug/LICENSE-APACHE</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>Apache License 2.0: paste</name>
|
||||
<url>https://github.com/dtolnay/paste/blob/master/LICENSE-APACHE</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>Apache License 2.0: paste</name>
|
||||
<url>https://github.com/dtolnay/paste/blob/master/LICENSE-APACHE</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>Apache License 2.0: paste-impl</name>
|
||||
<url>https://github.com/dtolnay/paste/blob/master/LICENSE-APACHE</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>Apache License 2.0: percent-encoding</name>
|
||||
<url>https://github.com/servo/rust-url/blob//master/LICENSE-APACHE</url>
|
||||
|
@ -124,6 +228,10 @@ the details of which are reproduced below.
|
|||
<name>Apache License 2.0: ppv-lite86</name>
|
||||
<url>https://github.com/cryptocorrosion/cryptocorrosion/blob/master/utils-simd/ppv-lite86/LICENSE-APACHE</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>Apache License 2.0: proc-macro-hack</name>
|
||||
<url>https://github.com/dtolnay/proc-macro-hack/blob/master/LICENSE-APACHE</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>Apache License 2.0: proc-macro2</name>
|
||||
<url>https://github.com/alexcrichton/proc-macro2/blob/master/LICENSE-APACHE</url>
|
||||
|
@ -160,10 +268,22 @@ the details of which are reproduced below.
|
|||
<name>Apache License 2.0: regex-syntax</name>
|
||||
<url>https://github.com/rust-lang/regex/blob/master/LICENSE-APACHE</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>Apache License 2.0: rkv</name>
|
||||
<url>https://github.com/mozilla/rkv/blob/master/LICENSE</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>Apache License 2.0: ryu</name>
|
||||
<url>https://github.com/dtolnay/ryu/blob/master/LICENSE-APACHE</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>Apache License 2.0: semver</name>
|
||||
<url>https://github.com/steveklabnik/semver/blob/master/LICENSE-APACHE</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>Apache License 2.0: semver-parser</name>
|
||||
<url>https://github.com/steveklabnik/semver-parser/blob/master/LICENSE-APACHE</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>Apache License 2.0: serde</name>
|
||||
<url>https://github.com/serde-rs/serde/blob/master/LICENSE-APACHE</url>
|
||||
|
@ -176,6 +296,10 @@ the details of which are reproduced below.
|
|||
<name>Apache License 2.0: serde_json</name>
|
||||
<url>https://github.com/serde-rs/json/blob/master/LICENSE-APACHE</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>Apache License 2.0: sha2</name>
|
||||
<url>https://github.com/RustCrypto/hashes/blob/master/sha2/LICENSE-APACHE</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>Apache License 2.0: smallbitvec</name>
|
||||
<url>https://github.com/servo/smallbitvec/blob/master/LICENSE-APACHE</url>
|
||||
|
@ -204,6 +328,14 @@ the details of which are reproduced below.
|
|||
<name>Apache License 2.0: tinyvec</name>
|
||||
<url>https://github.com/Lokathor/tinyvec/blob/main/LICENSE-ZLIB.md</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>Apache License 2.0: toml</name>
|
||||
<url>https://github.com/alexcrichton/toml-rs/blob/master/LICENSE-APACHE</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>Apache License 2.0: typenum</name>
|
||||
<url>https://github.com/paholg/typenum/blob/master/LICENSE</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>Apache License 2.0: unicode-bidi</name>
|
||||
<url>https://github.com/servo/unicode-bidi/blob/master/LICENSE-APACHE</url>
|
||||
|
@ -212,6 +344,14 @@ the details of which are reproduced below.
|
|||
<name>Apache License 2.0: unicode-normalization</name>
|
||||
<url>https://github.com/unicode-rs/unicode-normalization/blob/master/LICENSE-APACHE</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>Apache License 2.0: unicode-segmentation</name>
|
||||
<url>https://github.com/unicode-rs/unicode-segmentation/blob/master/LICENSE-APACHE</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>Apache License 2.0: unicode-width</name>
|
||||
<url>https://github.com/unicode-rs/unicode-width/blob/master/LICENSE-APACHE</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>Apache License 2.0: unicode-xid</name>
|
||||
<url>https://github.com/unicode-rs/unicode-xid/blob/master/LICENSE-APACHE</url>
|
||||
|
@ -220,6 +360,14 @@ the details of which are reproduced below.
|
|||
<name>Apache License 2.0: url</name>
|
||||
<url>https://github.com/servo/rust-url/blob/master/LICENSE-APACHE</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>Apache License 2.0: uuid</name>
|
||||
<url>https://github.com/uuid-rs/uuid/blob/master/LICENSE-APACHE</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>Apache License 2.0: version_check</name>
|
||||
<url>https://github.com/SergioBenitez/version_check/blob/master/LICENSE-APACHE</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>MIT License: aho-corasick</name>
|
||||
<url>https://github.com/BurntSushi/aho-corasick/blob/master/LICENSE-MIT</url>
|
||||
|
@ -240,10 +388,22 @@ the details of which are reproduced below.
|
|||
<name>MIT License: bytes</name>
|
||||
<url>https://github.com/tokio-rs/bytes/blob/master/LICENSE</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>MIT License: cargo_metadata</name>
|
||||
<url>https://github.com/oli-obk/cargo_metadata/blob/main/LICENSE-MIT</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>MIT License: caseless</name>
|
||||
<url>https://github.com/SimonSapin/rust-caseless/blob/master/LICENSE</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>MIT License: clap</name>
|
||||
<url>https://github.com/clap-rs/clap/blob/master/LICENSE-MIT</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>MIT License: generic-array</name>
|
||||
<url>https://github.com/fizyk20/generic-array/blob/master/LICENSE</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>MIT License: libsqlite3-sys</name>
|
||||
<url>https://github.com/rusqlite/rusqlite/blob/master/LICENSE</url>
|
||||
|
@ -256,6 +416,26 @@ the details of which are reproduced below.
|
|||
<name>MIT License: matches</name>
|
||||
<url>https://github.com/SimonSapin/rust-std-candidates/blob/master/LICENSE</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>MIT License: nom</name>
|
||||
<url>https://github.com/Geal/nom/blob/master/LICENSE</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>MIT License: ordered-float</name>
|
||||
<url>https://github.com/reem/rust-ordered-float/blob/master/LICENSE-MIT</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>MIT License: synstructure</name>
|
||||
<url>https://github.com/mystor/synstructure/blob/master/LICENSE</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>MIT License: textwrap</name>
|
||||
<url>https://github.com/mgeisler/textwrap/blob/master/LICENSE</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>MIT License: weedle</name>
|
||||
<url>https://github.com/rustwasm/weedle/blob/master/LICENSE.md</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>CC0-1.0 License: base16</name>
|
||||
<url>https://github.com/thomcc/rust-base16/blob/master/LICENSE-CC0</url>
|
||||
|
@ -264,6 +444,10 @@ the details of which are reproduced below.
|
|||
<name>ISC License: ring</name>
|
||||
<url>https://github.com/briansmith/ring/blob/master/LICENSE</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>BSD-2-Clause License: arrayref</name>
|
||||
<url>https://github.com/droundy/arrayref/blob/master/LICENSE</url>
|
||||
</license>
|
||||
<license>
|
||||
<name>BSD-3-Clause License: protobuf</name>
|
||||
<url>https://github.com/protocolbuffers/protobuf/blob/master/LICENSE</url>
|
||||
|
|
|
@ -10,6 +10,7 @@ use std::os::raw::c_char;
|
|||
|
||||
pub use fxaclient_ffi;
|
||||
pub use logins_ffi;
|
||||
pub use nimbus;
|
||||
pub use places_ffi;
|
||||
pub use push_ffi;
|
||||
pub use rc_log_ffi;
|
||||
|
|
|
@ -41,8 +41,6 @@ The following text applies to code linked from these dependencies:
|
|||
[NSPR](https://hg.mozilla.org/projects/nspr),
|
||||
[NSS](https://hg.mozilla.org/projects/nss),
|
||||
[ece](https://github.com/mozilla/rust-ece),
|
||||
[glean-core](https://github.com/mozilla/glean),
|
||||
[glean-ffi](https://github.com/mozilla/glean),
|
||||
[hawk](https://github.com/taskcluster/rust-hawk)
|
||||
|
||||
```
|
||||
|
@ -466,6 +464,7 @@ The following text applies to code linked from these dependencies:
|
|||
[httpdate](https://github.com/pyfisch/httpdate),
|
||||
[humantime](https://github.com/tailhook/humantime),
|
||||
[hyper-tls](https://github.com/hyperium/hyper-tls),
|
||||
[id-arena](https://github.com/fitzgen/id-arena),
|
||||
[idna](https://github.com/servo/rust-url/),
|
||||
[indexmap](https://github.com/bluss/indexmap),
|
||||
[iovec](https://github.com/carllerche/iovec),
|
||||
|
@ -484,6 +483,8 @@ The following text applies to code linked from these dependencies:
|
|||
[num-traits](https://github.com/rust-num/num-traits),
|
||||
[num_cpus](https://github.com/seanmonstar/num_cpus),
|
||||
[once_cell](https://github.com/matklad/once_cell),
|
||||
[paste-impl](https://github.com/dtolnay/paste),
|
||||
[paste](https://github.com/dtolnay/paste),
|
||||
[percent-encoding](https://github.com/servo/rust-url/),
|
||||
[pin-project-internal](https://github.com/taiki-e/pin-project),
|
||||
[pin-project-lite](https://github.com/taiki-e/pin-project-lite),
|
||||
|
|
|
@ -281,7 +281,7 @@
|
|||
BF1A8787250649EA00FED88E /* Utils */,
|
||||
);
|
||||
name = Glean;
|
||||
path = "../../components/glean/glean-core/ios/Glean";
|
||||
path = "../../components/external/glean/glean-core/ios/Glean";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
BF1A8783250649B600FED88E /* Config */ = {
|
||||
|
@ -370,7 +370,7 @@
|
|||
BF1A87D625064B4C00FED88E /* Metrics.swift */,
|
||||
);
|
||||
name = Generated;
|
||||
path = ../../../../../megazords/ios/MozillaAppServices/Generated;
|
||||
path = ../../../../../../megazords/ios/MozillaAppServices/Generated;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
C852EEB2220A285B00A6E79A /* config */ = {
|
||||
|
@ -702,8 +702,8 @@
|
|||
inputFileListPaths = (
|
||||
);
|
||||
inputPaths = (
|
||||
"$(SRCROOT)/../../components/glean/glean-core/metrics.yaml",
|
||||
"$(SRCROOT)/../../components/glean/glean-core/pings.yaml",
|
||||
"$(SRCROOT)/../../components/external/glean/glean-core/metrics.yaml",
|
||||
"$(SRCROOT)/../../components/external/glean/glean-core/pings.yaml",
|
||||
);
|
||||
name = "Generate Glean metrics";
|
||||
outputFileListPaths = (
|
||||
|
@ -713,7 +713,7 @@
|
|||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "bash $PWD/../../components/glean/glean-core/ios/sdk_generator.sh --allow-reserved\n";
|
||||
shellScript = "bash $PWD/../../components/external/glean/glean-core/ios/sdk_generator.sh --allow-reserved\n";
|
||||
};
|
||||
CEEA12EF20AA1D630018998A /* Build Rust libraries */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
|
|
|
@ -10,29 +10,30 @@ The iOS 'megazord' builds all the components into a single library. This is buil
|
|||
### Glean component
|
||||
|
||||
At the moment the MozillaAppServices iOS framework bundles [Glean].
|
||||
It depends on the releases `glean-ffi` crate from [crates.io] and the corresponding iOS source code.
|
||||
Glean is bundled as a [git submodule] in `components/glean` and the Xcode project references those files.
|
||||
Glean is bundled as a [git submodule] in `components/external/glean` and the Xcode project references those files.
|
||||
|
||||
To update Glean:
|
||||
|
||||
1. Update the version of `glean-ffi` in `megazord/ios/rust/Cargo.toml`
|
||||
2. Ensure `cargo` updates the versions by running `cargo fetch`
|
||||
3. Update the submodule to the same version (replace `$version` below with the correct version, e.g. `32.3.0`):
|
||||
1. Select the release version to which to update, `$version`.
|
||||
2. Update the submodule to that version (replace `$version` below with the correct version, e.g. `32.3.0`):
|
||||
|
||||
```
|
||||
cd components/glean
|
||||
git fetch origin
|
||||
git checkout v$version
|
||||
```
|
||||
```
|
||||
cd components/external/glean
|
||||
git fetch origin
|
||||
git checkout v$version
|
||||
```
|
||||
3. Update `Cargo.lock` to reflect any upstream changes:
|
||||
```
|
||||
cargo update
|
||||
```
|
||||
4. Commit the changes:
|
||||
|
||||
```
|
||||
git add components/glean
|
||||
git add megazord/ios/rust/Cargo.toml
|
||||
git add components/external/glean
|
||||
git add Cargo.lock
|
||||
git commit
|
||||
```
|
||||
5. Run an Xcode build to ensure everything compiles.
|
||||
|
||||
[Glean]: https://github.com/mozilla/glean
|
||||
[crates.io]: https://crates.io/crates/glean-ffi
|
||||
[git submodule]: https://git-scm.com/docs/git-submodule
|
||||
|
|
|
@ -15,4 +15,4 @@ places-ffi = { path = "../../../components/places/ffi" }
|
|||
rc_log_ffi = { path = "../../../components/rc_log" }
|
||||
viaduct = { path = "../../../components/viaduct" }
|
||||
viaduct-reqwest = { path = "../../../components/support/viaduct-reqwest" }
|
||||
glean-ffi = { version = "32.3.0" }
|
||||
glean-ffi = { path = "../../../components/external/glean/glean-core/ffi" }
|
||||
|
|
|
@ -34,3 +34,9 @@ export PATH=$HOME/.cargo/bin:$PATH
|
|||
rustup toolchain install "$RUST_STABLE_VERSION"
|
||||
rustup default "$RUST_STABLE_VERSION"
|
||||
rustup target add x86_64-linux-android i686-linux-android armv7-linux-androideabi aarch64-linux-android
|
||||
|
||||
cargo install --version 0.5.0 uniffi_bindgen
|
||||
|
||||
# This is not the right place for it, but also it's as good a place as any.
|
||||
# Make sure git submodules are initialized.
|
||||
git submodule update --init
|
||||
|
|
|
@ -579,6 +579,82 @@ PACKAGE_METADATA_FIXUPS = {
|
|||
"fixup": "https://raw.githubusercontent.com/mozilla/lmdb-rs/master/LICENSE",
|
||||
}
|
||||
},
|
||||
"uniffi_bindgen": {
|
||||
"license_url": {
|
||||
"check": None,
|
||||
"fixup": "https://github.com/mozilla/uniffi-rs/blob/main/LICENSE",
|
||||
},
|
||||
"license_file": {
|
||||
"check": None,
|
||||
"fixup": "https://raw.githubusercontent.com/mozilla/uniffi-rs/main/LICENSE",
|
||||
}
|
||||
},
|
||||
"uniffi_build": {
|
||||
"license_url": {
|
||||
"check": None,
|
||||
"fixup": "https://github.com/mozilla/uniffi-rs/blob/main/LICENSE",
|
||||
},
|
||||
"license_file": {
|
||||
"check": None,
|
||||
"fixup": "https://raw.githubusercontent.com/mozilla/uniffi-rs/main/LICENSE",
|
||||
}
|
||||
},
|
||||
"uniffi": {
|
||||
"license_url": {
|
||||
"check": None,
|
||||
"fixup": "https://github.com/mozilla/uniffi-rs/blob/main/LICENSE",
|
||||
},
|
||||
"license_file": {
|
||||
"check": None,
|
||||
"fixup": "https://raw.githubusercontent.com/mozilla/uniffi-rs/main/LICENSE",
|
||||
}
|
||||
},
|
||||
"jexl-eval": {
|
||||
"license_url": {
|
||||
"check": None,
|
||||
"fixup": "https://github.com/mozilla/jexl-rs/blob/main/LICENSE",
|
||||
},
|
||||
"license_file": {
|
||||
"check": None,
|
||||
"fixup": "https://raw.githubusercontent.com/mozilla/jexl-rs/main/LICENSE",
|
||||
}
|
||||
},
|
||||
"jexl-parser": {
|
||||
"license_url": {
|
||||
"check": None,
|
||||
"fixup": "https://github.com/mozilla/jexl-rs/blob/main/LICENSE",
|
||||
},
|
||||
"license_file": {
|
||||
"check": None,
|
||||
"fixup": "https://raw.githubusercontent.com/mozilla/jexl-rs/main/LICENSE",
|
||||
}
|
||||
},
|
||||
"lalrpop-util": {
|
||||
"license": {
|
||||
"check": "Apache-2.0/MIT",
|
||||
},
|
||||
"license_url": {
|
||||
"check": None,
|
||||
"fixup": "https://github.com/lalrpop/lalrpop/blob/master/LICENSE-APACHE",
|
||||
},
|
||||
"license_file": {
|
||||
"check": None,
|
||||
"fixup": "https://raw.githubusercontent.com/lalrpop/lalrpop/master/LICENSE-APACHE",
|
||||
}
|
||||
},
|
||||
"humansize": {
|
||||
"license": {
|
||||
"check": "MIT/Apache-2.0",
|
||||
},
|
||||
"license_url": {
|
||||
"check": None,
|
||||
"fixup": "https://github.com/LeopoldArkham/humansize/blob/master/LICENSE-APACHE",
|
||||
},
|
||||
"license_file": {
|
||||
"check": None,
|
||||
"fixup": "https://raw.githubusercontent.com/LeopoldArkham/humansize/master/LICENSE-APACHE",
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
# Sets of common licence file names, by license type.
|
||||
|
|
Загрузка…
Ссылка в новой задаче