author Ted Mielczarek <>
Wed, 31 Oct 2018 20:03:53 +0000
changeset 443855 dc7924e3ea6b0d953be2b0f953e7281044b52ab7
parent 423172 f9c7b74f40f23d53579508dc45a10585f5514de2
child 444329 50bad93c5bdf9b1e8bae884b895f6b9da9a21a48
permissions -rw-r--r--
bug 1483941 - prompt to enable build system telemetry in bootstrap. r=nalexander This change adds a prompt to enable build system telemetry as part of bootstrap. The prompt will only be shown if the build.telemetry config value is not present, so users will not be prompted again if they have already opted-in. However, if a user answers 'no' we don't save that value to the config file because the default is to not send telemetry, so unless they manually add `telemetry = false` to their config file they will be prompted again the next time they run bootstrap. The config value is always written to `~/.mozbuild/machrc` where we store other Firefox build-related state. A standalone function is used to write the config file so that we can do so even when running from outside of the context of a mach command. As part of this change a `prompt_yesno` method is added to `BaseBootstrapper`. Differential Revision:

# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at

# Default extra components to build config
with Files('**'):
    BUG_COMPONENT = ('Firefox Build System', 'General')

with Files('devtools/**'):
    BUG_COMPONENT = ('DevTools', 'General')

with Files('mach/**'):
    BUG_COMPONENT = ('Core', 'mach')

with Files('mozboot/**'):
    BUG_COMPONENT = ('Firefox Build System', 'Bootstrap Configuration')

with Files('mozbuild/**'):
    BUG_COMPONENT = ('Firefox Build System', 'General')

with Files('mozlint/**'):
    BUG_COMPONENT = ('Testing', 'Lint')

with Files('mozversioncontrol/**'):
    BUG_COMPONENT = ('Firefox Build System', 'General')

with Files('l10n/**'):
    BUG_COMPONENT = ('Firefox Build System', 'General')

with Files('mozrelease/**'):
    BUG_COMPONENT = ('Release Engineering', 'Release Automation')

with Files(''):
    BUG_COMPONENT = ('Testing', 'Python Test')


with Files('**.py'):
    SCHEDULES.inclusive += ['docs']

SPHINX_TREES['mach'] = 'mach/docs'

SPHINX_TREES['python'] = 'docs'

with Files('mach/docs/**'):
    SCHEDULES.exclusive = ['docs']