| Index: dart/tools/build.py
|
| diff --git a/dart/tools/build.py b/dart/tools/build.py
|
| index d36e593d879675420b2ecb99bcfa3b4bc22bdcba..48071bd878a5fa418599fc164467e65ccaec05ce 100755
|
| --- a/dart/tools/build.py
|
| +++ b/dart/tools/build.py
|
| @@ -11,6 +11,7 @@ import re
|
| import shutil
|
| import subprocess
|
| import sys
|
| +import time
|
| import utils
|
|
|
| HOST_OS = utils.GuessOS()
|
| @@ -302,12 +303,18 @@ PhaseScriptExecution "Action \"upload_sdk_py\"" xcodebuild/dart.build/...
|
| print '\n'.join(chunk)
|
|
|
|
|
| -def NotifyBuildDone(build_config, success):
|
| +def NotifyBuildDone(build_config, success, start):
|
| if not success:
|
| print "BUILD FAILED"
|
|
|
| sys.stdout.flush()
|
|
|
| + # Display a notification if build time exceeded DART_BUILD_NOTIFICATION_DELAY.
|
| + notification_delay = float(
|
| + os.getenv('DART_BUILD_NOTIFICATION_DELAY', default=sys.float_info.max))
|
| + if (time.time() - start) < notification_delay:
|
| + return
|
| +
|
| if success:
|
| message = 'Build succeeded.'
|
| else:
|
| @@ -355,6 +362,7 @@ def Main():
|
| for target_os in options.os:
|
| for mode in options.mode:
|
| for arch in options.arch:
|
| + start_time = time.time()
|
| os.environ['DART_BUILD_MODE'] = mode
|
| build_config = utils.GetBuildConf(mode, arch, target_os)
|
| if HOST_OS == 'macos':
|
| @@ -435,10 +443,10 @@ def Main():
|
| process = subprocess.Popen(args, stdin=None)
|
| process.wait()
|
| if process.returncode != 0:
|
| - NotifyBuildDone(build_config, success=False)
|
| + NotifyBuildDone(build_config, success=False, start=start_time)
|
| return 1
|
| else:
|
| - NotifyBuildDone(build_config, success=True)
|
| + NotifyBuildDone(build_config, success=True, start=start_time)
|
|
|
| return 0
|
|
|
|
|