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

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

Issue 2148413002: Use the command builtin rather than which. (Closed) Base URL: git@github.com:dart-lang/pub.git@master
Patch Set: Created 4 years, 5 months 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 | « no previous file | no next file » | 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) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, 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 import 'dart:async'; 5 import 'dart:async';
6 import 'dart:io'; 6 import 'dart:io';
7 7
8 import 'package:path/path.dart' as p; 8 import 'package:path/path.dart' as p;
9 import 'package:barback/barback.dart'; 9 import 'package:barback/barback.dart';
10 import 'package:pub_semver/pub_semver.dart'; 10 import 'package:pub_semver/pub_semver.dart';
(...skipping 752 matching lines...) Expand 10 before | Expand all | Expand 10 after
763 if (result.exitCode == 0) return; 763 if (result.exitCode == 0) return;
764 764
765 log.warning( 765 log.warning(
766 "${log.yellow('Warning:')} Pub installs executables into " 766 "${log.yellow('Warning:')} Pub installs executables into "
767 "${log.bold(_binStubDir)}, which is not on your path.\n" 767 "${log.bold(_binStubDir)}, which is not on your path.\n"
768 "You can fix that by adding that directory to your system's " 768 "You can fix that by adding that directory to your system's "
769 '"Path" environment variable.\n' 769 '"Path" environment variable.\n'
770 'A web search for "configure windows path" will show you how.'); 770 'A web search for "configure windows path" will show you how.');
771 } else { 771 } else {
772 // See if the shell can find one of the binstubs. 772 // See if the shell can find one of the binstubs.
773 var result = runProcessSync("which", [installed]); 773 //
774 // The "command" builtin is more reliable than the "which" executable. See
775 // http://unix.stackexchange.com/questions/85249/why-not-use-which-what-to -use-then
776 var result = runProcessSync("sh", ["-c", 'command -v "\$installed"'],
kevmoo 2016/07/14 21:22:13 ...or just add 'runInShell: true' ?
nweiz 2016/07/14 22:06:56 Haha good idea!
777 environment: {"installed": installed});
774 if (result.exitCode == 0) return; 778 if (result.exitCode == 0) return;
775 779
776 var binDir = _binStubDir; 780 var binDir = _binStubDir;
777 if (binDir.startsWith(Platform.environment['HOME'])) { 781 if (binDir.startsWith(Platform.environment['HOME'])) {
778 binDir = p.join("~", p.relative(binDir, 782 binDir = p.join("~", p.relative(binDir,
779 from: Platform.environment['HOME'])); 783 from: Platform.environment['HOME']));
780 } 784 }
781 785
782 log.warning( 786 log.warning(
783 "${log.yellow('Warning:')} Pub installs executables into " 787 "${log.yellow('Warning:')} Pub installs executables into "
784 "${log.bold(binDir)}, which is not on your path.\n" 788 "${log.bold(binDir)}, which is not on your path.\n"
785 "You can fix that by adding this to your shell's config file " 789 "You can fix that by adding this to your shell's config file "
786 "(.bashrc, .bash_profile, etc.):\n" 790 "(.bashrc, .bash_profile, etc.):\n"
787 "\n" 791 "\n"
788 " ${log.bold('export PATH="\$PATH":"$binDir"')}\n" 792 " ${log.bold('export PATH="\$PATH":"$binDir"')}\n"
789 "\n"); 793 "\n");
790 } 794 }
791 } 795 }
792 796
793 /// Returns the value of the property named [name] in the bin stub script 797 /// Returns the value of the property named [name] in the bin stub script
794 /// [source]. 798 /// [source].
795 String _binStubProperty(String source, String name) { 799 String _binStubProperty(String source, String name) {
796 var pattern = new RegExp(quoteRegExp(name) + r": ([a-zA-Z0-9_-]+)"); 800 var pattern = new RegExp(quoteRegExp(name) + r": ([a-zA-Z0-9_-]+)");
797 var match = pattern.firstMatch(source); 801 var match = pattern.firstMatch(source);
798 return match == null ? null : match[1]; 802 return match == null ? null : match[1];
799 } 803 }
800 } 804 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698