Project FOG uses the
glean_parser to generate code from metric definitions.
It depends on glean-parser from pypi.org
To update the in-tree glean-parser change the version in
./mach vendor python
Important: the glean_parser and all of its dependencies must support Python 3.5, as discussed here. This is the minimum version supported by mach and installed on the CI images for running tests. This is enforced by the version ranges declared in the Python installation manifest.
Version mismatch of the Python dependencies¶
The logic for handling version mismatches is very similar to the one for the Rust crates. See Updating the Glean SDK for details. However, updating Python packages also requires to think about Python 3.5 (and Python 2, still) compatibility.
Keeping versions in sync¶
The Glean SDK and
glean_parser are currently released as separate projects.
However each Glean SDK release requires a specific
When updating one or the other ensure versions stay compatible.
You can find the currently used
glean_parser version in the Glean SDK source tree, e.g. in sdk_generator.sh.
Using a local
glean_parser development version¶
To test out a new
glean_parser in mozilla-central follow these steps:
glean_parserfrom the user-wide virtual environment. This can be found in a path like
~/.mozbuild/srcdirs/gecko-f5e3b9c6ded5/_virtualenvs/mach/lib/python3.10/site-packages/glean_parserNote that the
gecko-f5e3b9c6ded5part will be different depending on your local checkout. Remove all directories and files mentioning
glean_parserfrom the build virtual enviromment. This can be found in
$MOZ_OBJDIR/_virtualenvs/common/lib/python3.6/site-packages/glean_parser. Note that
$MOZ_OBJDIRdepends on your local mozconfig configuration. Remove all directories and files mentioning
Copy the local
cp ~/code/glean_parser $GECKO/third_party/python/glean_parser.
You should now be able to build
mozilla-central and it will use the modified
You can make further edits in