Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(254)

Side by Side Diff: build/android/gyp/ant.py

Issue 383613002: Make android_apk template actually create an apk (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@gn-apk-dex
Patch Set: Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « build/android/ant/apk-package.xml ('k') | build/android/gyp/finalize_apk.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # 2 #
3 # Copyright 2013 The Chromium Authors. All rights reserved. 3 # Copyright 2013 The Chromium Authors. All rights reserved.
4 # Use of this source code is governed by a BSD-style license that can be 4 # Use of this source code is governed by a BSD-style license that can be
5 # found in the LICENSE file. 5 # found in the LICENSE file.
6 6
7 """An Ant wrapper that suppresses useless Ant output. 7 """An Ant wrapper that suppresses useless Ant output.
8 8
9 Ant build scripts output "BUILD SUCCESSFUL" and build timing at the end of 9 Ant build scripts output "BUILD SUCCESSFUL" and build timing at the end of
10 every build. In the Android build, this just adds a lot of useless noise to the 10 every build. In the Android build, this just adds a lot of useless noise to the
11 build output. This script forwards its arguments to ant, and prints Ant's 11 build output. This script forwards its arguments to ant, and prints Ant's
12 output up until the BUILD SUCCESSFUL line. 12 output up until the BUILD SUCCESSFUL line.
13 13
14 Also, when a command fails, this script will re-run that ant command with the 14 Also, when a command fails, this script will re-run that ant command with the
15 '-verbose' argument so that the failure is easier to debug. 15 '-verbose' argument so that the failure is easier to debug.
16 """ 16 """
17 17
18 import optparse
18 import sys 19 import sys
19 import traceback 20 import traceback
20 21
21 from util import build_utils 22 from util import build_utils
22 23
23 24
24 def main(argv): 25 def main(argv):
26 option_parser = optparse.OptionParser()
27 build_utils.AddDepfileOption(option_parser)
28 options, args = option_parser.parse_args(argv[1:])
29
25 try: 30 try:
26 args = argv[1:]
27 stdout = build_utils.CheckOutput(['ant'] + args) 31 stdout = build_utils.CheckOutput(['ant'] + args)
28 except build_utils.CalledProcessError: 32 except build_utils.CalledProcessError:
29 # It is very difficult to diagnose ant failures without the '-verbose' 33 # It is very difficult to diagnose ant failures without the '-verbose'
30 # argument. So, when an ant command fails, re-run it with '-verbose' so that 34 # argument. So, when an ant command fails, re-run it with '-verbose' so that
31 # the cause of the failure is easier to identify. 35 # the cause of the failure is easier to identify.
32 verbose_args = ['-verbose'] + [a for a in argv[1:] if a != '-quiet'] 36 verbose_args = ['-verbose'] + [a for a in args if a != '-quiet']
33 try: 37 try:
34 stdout = build_utils.CheckOutput(['ant'] + verbose_args) 38 stdout = build_utils.CheckOutput(['ant'] + verbose_args)
35 except build_utils.CalledProcessError: 39 except build_utils.CalledProcessError:
36 traceback.print_exc() 40 traceback.print_exc()
37 sys.exit(1) 41 sys.exit(1)
38 42
39 # If this did sys.exit(1), building again would succeed (which would be 43 # If this did sys.exit(1), building again would succeed (which would be
40 # awkward). Instead, just print a big warning. 44 # awkward). Instead, just print a big warning.
41 build_utils.PrintBigWarning( 45 build_utils.PrintBigWarning(
42 'This is unexpected. `ant ' + ' '.join(args) + '` failed.' + 46 'This is unexpected. `ant ' + ' '.join(args) + '` failed.' +
43 'But, running `ant ' + ' '.join(verbose_args) + '` passed.') 47 'But, running `ant ' + ' '.join(verbose_args) + '` passed.')
44 48
45 stdout = stdout.strip().split('\n') 49 stdout = stdout.strip().split('\n')
46 for line in stdout: 50 for line in stdout:
47 if line.strip() == 'BUILD SUCCESSFUL': 51 if line.strip() == 'BUILD SUCCESSFUL':
48 break 52 break
49 print line 53 print line
50 54
55 if options.depfile:
56 assert '-buildfile' in args
57 ant_buildfile = args[args.index('-buildfile') + 1]
58
59 build_utils.WriteDepfile(
60 options.depfile,
61 [ant_buildfile] + build_utils.GetPythonDependencies())
62
51 63
52 if __name__ == '__main__': 64 if __name__ == '__main__':
53 sys.exit(main(sys.argv)) 65 sys.exit(main(sys.argv))
OLDNEW
« no previous file with comments | « build/android/ant/apk-package.xml ('k') | build/android/gyp/finalize_apk.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698