blob: ebab17ef3e2c0c9ce31754dc14bf51e026c42e0b [file] [log] [blame]
// 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 'pubspec.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<Pubspec> describe(PackageId id) {
return new Future<Pubspec>.immediate(package.pubspec);
}
Future<bool> install(PackageId id, String destPath) {
throw new UnsupportedError("Can't install from a root source.");
}
}