Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(574)

Side by Side Diff: lib/src/entrypoint.dart

Issue 1413713010: Fix error detection for a non-existent global script. (Closed) Base URL: git@github.com:dart-lang/pub.git@master
Patch Set: Fix test Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « lib/src/barback/dependency_computer.dart ('k') | lib/src/executable.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library pub.entrypoint; 5 library pub.entrypoint;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 import 'dart:io'; 8 import 'dart:io';
9 9
10 import 'package:package_config/packages_file.dart' as packages_file; 10 import 'package:package_config/packages_file.dart' as packages_file;
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 final SystemCache cache; 49 final SystemCache cache;
50 50
51 /// Whether to create and symlink a "packages" directory containing links to 51 /// Whether to create and symlink a "packages" directory containing links to
52 /// the installed packages. 52 /// the installed packages.
53 final bool _packageSymlinks; 53 final bool _packageSymlinks;
54 54
55 /// Whether this entrypoint is in memory only, as opposed to representing a 55 /// Whether this entrypoint is in memory only, as opposed to representing a
56 /// real directory on disk. 56 /// real directory on disk.
57 final bool _inMemory; 57 final bool _inMemory;
58 58
59 /// Whether this is an entrypoint for a globally-activated package.
60 final bool isGlobal;
61
59 /// The lockfile for the entrypoint. 62 /// The lockfile for the entrypoint.
60 /// 63 ///
61 /// If not provided to the entrypoint, it will be loaded lazily from disk. 64 /// If not provided to the entrypoint, it will be loaded lazily from disk.
62 LockFile get lockFile { 65 LockFile get lockFile {
63 if (_lockFile != null) return _lockFile; 66 if (_lockFile != null) return _lockFile;
64 67
65 if (!fileExists(lockFilePath)) { 68 if (!fileExists(lockFilePath)) {
66 _lockFile = new LockFile.empty(cache.sources); 69 _lockFile = new LockFile.empty(cache.sources);
67 } else { 70 } else {
68 _lockFile = new LockFile.load(lockFilePath, cache.sources); 71 _lockFile = new LockFile.load(lockFilePath, cache.sources);
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
104 String get pubspecPath => root.path('pubspec.yaml'); 107 String get pubspecPath => root.path('pubspec.yaml');
105 108
106 /// The path to the entrypoint package's lockfile. 109 /// The path to the entrypoint package's lockfile.
107 String get lockFilePath => root.path('pubspec.lock'); 110 String get lockFilePath => root.path('pubspec.lock');
108 111
109 /// Loads the entrypoint from a package at [rootDir]. 112 /// Loads the entrypoint from a package at [rootDir].
110 /// 113 ///
111 /// If [packageSymlinks] is `true`, this will create a "packages" directory 114 /// If [packageSymlinks] is `true`, this will create a "packages" directory
112 /// with symlinks to the installed packages. This directory will be symlinked 115 /// with symlinks to the installed packages. This directory will be symlinked
113 /// into any directory that might contain an entrypoint. 116 /// into any directory that might contain an entrypoint.
114 Entrypoint(String rootDir, SystemCache cache, {bool packageSymlinks: true}) 117 Entrypoint(String rootDir, SystemCache cache, {bool packageSymlinks: true,
118 this.isGlobal: false})
115 : root = new Package.load(null, rootDir, cache.sources), 119 : root = new Package.load(null, rootDir, cache.sources),
116 cache = cache, 120 cache = cache,
117 _packageSymlinks = packageSymlinks, 121 _packageSymlinks = packageSymlinks,
118 _inMemory = false; 122 _inMemory = false;
119 123
120 /// Creates an entrypoint given package and lockfile objects. 124 /// Creates an entrypoint given package and lockfile objects.
121 Entrypoint.inMemory(this.root, this._lockFile, this.cache) 125 Entrypoint.inMemory(this.root, this._lockFile, this.cache,
126 {this.isGlobal: false})
122 : _packageSymlinks = false, 127 : _packageSymlinks = false,
123 _inMemory = true; 128 _inMemory = true;
124 129
125 /// Creates an entrypoint given a package and a [solveResult], from which the 130 /// Creates an entrypoint given a package and a [solveResult], from which the
126 /// package graph and lockfile will be computed. 131 /// package graph and lockfile will be computed.
127 Entrypoint.fromSolveResult(this.root, this.cache, SolveResult solveResult) 132 Entrypoint.fromSolveResult(this.root, this.cache, SolveResult solveResult,
133 {this.isGlobal: false})
128 : _packageSymlinks = false, 134 : _packageSymlinks = false,
129 _inMemory = true { 135 _inMemory = true {
130 _packageGraph = new PackageGraph.fromSolveResult(this, solveResult); 136 _packageGraph = new PackageGraph.fromSolveResult(this, solveResult);
131 _lockFile = _packageGraph.lockFile; 137 _lockFile = _packageGraph.lockFile;
132 } 138 }
133 139
134 /// Gets all dependencies of the [root] package. 140 /// Gets all dependencies of the [root] package.
135 /// 141 ///
136 /// Performs version resolution according to [SolveType]. 142 /// Performs version resolution according to [SolveType].
137 /// 143 ///
(...skipping 463 matching lines...) Expand 10 before | Expand all | Expand 10 after
601 /// If [packageSymlinks] is true, creates a symlink to the "packages" 607 /// If [packageSymlinks] is true, creates a symlink to the "packages"
602 /// directory in [dir]. 608 /// directory in [dir].
603 /// 609 ///
604 /// Otherwise, deletes a "packages" directories in [dir] if one exists. 610 /// Otherwise, deletes a "packages" directories in [dir] if one exists.
605 void _linkOrDeleteSecondaryPackageDir(String dir) { 611 void _linkOrDeleteSecondaryPackageDir(String dir) {
606 var symlink = p.join(dir, 'packages'); 612 var symlink = p.join(dir, 'packages');
607 if (entryExists(symlink)) deleteEntry(symlink); 613 if (entryExists(symlink)) deleteEntry(symlink);
608 if (_packageSymlinks) createSymlink(packagesDir, symlink, relative: true); 614 if (_packageSymlinks) createSymlink(packagesDir, symlink, relative: true);
609 } 615 }
610 } 616 }
OLDNEW
« no previous file with comments | « lib/src/barback/dependency_computer.dart ('k') | lib/src/executable.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698