зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1324998 - Error out when a in-tree mozconfig is included. r=gps
Many people have been shooting themselves in the foot for too long by including in-tree mozconfigs. This change adds a guard that makes it an error when this happens on builds not running on automation. Analysis of the in-tree mozconfigs indicate that build/mozconfig.automation is properly included by the in-tree mozconfig that matter, directly or indirectly. The only ones that don't include it are: b2g/config/mozconfigs/common.override b2g/graphene/config/mozconfigs/common.override browser/config/mozconfigs/linux64/source browser/config/mozconfigs/win64/common-win64 build/mozconfig.cache build/mozconfig.clang-cl build/mozconfig.common.override build/mozconfig.rust build/mozconfig.vs-common build/mozconfig.win-common build/unix/mozconfig.gtk build/unix/mozconfig.stdcxx build/win32/mozconfig.vs-latest build/win32/mozconfig.vs2015-win64 build/win64/mozconfig.vs-latest build/win64/mozconfig.vs2015 mobile/android/config/mozconfigs/common.override which are either empty for use in try builds (override files), or would already cause great pain if they were directly included, so there's little chance they would be. --HG-- extra : rebase_source : 0e6accf241759f8d44868f253874f6546dbadb52
This commit is contained in:
Родитель
1ede24adb4
Коммит
6b392d8d0c
|
@ -228,12 +228,20 @@ def early_options():
|
|||
|
||||
early_options = early_options()
|
||||
|
||||
@depends(mozconfig, '--help')
|
||||
@depends(mozconfig, 'MOZ_AUTOMATION', '--help')
|
||||
# This gives access to the sandbox. Don't copy this blindly.
|
||||
@imports('__sandbox__')
|
||||
@imports('os')
|
||||
def mozconfig_options(mozconfig, help):
|
||||
def mozconfig_options(mozconfig, automation, help):
|
||||
if mozconfig['path']:
|
||||
if 'MOZ_AUTOMATION_MOZCONFIG' in mozconfig['env']['added']:
|
||||
if not automation:
|
||||
log.error('%s directly or indirectly includes an in-tree '
|
||||
'mozconfig.', mozconfig['path'])
|
||||
log.error('In-tree mozconfigs make strong assumptions about '
|
||||
'and are only meant to be used by Mozilla'
|
||||
'automation.')
|
||||
die("Please don't use them.")
|
||||
helper = __sandbox__._helper
|
||||
log.info('Adding configure options from %s' % mozconfig['path'])
|
||||
for arg in mozconfig['configure_args']:
|
||||
|
|
|
@ -31,3 +31,5 @@ if test "$MOZ_AUTOMATION_PRETTY" = "1"; then
|
|||
# we don't build it without, so this is set to 1.
|
||||
mk_add_options "export MOZ_AUTOMATION_PRETTY_UPDATE_PACKAGING=1"
|
||||
fi
|
||||
|
||||
export MOZ_AUTOMATION_MOZCONFIG=1
|
||||
|
|
Загрузка…
Ссылка в новой задаче