Also instruct `mach` to use the vendored `glean_parser` instead of the one it
would otherwise pull down from `pip` as part of its `glean_sdk` dep.
This unfortunately ties updates of `mach`'s `glean_sdk` to any updates m-c gets
for its `glean_parser`. It's required to ensure `./mach build` always uses the
vendored `glean_parser` (see bug 1908020).
Differential Revision: https://phabricator.services.mozilla.com/D216717
This is a bit of a hack to make it all work.
On every `submit` of a ping we call into `schedule_pings` to also
schedule ride-along pings.
Preferably we would like to have that in glean-core, but for builtin
pings that won't work because they are not code-generated and thus will
never see their `schedules_pings` array.
So instead we generate a function in m-c that does the mapping and call
that in the ping wrapper used inside m-c.
Another side effect: `testBeforeNextSubmit` callbacks from
JavaScript/C++ will _not_ be called, because they are only on the JS/C++
object and not reachable from the Rust parts where we actually submit the
ride-along pings.
Differential Revision: https://phabricator.services.mozilla.com/D209671
Including glean_parser 6.1.1
Two important things in there:
* glean_parser: [data-review] Include extra keys' names and descriptions in data review template
* Glean: Derive `serde::{Deserialize, Serialize}` on `Lifetime` and `CommonMetricData`
Differential Revision: https://phabricator.services.mozilla.com/D149381
Upgrades to Glean v50.0.1, which comes with a rewritten core and
UniFFI-powered bindings.
Glean has some API changes, so we swap it over to that. Mostly mechanical changes.
Also upgrades to inherent v1.0 in fog.
This matches what Glean uses internally and gets rid of one duplicated crate.
Also upgrades to glean-parser==6.0.1
One crate duplication now (change in `python/mozbuild/mozbuild/vendor/vendor_rust.py` required).
Some new crates now vendored.
These are transitive dependencies of Glean dependencies, all with valid
licenses and already used in other products (mobile).
Differential Revision: https://phabricator.services.mozilla.com/D146062
Also updates the docs on how to update the glean_parser in-tree.
Also adds a `no_lint` exception to test pings to avoid breaking the
build.
Differential Revision: https://phabricator.services.mozilla.com/D133077
Also updates the docs on how to update the glean_parser in-tree.
Also adds a `no_lint` exception to test pings to avoid breaking the
build.
Differential Revision: https://phabricator.services.mozilla.com/D133077
Vendoring wheels has three benefits:
* There's far less files, so Firefox checkouts will be smaller.
* It works around `zipp` not allowing `pip install`
from extracted source `tar.gz` files. Now, we should
be able to use the pip resolver against vendored
packages, which will be needed for future
mach virtualenv work.
* `./mach vendor python` takes far less time to execute.
Since we need the raw Python to be available to add to the `sys.path`,
we extract the wheels before putting them in tree.
Due to the structure of some wheels being less nested
than of a source `tar.gz`, `common_virtualenv_packages`
needed to be adjusted accordingly.
`install_pip_package()` had to be tweaked as well since you can't
`pip install` an extracted wheel. So, we "re-bundle" the wheel
before installing from a vendored package.
Replace python packages with wheels where possible
This contains the vendoring changes caused by the
last patch.
For reviewing, there's a couple things to note:
* A bunch of files are deleted, since there's generally
less files in a wheel than in a source archive.
* There's a new `.dist-info` directory for each
extracted wheel, so expect roughly 5 or
6 new files for each wheel'd package.
* There should be no source code changes other than
moves from package names changing from having
`-` to having `_`.
Differential Revision: https://phabricator.services.mozilla.com/D116512
Also includes an upgrade to glean_parser.
Enables GIFFT as well, mapping between Glean's custom distribution and
Firefox Telemetry's linear or exponential histograms directly.
Differential Revision: https://phabricator.services.mozilla.com/D117420
Also includes an upgrade to glean_parser.
Enables GIFFT as well, mapping between Glean's custom distribution and
Firefox Telemetry's linear or exponential histograms directly.
Differential Revision: https://phabricator.services.mozilla.com/D117420
This also includes an upgrade of glean_parser to v2.5.0
This was done using the following command:
./mach vendor python glean_parser==2.5.0
Differential Revision: https://phabricator.services.mozilla.com/D108448
This also includes an upgrade of glean_parser to v2.5.0
This was done using the following command:
./mach vendor python glean_parser==2.5.0
Differential Revision: https://phabricator.services.mozilla.com/D108448