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

Side by Side Diff: BUILD.gn

Issue 1104213005: Rework definitions of 'gn_all' and related targets. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@mandoline_fix
Patch Set: remove gn_groups, gyp_groups Created 5 years, 7 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 | « no previous file | build/gn_migration.gypi » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 # This is the root build file for GN. GN will start processing by loading this 5 # This is the root build file for GN. GN will start processing by loading this
6 # file, and recursively load all dependencies until all dependencies are either 6 # file, and recursively load all dependencies until all dependencies are either
7 # resolved or known not to exist (which will cause the build to fail). So if 7 # resolved or known not to exist (which will cause the build to fail). So if
8 # you add a new build file, there must be some path of dependencies from this 8 # you add a new build file, there must be some path of dependencies from this
9 # file to your new one or GN won't know about it. 9 # file to your new one or GN won't know about it.
10 10
11 import("//build/config/crypto.gni") 11 import("//build/config/crypto.gni")
12 import("//build/config/features.gni") 12 import("//build/config/features.gni")
13 import("//build/config/ui.gni") 13 import("//build/config/ui.gni")
14 import("//build/module_args/v8.gni") 14 import("//build/module_args/v8.gni")
15 15
16 if (is_android) { 16 if (is_android) {
17 import("//build/config/android/config.gni") 17 import("//build/config/android/config.gni")
18 } 18 }
19 19
20 declare_args() { 20 declare_args() {
21 # A list of extra dependencies to add to the root target. This allows a 21 # A list of extra dependencies to add to the root target. This allows a
22 # checkout to add additional targets without explicitly changing any checked- 22 # checkout to add additional targets without explicitly changing any checked-
23 # in files. 23 # in files.
24 root_extra_deps = [] 24 root_extra_deps = []
25 } 25 }
26 26
27 # The "gn_all" target should list every root target (target that 27 # This file defines the following three main targets:
28 # nothing else depends on) built by both GN and GYP. One should
29 # be able to run 'ninja gn_all gn_only gn_groups' and then run
30 # 'ninja' a second time and have the second ninja invocation do nothing.
31 # 28 #
32 # In addition, the "gn_all" target serves to pull in all of the other 29 # "both_gn_and_gyp" should list every root target (target that nothing else
33 # build files needed for the build. 30 # depends on) built by GN that is also built in the GYP build.
34 # 31 #
35 # TODO(GYP): make sure that the above is true and there are scripts run 32 # "gn_all" should (transitively) cause everything to be built; if you run
36 # on the bots that enforce this. 33 # 'ninja gn_all' and then 'ninja all', the second build should do no work.
34 #
35 # "gn_only" should list every root target that is *not* intended to be built
36 # in a GYP build. Because GN has different rules for deciding what an 'all'
37 # build is, this may end up including targets that are actually defined in a
38 # GYP build but not dependencies of GYP's "all" (and so not actually built).
39 #
40 # TODO(GYP): crbug.com/481694. Make sure that the above is true and there are
41 # scripts run on the bots that enforce this. Once the GYP migration is over,
42 # we can collapse all of these targets as desired.
37 43
38 group("gn_all") { 44 group("gn_all") {
39 testonly = true 45 testonly = true
40 46
41 deps = [ 47 deps = [
48 ":both_gn_and_gyp",
49 ":gn_only",
50 ]
51 }
52
53 # The "both_gn_and_gyp" target should reflect every target that is built
54 # in both the GN and GYP builds, and ideally it should match the
55 # "both_gn_and_gyp" target in build/gn_migration.gypi line-for-line.
56 #
57 # TODO(GYP): Add build steps that check and enforce this on the bots.
58 group("both_gn_and_gyp") {
59 testonly = true
60
61 deps = [
42 "//base:base_unittests", 62 "//base:base_unittests",
43 "//cc:cc_unittests", 63 "//cc:cc_unittests",
44 "//chrome", 64 "//chrome",
45 "//chrome/test:browser_tests", 65 "//chrome/test:browser_tests",
46 "//chrome/test:interactive_ui_tests", 66 "//chrome/test:interactive_ui_tests",
47 "//chrome/test:sync_integration_tests", 67 "//chrome/test:sync_integration_tests",
48 "//chrome/test:unit_tests", 68 "//chrome/test:unit_tests",
49 "//chrome/test/chromedriver:chromedriver_unittests", 69 "//chrome/test/chromedriver:chromedriver_unittests",
50 "//components:components_browsertests", 70 "//components:components_browsertests",
51 "//components:components_unittests", 71 "//components:components_unittests",
52 "//content/shell:content_shell", 72 "//content/shell:content_shell",
53 "//content/test:content_browsertests", 73 "//content/test:content_browsertests",
54 "//content/test:content_perftests", 74 "//content/test:content_perftests",
55 "//content/test:content_unittests", 75 "//content/test:content_unittests",
56 "//crypto:crypto_unittests", 76 "//crypto:crypto_unittests",
57 "//device:device_unittests", 77 "//device:device_unittests",
58 "//extensions:extensions_browsertests", 78 "//extensions:extensions_browsertests",
59 "//extensions:extensions_unittests", 79 "//extensions:extensions_unittests",
60 "//google_apis/gcm:gcm_unit_tests", 80 "//google_apis/gcm:gcm_unit_tests",
61 "//gpu:gpu_unittests", 81 "//gpu:gpu_unittests",
62 "//ipc:ipc_tests", 82 "//ipc:ipc_tests",
63 "//ipc/mojo:ipc_mojo_unittests", 83 "//ipc/mojo:ipc_mojo_unittests",
64 "//jingle:jingle_unittests", 84 "//jingle:jingle_unittests",
65 "//mandoline:mandoline_all",
66 "//media:media_unittests", 85 "//media:media_unittests",
67 "//media/cast:cast_unittests", 86 "//media/cast:cast_unittests",
68 "//mojo", 87 "//mojo",
69 "//mojo/application", 88 "//mojo/application",
70 "//mojo/common:mojo_common_unittests", 89 "//mojo/common:mojo_common_unittests",
71 "//net:hpack_example_generator", 90 "//net:hpack_example_generator",
72 "//net:hpack_fuzz_mutator", 91 "//net:hpack_fuzz_mutator",
73 "//net:hpack_fuzz_wrapper", 92 "//net:hpack_fuzz_wrapper",
74 "//net:net_perftests", 93 "//net:net_perftests",
75 "//net:net_unittests", 94 "//net:net_unittests",
(...skipping 470 matching lines...) Expand 10 before | Expand all | Expand 10 after
546 "//net:net_unittests", # TODO(GYP) 565 "//net:net_unittests", # TODO(GYP)
547 ] 566 ]
548 } else if (!is_android) { 567 } else if (!is_android) {
549 deps += [ "//breakpad:symupload" ] 568 deps += [ "//breakpad:symupload" ]
550 } 569 }
551 } 570 }
552 571
553 group("gn_only") { 572 group("gn_only") {
554 testonly = true 573 testonly = true
555 574
556 deps = [] 575 deps = [
576 "//mandoline:mandoline_all",
577 ]
557 578
558 if (!is_android && !is_ios) { 579 if (!is_android && !is_ios) {
559 deps += [ "//components/proximity_auth:proximity_auth_unittests" ] 580 deps += [ "//components/proximity_auth:proximity_auth_unittests" ]
560 } 581 }
561 582
562 if (is_linux && !is_chromeos) { 583 if (is_linux && !is_chromeos) {
563 # TODO(GYP): Figure out if any of these should be in gn_all 584 # TODO(GYP): Figure out if any of these should be in gn_all
564 # and figure out how cross-platform they are 585 # and figure out how cross-platform they are
565 deps += [ 586 deps += [
566 ":gn_mojo_targets", 587 ":gn_mojo_targets",
(...skipping 253 matching lines...) Expand 10 before | Expand all | Expand 10 after
820 "//url:url_unittests", # PASSES 4/17/2015 841 "//url:url_unittests", # PASSES 4/17/2015
821 842
822 # TODO(GYP) installer_util_unittests 843 # TODO(GYP) installer_util_unittests
823 # TODO(GYP) app_installer_unittests 844 # TODO(GYP) app_installer_unittests
824 # TODO(GYP) nacl_integration 845 # TODO(GYP) nacl_integration
825 # TODO(GYP) telemetry_perf_unittests 846 # TODO(GYP) telemetry_perf_unittests
826 # TODO(GYP) telemetry_unittests 847 # TODO(GYP) telemetry_unittests
827 ] 848 ]
828 } 849 }
829 } 850 }
OLDNEW
« no previous file with comments | « no previous file | build/gn_migration.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698