- Roll DEPS to pick up newer GYP

- Add script for running dump_syms on release builds if breakpad is enabled.
- Update the info.plist tweaks to add the breakpad keys if needed
- Add a var to check for breakpad support within the chrome.gyp instead of having the knowledge about breakpad being in official builds spread all around.
Review URL: http://codereview.chromium.org/113305

git-svn-id: http://src.chromium.org/svn/trunk/src/build@15948 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This commit is contained in:
thomasvl@chromium.org 2009-05-13 13:11:19 +00:00
Родитель 581fafc24d
Коммит 14bd772bb4
2 изменённых файлов: 91 добавлений и 2 удалений

37
mac/dump_app_syms Executable file
Просмотреть файл

@ -0,0 +1,37 @@
#!/bin/sh
# Copyright (c) 2009 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
# Make sure we got the header to write into passed to us
if [ $# -ne 1 ]; then
echo "error: missing branding as an argument" >&2
exit 1
fi
set -ex
# Skip out if we're aren't in Release mode, no need for dump_syms on debug runs.
if [ "${CONFIGURATION}" != "Release" ] ; then
exit 0
fi
TOP="${SRCROOT}/.."
BUILD_BRANDING=$1
. "${TOP}/chrome/VERSION"
SRC_APP_NAME="${BUILD_BRANDING}"
BREAKPAD_DUMP_SYMS="${BUILT_PRODUCTS_DIR}/dump_syms"
BREAKPAD_PRODUCT_ID="${BUILD_BRANDING}_Mac"
FULL_VERSION="${MAJOR}.${MINOR}.${BUILD}.${PATCH}"
SRC_APP_PATH="${BUILT_PRODUCTS_DIR}/${SRC_APP_NAME}.app"
# Created by the build/mac/strip_from_xcode script.
UNSTRIPPED_APP="${SRC_APP_PATH}.dSYM/Contents/Resources/DWARF/${SRC_APP_NAME}"
SYMBOL_FILE="${BUILT_PRODUCTS_DIR}/${BUILD_BRANDING}-${FULL_VERSION} i386.breakpad"
# Only run dump_syms if the file has changed since we last did a dump.
if [ "${UNSTRIPPED_APP}" -nt "${SYMBOL_FILE}" ] ; then
"${BREAKPAD_DUMP_SYMS}" -a i386 "${UNSTRIPPED_APP}" > "${SYMBOL_FILE}"
fi

Просмотреть файл

@ -4,6 +4,32 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
set -e
# Pull off the optional args
INCLUDE_BREAKPAD=0
OPTERR=0
while getopts ":b:" an_opt ; do
case $an_opt in
b)
INCLUDE_BREAKPAD=$OPTARG
;;
\?)
echo "Unknown option $OPTARG"
exit 1
;;
:)
echo "Option $OPTARG missing it's value"
exit 1
;;
*)
echo "Not recognized argument $an_opt"
exit 1
;;
esac
done
shift $(($OPTIND - 1))
# Make sure we got the header to write into passed to us
if [ $# -ne 1 ]; then
echo "error: missing branding as an argument" >&2
@ -26,12 +52,12 @@ fi
# by the time the app target is done, the info.plist is correct.
#
set -ex
TOP="${SRCROOT}/.."
BUILD_BRANDING=$1
SRC_APP_PATH="${BUILT_PRODUCTS_DIR}/${BUILD_BRANDING}.app"
set -x
# Figure out what version this build corresponds to. Just use the svn revision
# for now. Warning: my svnversion returns 10495:10552M. But that's ok since
# it is just for reference.
@ -89,6 +115,32 @@ defaults write "${TMP_INFO_PLIST_DEFAULTS}" \
defaults write "${TMP_INFO_PLIST_DEFAULTS}" \
NSHumanReadableCopyright -string "${COPYRIGHT_STRING}"
# Add/Remove the breakpad keys
if [ "${INCLUDE_BREAKPAD}" == "1" ] ; then
defaults write "${TMP_INFO_PLIST_DEFAULTS}" \
BreakpadURL "https://clients2.google.com/cr/report"
defaults write "${TMP_INFO_PLIST_DEFAULTS}" BreakpadReportInterval "3600"
defaults write "${TMP_INFO_PLIST_DEFAULTS}" \
BreakpadProduct "${BUILD_BRANDING}_Mac"
defaults write "${TMP_INFO_PLIST_DEFAULTS}" \
BreakpadProductDisplay "${BUILD_BRANDING}"
defaults write "${TMP_INFO_PLIST_DEFAULTS}" \
BreakpadVersion -string "${FULL_VERSION}"
defaults write "${TMP_INFO_PLIST_DEFAULTS}" BreakpadSendAndExit "YES"
# TODO: remove/update this when we have first launch
defaults write "${TMP_INFO_PLIST_DEFAULTS}" BreakpadSkipConfirm "YES"
else
# Make sure the keys aren't there, || true to avoid errors if they aren't.
defaults delete "${TMP_INFO_PLIST_DEFAULTS}" BreakpadURL || true
defaults delete "${TMP_INFO_PLIST_DEFAULTS}" BreakpadReportInterval || true
defaults delete "${TMP_INFO_PLIST_DEFAULTS}" BreakpadProduct || true
defaults delete "${TMP_INFO_PLIST_DEFAULTS}" BreakpadProductDisplay || true
defaults delete "${TMP_INFO_PLIST_DEFAULTS}" BreakpadVersion || true
defaults delete "${TMP_INFO_PLIST_DEFAULTS}" BreakpadSendAndExit || true
# TODO: remove/update this when we have first launch
defaults delete "${TMP_INFO_PLIST_DEFAULTS}" BreakpadSkipConfirm || true
fi
# Info.plist will work perfectly well in any plist format, but traditionally
# applications use xml1 for this, so convert it back after whatever defaults
# might have done.