author Ted Mielczarek <>
Tue, 06 Nov 2018 14:19:24 +0000
changeset 501106 c10f11cc335c57c5968ca4df4dbdc24b8955a7c8
parent 500748 50bad93c5bdf9b1e8bae884b895f6b9da9a21a48
child 503430 6904ca9f5d8f4623ab85deb8747337de01b2ddb3
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']