| Index: utils/pub/root_source.dart
|
| diff --git a/utils/pub/root_source.dart b/utils/pub/root_source.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..1e8d4f400bf1225da1f9057afbfc968f63f82a24
|
| --- /dev/null
|
| +++ b/utils/pub/root_source.dart
|
| @@ -0,0 +1,35 @@
|
| +// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
|
| +// for details. All rights reserved. Use of this source code is governed by a
|
| +// BSD-style license that can be found in the LICENSE file.
|
| +
|
| +#library('root_source');
|
| +
|
| +#import('package.dart');
|
| +#import('source.dart');
|
| +
|
| +/**
|
| + * A source used only for the root package when doing version resolution. It
|
| + * contains only the root package and is unable to install packages.
|
| + *
|
| + * This source cannot be referenced from a pubspec.
|
| + */
|
| +class RootSource extends Source {
|
| + final String name = "root";
|
| + final bool shouldCache = false;
|
| + final Package package;
|
| +
|
| + RootSource(this.package);
|
| +
|
| + Future<List<Version>> getVersions(description) {
|
| + return Future<List<Version>>.immediate([package.version]);
|
| + }
|
| +
|
| + Future<Pubspec> describe(PackageId id) {
|
| + return Future<Pubspec>.immediate(package.pubspec);
|
| + }
|
| +
|
| + Future<bool> install(PackageId id, String destPath) {
|
| + throw new UnsupportedOperationException(
|
| + "Can't install from a root source.");
|
| + }
|
| +}
|
|
|