[sdk] Define a separate SDK for Dart additions to the Core SDK.

This allows these SDK contributions to be controlled via an API file.
Note that this will only be effective when the infrastructure is
updated to build the Core and "Dart" SDKs separately, as SDK targets are
not built by default anymore (and therefore verification is not by default
applied to the newly-created //topaz/public/sdk:fuchsia_dart).

Bug: DX-1200
Change-Id: I189dd721b0c27539082f575915c5e1cd04931681
diff --git a/packages/BUILD.gn b/packages/BUILD.gn
index 46ce02a..164a831 100644
--- a/packages/BUILD.gn
+++ b/packages/BUILD.gn
@@ -8,6 +8,7 @@
     "//topaz/packages/benchmarks:all",
     "//topaz/packages/examples:all",
     "//topaz/packages/prod:all",
+    "//topaz/packages/sdk:all",
     "//topaz/packages/tests:all",
     "//topaz/packages/tools:all",
   ]
diff --git a/public/sdk/BUILD.gn b/public/sdk/BUILD.gn
index 0a23890..02208c1 100644
--- a/public/sdk/BUILD.gn
+++ b/public/sdk/BUILD.gn
@@ -12,17 +12,15 @@
 # other targets in this file are attached to the build graph.
 group("sdk") {}
 
-# Tools and libraries required to generate and use FIDL bindings in Dart.
-sdk_molecule("fidl_dart") {
+# Tools and libraries to develop for Fuchsia with Dart.
+sdk("fuchsia_dart") {
+  category = "partner"
+
+  api = "fuchsia_dart.api"
+
   deps = [
     "//topaz/bin/fidlgen_dart:fidlgen_dart_sdk($host_toolchain)",
     "//topaz/public/dart/fidl:fidl_sdk($dart_toolchain)",
-    "//zircon/public/tool/fidlc:fidlc_sdk($host_toolchain)",
-  ]
-}
-
-sdk_molecule("dart_support") {
-  deps = [
     "//topaz/public/dart/fuchsia:fuchsia_sdk($dart_toolchain)",
     "//topaz/public/dart/fuchsia_logger:fuchsia_logger_sdk($dart_toolchain)",
     "//topaz/public/dart/fuchsia_media:fuchsia_media_sdk($dart_toolchain)",
@@ -43,8 +41,7 @@
   testonly = true
 
   deps = [
-    ":dart_support",
-    ":fidl_dart",
+    ":fuchsia_dart_molecule",
     "//sdk:core_molecule",
   ]
 }
diff --git a/public/sdk/fuchsia_dart.api b/public/sdk/fuchsia_dart.api
new file mode 100644
index 0000000..1167130
--- /dev/null
+++ b/public/sdk/fuchsia_dart.api
@@ -0,0 +1,35 @@
+sdk://dart/fidl
+sdk://dart/fuchsia
+sdk://dart/fuchsia_logger
+sdk://dart/fuchsia_media
+sdk://dart/fuchsia_modular
+sdk://dart/fuchsia_scenic_flutter
+sdk://dart/fuchsia_services
+sdk://dart/fuchsia_vfs
+sdk://dart/zircon
+sdk://docs/metadata_schemas
+sdk://fidl/fuchsia.auth
+sdk://fidl/fuchsia.images
+sdk://fidl/fuchsia.intl
+sdk://fidl/fuchsia.io
+sdk://fidl/fuchsia.ledger
+sdk://fidl/fuchsia.logger
+sdk://fidl/fuchsia.math
+sdk://fidl/fuchsia.media
+sdk://fidl/fuchsia.media.audio
+sdk://fidl/fuchsia.mem
+sdk://fidl/fuchsia.modular
+sdk://fidl/fuchsia.modular.auth
+sdk://fidl/fuchsia.speech
+sdk://fidl/fuchsia.sys
+sdk://fidl/fuchsia.ui.gfx
+sdk://fidl/fuchsia.ui.input
+sdk://fidl/fuchsia.ui.policy
+sdk://fidl/fuchsia.ui.scenic
+sdk://fidl/fuchsia.ui.vectorial
+sdk://fidl/fuchsia.ui.views
+sdk://fidl/fuchsia.ui.viewsv1
+sdk://fidl/fuchsia.ui.viewsv1token
+sdk://tools/dart_kernel_compiler
+sdk://tools/fidlgen_dart
+sdk://tools/gen_snapshot_x64
\ No newline at end of file