| Index: pkg/docgen/lib/src/package_helpers.dart
|
| diff --git a/pkg/docgen/lib/src/package_helpers.dart b/pkg/docgen/lib/src/package_helpers.dart
|
| deleted file mode 100644
|
| index f437166e6e2d5d7b4073219bb92e24f95233b268..0000000000000000000000000000000000000000
|
| --- a/pkg/docgen/lib/src/package_helpers.dart
|
| +++ /dev/null
|
| @@ -1,126 +0,0 @@
|
| -// Copyright (c) 2014, 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 docgen.package_helpers;
|
| -
|
| -import 'exports/source_mirrors.dart';
|
| -import 'generator.dart' show pubScript;
|
| -
|
| -import 'dart:io';
|
| -import 'package:path/path.dart' as path;
|
| -import 'package:yaml/yaml.dart';
|
| -
|
| -/// Helper accessor to determine the full pathname of the root of the dart
|
| -/// checkout if we are running without the --sdk parameter specified. That
|
| -/// normally means we are running directly from source, and we expect to
|
| -/// find the root as the directory above 'pkg'. The only other time this
|
| -/// would happen is running a snapshot directly, rather than from the
|
| -/// dartdocgen script, where we look for the dart-sdk directory. If not
|
| -/// using the script and not in a normal directory structure, you'll need
|
| -/// to pass the --sdk parameter.
|
| -String get rootDirectory {
|
| - if (_rootDirectoryCache != null) return _rootDirectoryCache;
|
| - var scriptDir = path.absolute(path.dirname(Platform.script.toFilePath()));
|
| - var root = scriptDir;
|
| - var base = path.basename(root);
|
| - while (base != 'dart-sdk' && base != 'pkg') {
|
| - root = path.dirname(root);
|
| - base = path.basename(root);
|
| - if (root == base) {
|
| - // We have reached the root of the filesystem without finding anything.
|
| - throw new FileSystemException("Cannot find SDK directory starting from ",
|
| - scriptDir);
|
| - }
|
| - }
|
| - _rootDirectoryCache = path.dirname(root);
|
| - return _rootDirectoryCache;
|
| -}
|
| -String _rootDirectoryCache;
|
| -
|
| -/// Given a LibraryMirror that is a library, return the name of the directory
|
| -/// holding the package information for that library. If the library is not
|
| -/// part of a package, return null.
|
| -String getPackageDirectory(LibraryMirror mirror) {
|
| - var file = mirror.uri.toFilePath();
|
| - // Any file that's in a package will be in a directory of the form
|
| - // packagename/lib/.../filename.dart, so we know that a possible
|
| - // package directory is at least in the directory above the one containing
|
| - // [file]
|
| - var directoryAbove = path.dirname(path.dirname(file));
|
| - var possiblePackage = _packageDirectoryFor(directoryAbove);
|
| - // We only want components that are somewhere underneath the lib directory.
|
| - var subPath = path.relative(file, from: possiblePackage);
|
| - var subPathComponents = path.split(subPath);
|
| - if (subPathComponents.isNotEmpty && subPathComponents.first == 'lib') {
|
| - return possiblePackage;
|
| - } else {
|
| - return null;
|
| - }
|
| -}
|
| -
|
| -Map _getPubspec(String directoryName) {
|
| - var pubspecName = path.join(directoryName, 'pubspec.yaml');
|
| - File pubspec = new File(pubspecName);
|
| - if (!pubspec.existsSync()) return {'name': ''};
|
| - var contents = pubspec.readAsStringSync();
|
| - return loadYaml(contents);
|
| -}
|
| -
|
| -/// Read a pubspec and return the library name, given a directory
|
| -String packageNameFor(String directoryName) =>
|
| - _getPubspec(directoryName)['name'];
|
| -
|
| -/// Read a pubspec and return the library name, given a directory
|
| -String _packageVersionFor(String directoryName) {
|
| - var spec = _getPubspec(directoryName);
|
| - return '${spec['name']}-${spec['version']}';
|
| -}
|
| -
|
| -/// Look in the pubspec.lock to determine what version of a package we are
|
| -/// documenting (null if not applicable).
|
| -String packageVersion(LibraryMirror mirror) {
|
| - if (mirror.uri.scheme == 'file') {
|
| - String packageDirectory = getPackageDirectory(mirror);
|
| - if (packageDirectory == null) return '';
|
| - if (packageDirectory.contains('.pub-cache')) {
|
| - return path.basename(packageDirectory);
|
| - }
|
| - String packageName = packageNameFor(packageDirectory);
|
| - return _packageVersionFor(packageDirectory);
|
| - } else if (mirror.uri.scheme == 'dart') {
|
| - // If this item is from the SDK, use what version of pub we're running to
|
| - // ascertain the SDK version.
|
| - var pubVersion = Process.runSync(pubScript, ['--version'],
|
| - runInShell: true);
|
| - if (pubVersion.exitCode != 0) {
|
| - print(pubVersion.stderr);
|
| - }
|
| - return pubVersion.stdout.replaceAll('Pub ', '').trim();
|
| - }
|
| - return '';
|
| -}
|
| -
|
| -String _packageVersionHelper(String packageDirectory, String packageName) {
|
| - var publockName = path.join(packageDirectory, 'pubspec.lock');
|
| - File publock = new File(publockName);
|
| - if (!publock.existsSync()) return '';
|
| - var contents = publock.readAsStringSync();
|
| - var spec = loadYaml(contents);
|
| - return spec['packages'][packageName];
|
| -}
|
| -
|
| -/// Recursively walk up from directory name looking for a pubspec. Return
|
| -/// the directory that contains it, or null if none is found.
|
| -String _packageDirectoryFor(String directoryName) {
|
| - var dir = directoryName;
|
| - while (!_pubspecFor(dir).existsSync()) {
|
| - var newDir = path.dirname(dir);
|
| - if (newDir == dir) return null;
|
| - dir = newDir;
|
| - }
|
| - return dir;
|
| -}
|
| -
|
| -File _pubspecFor(String directoryName) =>
|
| - new File(path.join(directoryName, 'pubspec.yaml'));
|
|
|