| Index: sdk/lib/_internal/pub_generated/lib/src/command/list_package_dirs.dart
|
| diff --git a/sdk/lib/_internal/pub_generated/lib/src/command/list_package_dirs.dart b/sdk/lib/_internal/pub_generated/lib/src/command/list_package_dirs.dart
|
| index de48749a2d184443ba4689a1d3ace8b9faf97ad2..6c08c762e3448b55fbe523f20900703862e4c900 100644
|
| --- a/sdk/lib/_internal/pub_generated/lib/src/command/list_package_dirs.dart
|
| +++ b/sdk/lib/_internal/pub_generated/lib/src/command/list_package_dirs.dart
|
| @@ -1,25 +1,40 @@
|
| +// Copyright (c) 2013, 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 pub.command.list_package_dirs;
|
| +
|
| import 'dart:async';
|
| +
|
| import 'package:path/path.dart' as path;
|
| +
|
| import '../command.dart';
|
| import '../log.dart' as log;
|
| import '../utils.dart';
|
| +
|
| +/// Handles the `list-package-dirs` pub command.
|
| class ListPackageDirsCommand extends PubCommand {
|
| String get description => "Print local paths to dependencies.";
|
| String get usage => "pub list-package-dirs";
|
| bool get hidden => true;
|
| +
|
| ListPackageDirsCommand() {
|
| commandParser.addOption(
|
| "format",
|
| help: "How output should be displayed.",
|
| allowed: ["json"]);
|
| }
|
| +
|
| Future onRun() {
|
| log.json.enabled = true;
|
| +
|
| if (!entrypoint.lockFileExists) {
|
| dataError('Package "myapp" has no lockfile. Please run "pub get" first.');
|
| }
|
| +
|
| var output = {};
|
| +
|
| + // Include the local paths to all locked packages.
|
| var packages = {};
|
| var futures = [];
|
| entrypoint.lockFile.packages.forEach((name, package) {
|
| @@ -28,11 +43,19 @@ class ListPackageDirsCommand extends PubCommand {
|
| packages[name] = path.join(packageDir, "lib");
|
| }));
|
| });
|
| +
|
| output["packages"] = packages;
|
| +
|
| + // Include the self link.
|
| packages[entrypoint.root.name] = entrypoint.root.path("lib");
|
| +
|
| + // Include the file(s) which when modified will affect the results. For pub,
|
| + // that's just the pubspec and lockfile.
|
| output["input_files"] = [entrypoint.lockFilePath, entrypoint.pubspecPath];
|
| +
|
| return Future.wait(futures).then((_) {
|
| log.json.message(output);
|
| });
|
| }
|
| }
|
| +
|
|
|