mirror of
https://github.com/flutter/flutter
synced 2024-08-27 12:00:58 +00:00
Reverting my .pub-cache change to figure out why it's still failing. (#13355)
* Revert "Add tests." This reverts commit31bad961ff
. * Revert "Use .pub-cache from Flutter root, if it exists. (#13248)" This reverts commit72d6bcc3f7
.
This commit is contained in:
parent
3174443e0e
commit
c89cf6ccc6
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -32,7 +32,6 @@
|
|||
**/doc/api/
|
||||
.flutter-plugins
|
||||
.packages
|
||||
.pub-cache/
|
||||
.pub/
|
||||
build/
|
||||
flutter_*.png
|
||||
|
|
63
bin/flutter
63
bin/flutter
|
@ -16,7 +16,7 @@ set -e
|
|||
|
||||
function follow_links() {
|
||||
cd -P "${1%/*}"
|
||||
local file="$PWD/${1##*/}"
|
||||
file="$PWD/${1##*/}"
|
||||
while [ -h "$file" ]; do
|
||||
# On Mac OS, readlink -f doesn't work.
|
||||
cd -P "${file%/*}"
|
||||
|
@ -33,39 +33,6 @@ function path_uri() {
|
|||
echo "$1" | sed -E -e "s,^/+,/,"
|
||||
}
|
||||
|
||||
function upgrade_flutter () {
|
||||
if hash flock 2>/dev/null; then
|
||||
flock 3 # ensures that we don't simultaneously update Dart in multiple parallel instances
|
||||
# some platforms (e.g. Mac) don't have flock or any reliable alternative
|
||||
fi
|
||||
|
||||
local revision=`(cd "$FLUTTER_ROOT"; git rev-parse HEAD)`
|
||||
if [ ! -f "$SNAPSHOT_PATH" ] || [ ! -s "$STAMP_PATH" ] || [ `cat "$STAMP_PATH"` != "$revision" ] || [ "$FLUTTER_TOOLS_DIR/pubspec.yaml" -nt "$FLUTTER_TOOLS_DIR/pubspec.lock" ]; then
|
||||
mkdir -p "$FLUTTER_ROOT/bin/cache"
|
||||
touch "$FLUTTER_ROOT/bin/cache/.dartignore"
|
||||
"$FLUTTER_ROOT/bin/internal/update_dart_sdk.sh"
|
||||
|
||||
echo Building flutter tool...
|
||||
if [ "$TRAVIS" == "true" ] || [ "$BOT" == "true" ] || [ "$CONTINUOUS_INTEGRATION" == "true" ] || [ "$CHROME_HEADLESS" == "1" ] || [ "$APPVEYOR" == "true" ] || [ "$CI" == "true" ]; then
|
||||
PUB_ENVIRONMENT="$PUB_ENVIRONMENT:flutter_bot"
|
||||
fi
|
||||
export PUB_ENVIRONMENT="$PUB_ENVIRONMENT:flutter_install"
|
||||
|
||||
if [ -d "$FLUTTER_ROOT/.pub-cache" ]; then
|
||||
export PUB_CACHE="${PUB_CACHE:-"$FLUTTER_ROOT/.pub-cache"}"
|
||||
fi
|
||||
|
||||
while : ; do
|
||||
cd "$FLUTTER_TOOLS_DIR"
|
||||
"$PUB" upgrade --verbosity=error --no-packages-dir && break
|
||||
echo Error: Unable to 'pub upgrade' flutter tool. Retrying in five seconds...
|
||||
sleep 5
|
||||
done
|
||||
"$DART" --snapshot="$SNAPSHOT_PATH" --packages="$FLUTTER_TOOLS_DIR/.packages" "$SCRIPT_PATH"
|
||||
echo "$revision" > "$STAMP_PATH"
|
||||
fi
|
||||
}
|
||||
|
||||
PROG_NAME="$(path_uri "$(follow_links "$BASH_SOURCE")")"
|
||||
BIN_DIR="$(cd "${PROG_NAME%/*}" ; pwd -P)"
|
||||
export FLUTTER_ROOT="$(cd "${BIN_DIR}/.." ; pwd -P)"
|
||||
|
@ -103,7 +70,33 @@ FLUTTER_TOOL_ARGS="--assert-initializer $FLUTTER_TOOL_ARGS"
|
|||
# FLUTTER_TOOL_ARGS="--checked $FLUTTER_TOOL_ARGS"
|
||||
# FLUTTER_TOOL_ARGS="$FLUTTER_TOOL_ARGS --observe=65432"
|
||||
|
||||
(upgrade_flutter) 3< "$PROG_NAME"
|
||||
(
|
||||
if hash flock 2>/dev/null; then
|
||||
flock 3 # ensures that we don't simultaneously update Dart in multiple parallel instances
|
||||
# some platforms (e.g. Mac) don't have flock or any reliable alternative
|
||||
fi
|
||||
REVISION=`(cd "$FLUTTER_ROOT"; git rev-parse HEAD)`
|
||||
if [ ! -f "$SNAPSHOT_PATH" ] || [ ! -s "$STAMP_PATH" ] || [ `cat "$STAMP_PATH"` != "$REVISION" ] || [ "$FLUTTER_TOOLS_DIR/pubspec.yaml" -nt "$FLUTTER_TOOLS_DIR/pubspec.lock" ]; then
|
||||
mkdir -p "$FLUTTER_ROOT/bin/cache"
|
||||
touch "$FLUTTER_ROOT/bin/cache/.dartignore"
|
||||
"$FLUTTER_ROOT/bin/internal/update_dart_sdk.sh"
|
||||
|
||||
echo Building flutter tool...
|
||||
LOCAL_PUB_ENV="$PUB_ENVIRONMENT"
|
||||
if [ "$TRAVIS" == "true" ] || [ "$BOT" == "true" ] || [ "$CONTINUOUS_INTEGRATION" == "true" ] || [ "$CHROME_HEADLESS" == "1" ] || [ "$APPVEYOR" == "true" ] || [ "$CI" == "true" ]; then
|
||||
LOCAL_PUB_ENV="$LOCAL_PUB_ENV:flutter_bot"
|
||||
fi
|
||||
LOCAL_PUB_ENV="$LOCAL_PUB_ENV:flutter_install"
|
||||
while : ; do
|
||||
cd "$FLUTTER_TOOLS_DIR"
|
||||
PUB_ENVIRONMENT="$LOCAL_PUB_ENV" "$PUB" upgrade --verbosity=error --no-packages-dir && break
|
||||
echo Error: Unable to 'pub upgrade' flutter tool. Retrying in five seconds...
|
||||
sleep 5
|
||||
done
|
||||
"$DART" --snapshot="$SNAPSHOT_PATH" --packages="$FLUTTER_TOOLS_DIR/.packages" "$SCRIPT_PATH"
|
||||
echo $REVISION > "$STAMP_PATH"
|
||||
fi
|
||||
) 3< "$PROG_NAME"
|
||||
|
||||
set +e
|
||||
"$DART" $FLUTTER_TOOL_ARGS "$SNAPSHOT_PATH" "$@"
|
||||
|
|
|
@ -24,7 +24,6 @@ SET script_path=%flutter_tools_dir%\bin\flutter_tools.dart
|
|||
SET dart_sdk_path=%cache_dir%\dart-sdk
|
||||
SET dart_stamp_path=%cache_dir%\dart-sdk.stamp
|
||||
SET dart_version_path=%FLUTTER_ROOT%\bin\internal\dart-sdk.version
|
||||
SET pub_cache_path=%FLUTTER_ROOT%\.pub-cache
|
||||
|
||||
SET dart=%dart_sdk_path%\bin\dart.exe
|
||||
SET pub=%dart_sdk_path%\bin\pub.bat
|
||||
|
@ -107,9 +106,6 @@ GOTO :after_subroutine
|
|||
SET PUB_ENVIRONMENT=%PUB_ENVIRONMENT%:flutter_bot
|
||||
:not_on_bot
|
||||
SET PUB_ENVIRONMENT=%PUB_ENVIRONMENT%:flutter_install
|
||||
IF "%PUB_CACHE%" == "" (
|
||||
IF EXIST "%pub_cache_path%" SET PUB_CACHE=%pub_cache_path%
|
||||
)
|
||||
:retry_pub_upgrade
|
||||
CALL "%pub%" upgrade --verbosity=error --no-packages-dir
|
||||
IF "%ERRORLEVEL%" NEQ "0" (
|
||||
|
|
|
@ -3,29 +3,20 @@ set -e
|
|||
|
||||
# If you want to run this script locally, make sure you run it from
|
||||
# the root of the flutter repository.
|
||||
export FLUTTER_ROOT="$PWD"
|
||||
|
||||
# This is called from travis_upload.sh on Travis.
|
||||
|
||||
# Make sure dart is installed
|
||||
bin/flutter --version
|
||||
|
||||
# If the pub cache directory exists in the root, then use that.
|
||||
FLUTTER_PUB_CACHE="$FLUTTER_ROOT/.pub-cache"
|
||||
if [ -d "$FLUTTER_PUB_CACHE" ]; then
|
||||
# This has to be exported, because pub interprets setting it
|
||||
# to the empty string in the same way as setting it to ".".
|
||||
export PUB_CACHE="${PUB_CACHE:-"$FLUTTER_PUB_CACHE"}"
|
||||
fi
|
||||
|
||||
# Install dartdoc.
|
||||
bin/cache/dart-sdk/bin/pub global activate dartdoc 0.14.1
|
||||
|
||||
# This script generates a unified doc set, and creates
|
||||
# a custom index.html, placing everything into dev/docs/doc.
|
||||
(cd dev/tools; ../../bin/cache/dart-sdk/bin/pub get)
|
||||
bin/cache/dart-sdk/bin/dart dev/tools/dartdoc.dart
|
||||
bin/cache/dart-sdk/bin/dart dev/tools/java_and_objc_doc.dart
|
||||
FLUTTER_ROOT=$PWD bin/cache/dart-sdk/bin/dart dev/tools/dartdoc.dart
|
||||
FLUTTER_ROOT=$PWD bin/cache/dart-sdk/bin/dart dev/tools/java_and_objc_doc.dart
|
||||
|
||||
# Ensure google webmaster tools can verify our site.
|
||||
cp dev/docs/google2ed1af765c529f57.html dev/docs/doc
|
||||
|
|
|
@ -14,7 +14,6 @@ final String flutterRoot = path.dirname(path.dirname(path.dirname(path.fromUri(P
|
|||
final String flutter = path.join(flutterRoot, 'bin', Platform.isWindows ? 'flutter.bat' : 'flutter');
|
||||
final String dart = path.join(flutterRoot, 'bin', 'cache', 'dart-sdk', 'bin', Platform.isWindows ? 'dart.exe' : 'dart');
|
||||
final String pub = path.join(flutterRoot, 'bin', 'cache', 'dart-sdk', 'bin', Platform.isWindows ? 'pub.bat' : 'pub');
|
||||
final String pubCache = path.join(flutterRoot, '.pub-cache');
|
||||
final String flutterTestArgs = Platform.environment['FLUTTER_TEST_ARGS'];
|
||||
final bool hasColor = stdout.supportsAnsiEscapes;
|
||||
|
||||
|
@ -205,12 +204,8 @@ Future<Null> _pubRunTest(
|
|||
final List<String> args = <String>['run', 'test', '-j1', '-rexpanded'];
|
||||
if (testPath != null)
|
||||
args.add(testPath);
|
||||
final Map<String, String> pubEnvironment = <String, String>{'DART_VM_OPTIONS': '--assert-initializer'};
|
||||
if (new Directory(pubCache).existsSync()) {
|
||||
pubEnvironment['PUB_CACHE'] = pubCache;
|
||||
}
|
||||
return _runCommand(pub, args, workingDirectory: workingDirectory,
|
||||
environment: pubEnvironment);
|
||||
environment: <String, String>{'DART_VM_OPTIONS': '--assert-initializer'});
|
||||
}
|
||||
|
||||
class EvalResult {
|
||||
|
|
|
@ -65,25 +65,14 @@ dependencies:
|
|||
}
|
||||
new File('dev/docs/lib/temp_doc.dart').writeAsStringSync(contents.toString());
|
||||
|
||||
final String flutterRoot = Directory.current.path;
|
||||
final Map<String, String> pubEnvironment = <String, String>{
|
||||
'FLUTTER_ROOT': flutterRoot,
|
||||
};
|
||||
|
||||
// If there's a .pub-cache dir in the flutter root, use that.
|
||||
final String pubCachePath = '$flutterRoot/.pub-cache';
|
||||
if (new Directory(pubCachePath).existsSync()) {
|
||||
pubEnvironment['PUB_CACHE'] = pubCachePath;
|
||||
}
|
||||
|
||||
final String pubExecutable = '$flutterRoot/bin/cache/dart-sdk/bin/pub';
|
||||
|
||||
// Run pub.
|
||||
Process process = await Process.start(
|
||||
pubExecutable,
|
||||
'../../bin/cache/dart-sdk/bin/pub',
|
||||
<String>['get'],
|
||||
workingDirectory: 'dev/docs',
|
||||
environment: pubEnvironment,
|
||||
environment: <String, String>{
|
||||
'FLUTTER_ROOT': Directory.current.path,
|
||||
},
|
||||
);
|
||||
printStream(process.stdout, prefix: 'pub:stdout: ');
|
||||
printStream(process.stderr, prefix: 'pub:stderr: ');
|
||||
|
@ -95,10 +84,9 @@ dependencies:
|
|||
|
||||
// Verify which version of dartdoc we're using.
|
||||
final ProcessResult result = Process.runSync(
|
||||
pubExecutable,
|
||||
'../../bin/cache/dart-sdk/bin/pub',
|
||||
<String>['global', 'run', 'dartdoc', '--version'],
|
||||
workingDirectory: 'dev/docs',
|
||||
environment: pubEnvironment,
|
||||
);
|
||||
print('\n${result.stdout}');
|
||||
|
||||
|
@ -125,10 +113,9 @@ dependencies:
|
|||
}
|
||||
|
||||
process = await Process.start(
|
||||
pubExecutable,
|
||||
'../../bin/cache/dart-sdk/bin/pub',
|
||||
args,
|
||||
workingDirectory: 'dev/docs',
|
||||
environment: pubEnvironment,
|
||||
);
|
||||
printStream(process.stdout, prefix: 'dartdoc:stdout: ',
|
||||
filter: kVerbose ? const <Pattern>[] : <Pattern>[
|
||||
|
|
|
@ -148,26 +148,16 @@ List<String> _pubCommand(List<String> arguments) {
|
|||
///
|
||||
/// [context] provides extra information to package server requests to
|
||||
/// understand usage. It must match the regular expression `[a-z][a-z_]*[a-z]`.
|
||||
Map<String, String> _createPubEnvironment(String context) {
|
||||
final Map<String, String> environment = <String, String>{
|
||||
'FLUTTER_ROOT': Cache.flutterRoot,
|
||||
_pubEnvironmentKey: _getPubEnvironmentValue(context),
|
||||
};
|
||||
final String pubCache = _getRootPubCacheIfAvailable();
|
||||
if (pubCache != null) {
|
||||
environment[_pubCacheEnvironmentKey] = pubCache;
|
||||
}
|
||||
return environment;
|
||||
}
|
||||
Map<String, String> _createPubEnvironment(String context) => <String, String>{
|
||||
'FLUTTER_ROOT': Cache.flutterRoot,
|
||||
_pubEnvironmentKey: _getPubEnvironmentValue(context),
|
||||
};
|
||||
|
||||
final RegExp _analyzerWarning = new RegExp(r'^! \w+ [^ ]+ from path \.\./\.\./bin/cache/dart-sdk/lib/\w+$');
|
||||
|
||||
/// The console environment key used by the pub tool.
|
||||
const String _pubEnvironmentKey = 'PUB_ENVIRONMENT';
|
||||
|
||||
/// The console environment key used by the pub tool to find the cache directory.
|
||||
const String _pubCacheEnvironmentKey = 'PUB_CACHE';
|
||||
|
||||
final RegExp _validContext = new RegExp('[a-z][a-z_]*[a-z]');
|
||||
|
||||
/// Returns the environment value that should be used when running pub.
|
||||
|
@ -199,21 +189,6 @@ String _getPubEnvironmentValue(String pubContext) {
|
|||
return values.join(':');
|
||||
}
|
||||
|
||||
String _getRootPubCacheIfAvailable() {
|
||||
if (platform.environment.containsKey(_pubCacheEnvironmentKey)) {
|
||||
return platform.environment[_pubCacheEnvironmentKey];
|
||||
}
|
||||
|
||||
final String cachePath = fs.path.join(Cache.flutterRoot, '.pub-cache');
|
||||
if (fs.directory(cachePath).existsSync()) {
|
||||
printTrace('Using $cachePath for the pub cache.');
|
||||
return cachePath;
|
||||
}
|
||||
|
||||
// Use pub's default location by returning null.
|
||||
return null;
|
||||
}
|
||||
|
||||
String _filterOverrideWarnings(String message) {
|
||||
// This function filters out these three messages:
|
||||
// Warning: You are using these overridden dependencies:
|
||||
|
|
|
@ -8,9 +8,7 @@ import 'package:file/file.dart';
|
|||
import 'package:file/memory.dart';
|
||||
import 'package:flutter_tools/src/base/context.dart';
|
||||
import 'package:flutter_tools/src/base/io.dart';
|
||||
import 'package:flutter_tools/src/base/platform.dart';
|
||||
import 'package:flutter_tools/src/dart/pub.dart';
|
||||
|
||||
import 'package:mockito/mockito.dart';
|
||||
import 'package:process/process.dart';
|
||||
import 'package:quiver/testing/async.dart';
|
||||
|
@ -28,8 +26,8 @@ void main() {
|
|||
expect(processMock.lastPubEnvironmment, isNull);
|
||||
pubGet(context: 'flutter_tests', checkLastModified: false).then((Null value) {
|
||||
error = 'test completed unexpectedly';
|
||||
}, onError: (dynamic thrownError) {
|
||||
error = 'test failed unexpectedly: $thrownError';
|
||||
}, onError: (dynamic error) {
|
||||
error = 'test failed unexpectedly';
|
||||
});
|
||||
expect(testLogger.statusText, '');
|
||||
time.elapse(const Duration(milliseconds: 500));
|
||||
|
@ -38,7 +36,6 @@ void main() {
|
|||
'pub get failed (69) -- attempting retry 1 in 1 second...\n'
|
||||
);
|
||||
expect(processMock.lastPubEnvironmment, contains('flutter_cli:ctx_flutter_tests'));
|
||||
expect(processMock.lastPubCache, isNull);
|
||||
time.elapse(const Duration(milliseconds: 500));
|
||||
expect(testLogger.statusText,
|
||||
'Running "flutter packages get" in /...\n'
|
||||
|
@ -83,55 +80,6 @@ void main() {
|
|||
ProcessManager: () => new MockProcessManager(69),
|
||||
FileSystem: () => new MockFileSystem(),
|
||||
});
|
||||
|
||||
testUsingContext('pub cache in root is used', () async {
|
||||
String error;
|
||||
|
||||
final MockProcessManager processMock = context.getVariable(ProcessManager);
|
||||
|
||||
new FakeAsync().run((FakeAsync time) {
|
||||
MockDirectory.findCache = true;
|
||||
expect(processMock.lastPubEnvironmment, isNull);
|
||||
expect(processMock.lastPubCache, isNull);
|
||||
pubGet(context: 'flutter_tests', checkLastModified: false).then((Null value) {
|
||||
error = 'test completed unexpectedly';
|
||||
}, onError: (dynamic thrownError) {
|
||||
error = 'test failed unexpectedly: $thrownError';
|
||||
});
|
||||
time.elapse(const Duration(milliseconds: 500));
|
||||
expect(processMock.lastPubCache, endsWith('flutter/.pub-cache'));
|
||||
expect(error, isNull);
|
||||
});
|
||||
}, overrides: <Type, Generator>{
|
||||
ProcessManager: () => new MockProcessManager(69),
|
||||
FileSystem: () => new MockFileSystem(),
|
||||
});
|
||||
|
||||
testUsingContext('pub cache in environment is used', () async {
|
||||
String error;
|
||||
|
||||
final MockProcessManager processMock = context.getVariable(ProcessManager);
|
||||
|
||||
new FakeAsync().run((FakeAsync time) {
|
||||
MockDirectory.findCache = false;
|
||||
expect(processMock.lastPubEnvironmment, isNull);
|
||||
expect(processMock.lastPubCache, isNull);
|
||||
pubGet(context: 'flutter_tests', checkLastModified: false).then((Null value) {
|
||||
error = 'test completed unexpectedly';
|
||||
}, onError: (dynamic thrownError) {
|
||||
error = 'test failed unexpectedly: $thrownError';
|
||||
});
|
||||
time.elapse(const Duration(milliseconds: 500));
|
||||
expect(processMock.lastPubCache, equals('path/to/pub-cache'));
|
||||
expect(error, isNull);
|
||||
});
|
||||
}, overrides: <Type, Generator>{
|
||||
ProcessManager: () => new MockProcessManager(69),
|
||||
FileSystem: () => new MockFileSystem(),
|
||||
Platform: () => new FakePlatform(
|
||||
environment: <String, String>{'PUB_CACHE': 'path/to/pub-cache'},
|
||||
),
|
||||
});
|
||||
}
|
||||
|
||||
typedef void StartCallback(List<dynamic> command);
|
||||
|
@ -142,7 +90,6 @@ class MockProcessManager implements ProcessManager {
|
|||
final int fakeExitCode;
|
||||
|
||||
String lastPubEnvironmment;
|
||||
String lastPubCache;
|
||||
|
||||
@override
|
||||
Future<Process> start(
|
||||
|
@ -154,7 +101,6 @@ class MockProcessManager implements ProcessManager {
|
|||
ProcessStartMode mode: ProcessStartMode.NORMAL,
|
||||
}) {
|
||||
lastPubEnvironmment = environment['PUB_ENVIRONMENT'];
|
||||
lastPubCache = environment['PUB_CACHE'];
|
||||
return new Future<Process>.value(new MockProcess(fakeExitCode));
|
||||
}
|
||||
|
||||
|
@ -213,11 +159,6 @@ class MockFileSystem extends MemoryFileSystem {
|
|||
File file(dynamic path) {
|
||||
return new MockFile();
|
||||
}
|
||||
|
||||
@override
|
||||
Directory directory(dynamic path) {
|
||||
return new MockDirectory(path);
|
||||
}
|
||||
}
|
||||
|
||||
class MockFile implements File {
|
||||
|
@ -236,19 +177,4 @@ class MockFile implements File {
|
|||
dynamic noSuchMethod(Invocation invocation) => null;
|
||||
}
|
||||
|
||||
class MockDirectory implements Directory {
|
||||
static bool findCache = false;
|
||||
|
||||
MockDirectory(this.path);
|
||||
|
||||
@override
|
||||
final String path;
|
||||
|
||||
@override
|
||||
bool existsSync() => findCache && path.endsWith('.pub-cache');
|
||||
|
||||
@override
|
||||
dynamic noSuchMethod(Invocation invocation) => null;
|
||||
}
|
||||
|
||||
class MockRandomAccessFile extends Mock implements RandomAccessFile {}
|
||||
|
|
Loading…
Reference in a new issue