mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
Dart actually expects package: to work. This CL makes package:foo map to /packages/foo, similar to how Dartium or bin/dart would expect. This also means overlaying the /gen directory over the actual package outputs (as consumers of an SDK would expect) as well as adding an additional /lib indirection for the actual package source as the Dart pub tool will expect. This is far from perfect, but it unlocks us actually producing a sky SDK. I expect there may be some fallout from this change as I'm sure I missed some package: uses. We also don't have a general solution for all /foo/bar/baz includes which randomly included parts of mojo's source directory. Those will need to be updated to use a package: and deploy_sdk.py taught how to build a package for them. R=abarth@chromium.org Review URL: https://codereview.chromium.org/990493002
24 lines
888 B
Dart
24 lines
888 B
Dart
// Copyright 2015 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 "package:mojo/public/dart/application.dart";
|
|
import "dart:sky.internals" as internals;
|
|
import "dart:mojo.core" as core;
|
|
import "package:mojo/public/interfaces/application/service_provider.mojom.dart";
|
|
|
|
ApplicationConnection _initConnection() {
|
|
int rawHandle = internals.takeServicesProvidedByEmbedder();
|
|
core.MojoHandle proxyHandle = new core.MojoHandle(rawHandle);
|
|
ServiceProviderProxy serviceProvider = null;
|
|
if (proxyHandle.isValid)
|
|
serviceProvider = new ServiceProviderProxy.fromHandle(proxyHandle);
|
|
return new ApplicationConnection(null, serviceProvider);
|
|
}
|
|
|
|
final ApplicationConnection _connection = _initConnection();
|
|
|
|
void requestService(Object proxy) {
|
|
_connection.requestService(proxy);
|
|
}
|