build/mozconfig.automation
author Mike Hommey <mh+mozilla@glandium.org>
Wed, 21 Dec 2016 16:58:38 +0900
changeset 372465 aa940ccb1d9f19bcbc8eed23b185a35fe5bb2c4e
parent 259672 dd6aba52db7039fd0482c26e6f8fe9963249fc30
child 375843 4c673647a13233d3b5e4c8fdb464b136907be2a9
permissions -rw-r--r--
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.

# 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/.

# Common mozconfig for automation builds.
#
# We export MOZ_AUTOMATION_* variables here to trigger various steps in
# automation builds.  For example, if MOZ_AUTOMATION_PACKAGE is set, then the
# package step will run.  This file contains the default settings, which can be
# overridden by setting them earlier in the appropriate mozconfig.

mk_add_options "export MOZ_AUTOMATION_BUILD_SYMBOLS=${MOZ_AUTOMATION_BUILD_SYMBOLS-1}"
mk_add_options "export MOZ_AUTOMATION_L10N_CHECK=${MOZ_AUTOMATION_L10N_CHECK-1}"
mk_add_options "export MOZ_AUTOMATION_PACKAGE=${MOZ_AUTOMATION_PACKAGE-1}"
mk_add_options "export MOZ_AUTOMATION_PACKAGE_TESTS=${MOZ_AUTOMATION_PACKAGE_TESTS-1}"
mk_add_options "export MOZ_AUTOMATION_INSTALLER=${MOZ_AUTOMATION_INSTALLER-0}"
mk_add_options "export MOZ_AUTOMATION_UPDATE_PACKAGING=${MOZ_AUTOMATION_UPDATE_PACKAGING-0}"
mk_add_options "export MOZ_AUTOMATION_UPLOAD=${MOZ_AUTOMATION_UPLOAD-1}"
mk_add_options "export MOZ_AUTOMATION_UPLOAD_SYMBOLS=${MOZ_AUTOMATION_UPLOAD_SYMBOLS-0}"
mk_add_options "export MOZ_AUTOMATION_SDK=${MOZ_AUTOMATION_SDK-0}"

# If we are also building with MOZ_PKG_PRETTYNAMES, set the corresponding
# stages.
if test "$MOZ_AUTOMATION_PRETTY" = "1"; then
    mk_add_options "export MOZ_AUTOMATION_PRETTY_PACKAGE=${MOZ_AUTOMATION_PACKAGE-1}"
    mk_add_options "export MOZ_AUTOMATION_PRETTY_PACKAGE_TESTS=${MOZ_AUTOMATION_PACKAGE_TESTS-1}"
    mk_add_options "export MOZ_AUTOMATION_PRETTY_L10N_CHECK=${MOZ_AUTOMATION_L10N_CHECK-1}"
    mk_add_options "export MOZ_AUTOMATION_PRETTY_INSTALLER=${MOZ_AUTOMATION_INSTALLER-0}"

    # Note that we always build the update packaging with pretty names even if
    # 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