Most importantly, this picks up "object" and "goblin" for ELF binary parsing.
We only use the ELF code from goblin, so the mach-O parsing code gets
eliminated by the linker. Overall, this increases the Android installer size
by 20KB.
Try pushes for reference:
before: https://treeherder.mozilla.org/#/jobs?repo=try&revision=834b56dc5ab3d63a43a32f740ee8212296ac726d&selectedJob=201600899
after: https://treeherder.mozilla.org/#/jobs?repo=try&revision=6983b27e8d3cb715d3b7e6cbd276683f6466e3cc&selectedJob=201600475
installer size: 34524820 -> 34542861 (34.52MB -> 34.54MB)
$ mach vendor rust
Updating registry `https://github.com/rust-lang/crates.io-index`
Adding goblin v0.0.17
Adding memmap v0.6.2
Adding miniz-sys v0.1.10
Adding object v0.10.0
Adding parity-wasm v0.31.3
Adding plain v0.2.3
Adding profiler_helper v0.1.0 (file:///Users/mstange/code/mozilla/tools/profiler/rust-helper)
Adding scroll v0.9.1
Adding scroll_derive v0.9.5
Adding syn v0.15.5
Adding thin-vec v0.1.0
Adding uuid v0.6.5
0:30.11 The following files exceed the filesize limit of 102400:
third_party/rust/miniz-sys/miniz.c
third_party/rust/syn-0.14.6/src/expr.rs
third_party/rust/syn-0.14.6/src/gen/fold.rs
third_party/rust/syn-0.14.6/src/gen/visit.rs
third_party/rust/syn-0.14.6/src/gen/visit_mut.rs
The syn dependency is not compiled for goblin, as far as I can tell - it's only
needed for the 'syn' feature of scroll_derive, and scroll does not ask for
scroll_derive/syn.
object -> goblin -> scroll -> scroll_derive -/-> syn
But it looks like other versions of syn were already in the tree.
Depends on D7021
Differential Revision: https://phabricator.services.mozilla.com/D7023
--HG--
rename : third_party/rust/syn/src/parsers.rs => third_party/rust/syn-0.14.6/src/parsers.rs
rename : third_party/rust/syn/src/verbatim.rs => third_party/rust/syn-0.14.6/src/verbatim.rs
rename : third_party/rust/uuid/.travis.yml => third_party/rust/uuid-0.5.1/.travis.yml
rename : third_party/rust/uuid/src/rustc_serialize.rs => third_party/rust/uuid-0.5.1/src/rustc_serialize.rs
rename : third_party/rust/uuid/src/serde.rs => third_party/rust/uuid-0.5.1/src/serde.rs
extra : moz-landing-system : lando
Most importantly, this picks up "object" and "goblin" for ELF binary parsing.
We only use the ELF code from goblin, so the mach-O parsing code gets
eliminated by the linker. Overall, this increases the Android installer size
by 20KB.
Try pushes for reference:
before: https://treeherder.mozilla.org/#/jobs?repo=try&revision=834b56dc5ab3d63a43a32f740ee8212296ac726d&selectedJob=201600899
after: https://treeherder.mozilla.org/#/jobs?repo=try&revision=6983b27e8d3cb715d3b7e6cbd276683f6466e3cc&selectedJob=201600475
installer size: 34524820 -> 34542861 (34.52MB -> 34.54MB)
$ mach vendor rust
Updating registry `https://github.com/rust-lang/crates.io-index`
Adding goblin v0.0.17
Adding memmap v0.6.2
Adding miniz-sys v0.1.10
Adding object v0.10.0
Adding parity-wasm v0.31.3
Adding plain v0.2.3
Adding profiler_helper v0.1.0 (file:///Users/mstange/code/mozilla/tools/profiler/rust-helper)
Adding scroll v0.9.1
Adding scroll_derive v0.9.5
Adding syn v0.15.5
Adding thin-vec v0.1.0
Adding uuid v0.6.5
0:30.11 The following files exceed the filesize limit of 102400:
third_party/rust/miniz-sys/miniz.c
third_party/rust/syn-0.14.6/src/expr.rs
third_party/rust/syn-0.14.6/src/gen/fold.rs
third_party/rust/syn-0.14.6/src/gen/visit.rs
third_party/rust/syn-0.14.6/src/gen/visit_mut.rs
The syn dependency is not compiled for goblin, as far as I can tell - it's only
needed for the 'syn' feature of scroll_derive, and scroll does not ask for
scroll_derive/syn.
object -> goblin -> scroll -> scroll_derive -/-> syn
But it looks like other versions of syn were already in the tree.
Depends on D7021
Differential Revision: https://phabricator.services.mozilla.com/D7023
--HG--
rename : third_party/rust/syn/src/parsers.rs => third_party/rust/syn-0.14.6/src/parsers.rs
rename : third_party/rust/syn/src/verbatim.rs => third_party/rust/syn-0.14.6/src/verbatim.rs
rename : third_party/rust/uuid/.travis.yml => third_party/rust/uuid-0.5.1/.travis.yml
rename : third_party/rust/uuid/src/rustc_serialize.rs => third_party/rust/uuid-0.5.1/src/rustc_serialize.rs
rename : third_party/rust/uuid/src/serde.rs => third_party/rust/uuid-0.5.1/src/serde.rs
extra : moz-landing-system : lando