gecko-dev/python/moz.build
Ted Mielczarek 8a92d6f72c 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 bootstrap.py
outside of the context of a mach command.

As part of this change a `prompt_yesno` method is added to `BaseBootstrapper`.

Differential Revision: https://phabricator.services.mozilla.com/D9781

--HG--
extra : moz-landing-system : lando
2018-11-06 14:19:24 +00:00

71 lines
1.9 KiB
Python

# -*- 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 http://mozilla.org/MPL/2.0/.
# 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('mach_commands.py'):
BUG_COMPONENT = ('Testing', 'Python Test')
SPHINX_PYTHON_PACKAGE_DIRS += [
'mach',
'mozbuild/mozbuild',
'mozbuild/mozpack',
'mozlint/mozlint',
'mozversioncontrol/mozversioncontrol',
]
with Files('**.py'):
SCHEDULES.inclusive += ['docs']
SPHINX_TREES['mach'] = 'mach/docs'
SPHINX_TREES['python'] = 'docs'
with Files('mach/docs/**'):
SCHEDULES.exclusive = ['docs']
PYTHON_UNITTEST_MANIFESTS += [
'mach/mach/test/python.ini',
'mozboot/mozboot/test/python.ini',
'mozbuild/dumbmake/test/python.ini',
'mozlint/test/python.ini',
'mozrelease/test/python.ini',
'mozterm/test/python.ini',
'mozversioncontrol/test/python.ini',
]
if CONFIG['MOZ_BUILD_APP']:
PYTHON_UNITTEST_MANIFESTS += [
'mozbuild/mozbuild/test/python.ini',
'mozbuild/mozpack/test/python.ini',
]