Index: chrome/common/extensions/api/BUILD.gn |
diff --git a/chrome/common/extensions/api/BUILD.gn b/chrome/common/extensions/api/BUILD.gn |
new file mode 100644 |
index 0000000000000000000000000000000000000000..8c023f430e369aa3b8da7b2a3889995e7861b38d |
--- /dev/null |
+++ b/chrome/common/extensions/api/BUILD.gn |
@@ -0,0 +1,73 @@ |
+# Copyright 2014 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. |
+ |
+import("//build/config/features.gni") |
+import("//build/json_schema.gni") |
+ |
+gypi_values = exec_script( |
+ "//build/gypi_to_gn.py", |
+ [ rebase_path("api.gyp") ], |
+ "scope", |
+ [ "api.gyp" ]) |
+ |
+# GYP version: chrome/common/extensions/api/api.gyp:chrome_api |
+group("api") { |
+ # The GYP version has one target that does both the bundling and compiling |
+ # over the same set of sources. In GN these actions are separate. |
+ deps = [ |
+ ":api_bundle", |
+ ":api_compile", |
+ ] |
+} |
+ |
+# Common sources that are both bundled and compiled. |
+if (is_android) { |
+ # Should be eliminated. See crbug.com/305852. |
+ schema_sources = gypi_values.android_schema_files |
+} else { |
+ schema_sources = gypi_values.main_schema_files |
+ if (is_chromeos) { |
+ schema_sources += gypi_values.chromeos_schema_files |
+ if (is_chrome_branded) { |
+ schema_sources += gypi_values.chromeos_branded_schema_files |
+ } |
+ } |
+ if (enable_webrtc) { |
+ schema_sources += gypi_values.webrtc_schema_files |
+ } |
+} |
+ |
+schema_deps = [ |
+ # Different APIs include some headers crom chrome/common that in turn |
jamesr
2014/06/20 21:45:08
s/crom/from/
|
+ # include generated headers from these targets. |
+ # TODO(brettw) this should be made unnecessary if possible. |
+ "//components/metrics/proto", |
+ "//device/serial", |
+ |
+ "//content/public/browser", |
+ "//skia", |
+ "//sync", |
+] |
+if (is_chromeos) { |
+ # deps += [ "<(DEPTH)/chrome/chrome.gyp:drive_proto" ] TODO)GYP) |
jamesr
2014/06/20 21:45:08
s/TODO)GYP)/TODO(GYP)
|
+} |
+ |
+json_schema_bundle("api_bundle") { |
+ visibility = ":api" |
+ sources = schema_sources |
+ if (!is_android) { |
+ sources += gypi_values.main_non_compiled_schema_files |
+ } |
+ |
+ root_namespace = "extensions::api" |
+ deps = schema_deps + [ ":api_compile" ] |
+ |
jamesr
2014/06/20 21:45:08
extra newline
|
+} |
+ |
+json_schema_compile("api_compile") { |
+ visibility = ":*" |
+ sources = schema_sources |
+ root_namespace = "extensions::api" |
+ deps = schema_deps |
+} |