diff --git a/DEPS b/DEPS index 8562e2279..5d18f648c 100644 --- a/DEPS +++ b/DEPS @@ -26,7 +26,7 @@ vars = { # Note: When updating the Dart revision, ensure that all entries that are # dependencies of dart are also updated - 'dart_revision': '5322692506e0f1af4e5c83ea8ae994498342466a', + 'dart_revision': 'e091d17fd9e94e3f9a0cebab713b27bb8908240f', 'dart_observatory_packages_revision': 'cf90eb9077177d3d6b3fd5e8289477c2385c026a', 'dart_root_certificates_revision': 'c3a41df63afacec62fcb8135196177e35fe72f71', diff --git a/sky/engine/bindings/BUILD.gn b/sky/engine/bindings/BUILD.gn index 4b7211e73..c3c6c5abe 100644 --- a/sky/engine/bindings/BUILD.gn +++ b/sky/engine/bindings/BUILD.gn @@ -85,6 +85,7 @@ action("generate_snapshot_bin") { deps = [ "//dart/runtime/bin:gen_snapshot($dart_host_toolchain)", ":generate_dart_ui", + ":generate_dart_jni", ] inputs = [ "//dart/runtime/tools/create_snapshot_bin.py", @@ -179,3 +180,15 @@ copy("generate_dart_ui") { "$bindings_output_dir/{{source_file_part}}", ] } + +copy("generate_dart_jni") { + sources = [ + "jni/jni.dart", + "jni/jni_helper.dart", + "jni/jni_raw.dart", + ] + + outputs = [ + "$bindings_output_dir/dart_jni/{{source_file_part}}", + ] +} diff --git a/sky/engine/bindings/snapshot.dart b/sky/engine/bindings/snapshot.dart index 2c7d1fcdc..e55c48ad7 100644 --- a/sky/engine/bindings/snapshot.dart +++ b/sky/engine/bindings/snapshot.dart @@ -6,6 +6,7 @@ import 'dart:async'; import 'dart:collection'; import 'dart:convert'; import 'dart:core'; +import 'dart:developer'; import 'dart:io'; import 'dart:isolate'; import 'dart:jni'; diff --git a/sky/packages/sky_engine/BUILD.gn b/sky/packages/sky_engine/BUILD.gn index fcbe120f3..929ba8584 100644 --- a/sky/packages/sky_engine/BUILD.gn +++ b/sky/packages/sky_engine/BUILD.gn @@ -3,6 +3,7 @@ # found in the LICENSE file. import("//mojo/public/dart/rules.gni") +import("//dart/sdk/lib/rules.gni") copy("copy_sky_engine_license") { sources = [ @@ -15,14 +16,77 @@ copy("copy_sky_engine_license") { ] } +dart_sdk_lib_copy("async") { + sdk_lib_name = "async" + destination = "$root_gen_dir/dart-pkg/sky_engine/dart_sdk" +} + +dart_sdk_lib_copy("collection") { + sdk_lib_name = "collection" + destination = "$root_gen_dir/dart-pkg/sky_engine/dart_sdk" +} + +dart_sdk_lib_copy("convert") { + sdk_lib_name = "convert" + destination = "$root_gen_dir/dart-pkg/sky_engine/dart_sdk" +} + +dart_sdk_lib_copy("core") { + sdk_lib_name = "core" + destination = "$root_gen_dir/dart-pkg/sky_engine/dart_sdk" +} + +dart_sdk_lib_copy("developer") { + sdk_lib_name = "developer" + destination = "$root_gen_dir/dart-pkg/sky_engine/dart_sdk" +} + +dart_sdk_lib_copy("io") { + sdk_lib_name = "io" + destination = "$root_gen_dir/dart-pkg/sky_engine/dart_sdk" +} + +dart_sdk_lib_copy("isolate") { + sdk_lib_name = "isolate" + destination = "$root_gen_dir/dart-pkg/sky_engine/dart_sdk" +} + +dart_sdk_lib_copy("math") { + sdk_lib_name = "math" + destination = "$root_gen_dir/dart-pkg/sky_engine/dart_sdk" +} + +dart_sdk_lib_copy("typed_data") { + sdk_lib_name = "typed_data" + destination = "$root_gen_dir/dart-pkg/sky_engine/dart_sdk" +} + + +group("copy_dart_sdk") { + deps = [ + ":async", + ":collection", + ":convert", + ":core", + ":developer", + ":io", + ":isolate", + ":math", + ":typed_data", + ] +} + dart_pkg("sky_engine") { sources = [ + "dart_sdk/_empty.dart", + "lib/_embedder.yaml", "README.md", "pubspec.yaml", ] deps = [ ":copy_sky_engine_license", + ":copy_dart_sdk", "//sky/engine/bindings", ] @@ -34,7 +98,4 @@ dart_pkg("sky_engine") { "$service_isolate_dir/loader.dart", "$service_isolate_dir/server.dart", ] - sdk_ext_mappings = [ - "dart:ui,dart_ui.dart", - ] } diff --git a/sky/packages/sky_engine/dart_sdk/_empty.dart b/sky/packages/sky_engine/dart_sdk/_empty.dart new file mode 100644 index 000000000..e69de29bb diff --git a/sky/packages/sky_engine/lib/_embedder.yaml b/sky/packages/sky_engine/lib/_embedder.yaml new file mode 100644 index 000000000..03dfedd90 --- /dev/null +++ b/sky/packages/sky_engine/lib/_embedder.yaml @@ -0,0 +1,14 @@ +embedded_libs: + "dart:async": "../dart_sdk/async/async.dart" + "dart:collection": "../dart_sdk/collection/collection.dart" + "dart:convert": "../dart_sdk/convert/convert.dart" + "dart:core": "../dart_sdk/core/core.dart" + "dart:developer": "../dart_sdk/developer/developer.dart" + "dart:io": "../dart_sdk/io/io.dart" + "dart:isolate": "../dart_sdk/isolate/isolate.dart" + "dart:jni": "../sdk_ext/dart_jni/jni.dart" + "dart:math": "../dart_sdk/math/math.dart" + "dart:typed_data": "../dart_sdk/typed_data/typed_data.dart" + "dart:ui": "../sdk_ext/dart_ui.dart" + "dart:_internal": "../dart_sdk/_empty.dart" + "dart:nativewrappers": "../dart_sdk/_empty.dart"