Skip to content

Commit

Permalink
feat: upgrade to mason_logger ^0.1.0-dev.12 (#434)
Browse files Browse the repository at this point in the history
  • Loading branch information
wolfenrain committed Jun 20, 2022
1 parent 93e10e1 commit f85da74
Show file tree
Hide file tree
Showing 11 changed files with 70 additions and 55 deletions.
14 changes: 7 additions & 7 deletions lib/src/cli/flutter_cli.dart
Original file line number Diff line number Diff line change
Expand Up @@ -65,18 +65,18 @@ class Flutter {
static Future<void> packagesGet({
String cwd = '.',
bool recursive = false,
void Function([String?]) Function(String message)? progress,
Logger? logger,
}) async {
await _runCommand(
cmd: (cwd) async {
final installDone = progress?.call(
final installProgress = logger?.progress(
'Running "flutter packages get" in $cwd',
);

try {
await _verifyGitDependencies(cwd);
} catch (_) {
installDone?.call();
installProgress?.fail();
rethrow;
}

Expand All @@ -87,7 +87,7 @@ class Flutter {
workingDirectory: cwd,
);
} finally {
installDone?.call();
installProgress?.complete();
}
},
cwd: cwd,
Expand Down Expand Up @@ -122,7 +122,7 @@ class Flutter {
String? excludeFromCoverage,
String? randomSeed,
List<String>? arguments,
void Function([String?]) Function(String message)? progress,
Logger? logger,
void Function(String)? stdout,
void Function(String)? stderr,
}) async {
Expand Down Expand Up @@ -157,7 +157,7 @@ class Flutter {
}

if (optimizePerformance) {
final optimizationDone = progress?.call('Optimizing tests');
final optimizationProgress = logger?.progress('Optimizing tests');
try {
final generator = await MasonGenerator.fromBundle(testRunnerBundle);
var vars = <String, dynamic>{'package-root': workingDirectory};
Expand All @@ -172,7 +172,7 @@ class Flutter {
fileConflictResolution: FileConflictResolution.overwrite,
);
} finally {
optimizationDone?.call();
optimizationProgress?.complete();
}
}

Expand Down
4 changes: 2 additions & 2 deletions lib/src/commands/create/create.dart
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ class CreateCommand extends Command<int> {
final description = _description;
final orgName = _orgName;
final template = _template;
final generateDone = _logger.progress('Bootstrapping');
final generateProgress = _logger.progress('Bootstrapping');
final generator = await _generator(template.bundle);
final android = _argResults['android'] as String? ?? 'true';
final ios = _argResults['ios'] as String? ?? 'true';
Expand All @@ -158,7 +158,7 @@ class CreateCommand extends Command<int> {
},
logger: _logger,
);
generateDone('Generated ${files.length} file(s)');
generateProgress.complete('Generated ${files.length} file(s)');

await template.onGenerateComplete(_logger, outputDirectory);

Expand Down
12 changes: 6 additions & 6 deletions lib/src/commands/create/templates/post_generate_actions.dart
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@ Future<void> installDartPackages(
) async {
final isFlutterInstalled = await Flutter.installed();
if (isFlutterInstalled) {
final installDependenciesDone = logger.progress(
final installDependenciesProgress = logger.progress(
'Running "flutter pub get" in ${outputDir.path}',
);
await Flutter.pubGet(cwd: outputDir.path);
installDependenciesDone();
installDependenciesProgress.complete();
}
}

Expand All @@ -25,11 +25,11 @@ Future<void> installFlutterPackages(
}) async {
final isFlutterInstalled = await Flutter.installed();
if (isFlutterInstalled) {
final installDependenciesDone = logger.progress(
final installDependenciesProgress = logger.progress(
'Running "flutter packages get" in ${outputDir.path}',
);
await Flutter.packagesGet(cwd: outputDir.path, recursive: recursive);
installDependenciesDone();
installDependenciesProgress.complete();
}
}

Expand All @@ -41,10 +41,10 @@ Future<void> applyDartFixes(
}) async {
final isDartInstalled = await Dart.installed();
if (isDartInstalled) {
final applyFixesDone = logger.progress(
final applyFixesProgress = logger.progress(
'Running "dart fix --apply" in ${outputDir.path}',
);
await Dart.applyFixes(cwd: outputDir.path, recursive: recursive);
applyFixesDone();
applyFixesProgress.complete();
}
}
2 changes: 1 addition & 1 deletion lib/src/commands/packages.dart
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ class PackagesGetCommand extends Command<int> {
await Flutter.packagesGet(
cwd: targetPath,
recursive: recursive,
progress: _logger.progress,
logger: _logger,
);
} on PubspecNotFound catch (_) {
_logger.err('Could not find a pubspec.yaml in $targetPath');
Expand Down
4 changes: 2 additions & 2 deletions lib/src/commands/test/test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ typedef FlutterTestCommand = Future<List<int>> Function({
String? excludeFromCoverage,
String? randomSeed,
List<String>? arguments,
void Function([String?]) Function(String message)? progress,
Logger? logger,
void Function(String)? stdout,
void Function(String)? stderr,
});
Expand Down Expand Up @@ -147,7 +147,7 @@ This command should be run from the root of your Flutter project.''',
optimizePerformance:
optimizePerformance && _argResults.rest.isEmpty && !updateGoldens,
recursive: recursive,
progress: _logger.progress,
logger: _logger,
stdout: _logger.write,
stderr: _logger.err,
collectCoverage: collectCoverage || minCoverage != null,
Expand Down
4 changes: 2 additions & 2 deletions pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ dependencies:
args: ^2.1.0
glob: ^2.0.2
lcov_parser: ^0.1.2
mason: ">=0.1.0-dev.17 <0.1.0-dev.18"
mason_logger: ">=0.1.0-dev.8 <0.1.0-dev.9"
mason: ">=0.1.0-dev.26 <0.1.0-dev.27"
mason_logger: ">=0.1.0-dev.13 <0.1.0-dev.14"
meta: ^1.3.0
path: ^1.8.0
pub_updater: ^0.2.1
Expand Down
6 changes: 5 additions & 1 deletion test/e2e_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,15 @@ class MockAnalytics extends Mock implements Analytics {}

class MockLogger extends Mock implements Logger {}

class MockProgress extends Mock implements Progress {}

void main() {
group(
'E2E',
() {
late Analytics analytics;
late Logger logger;
late Progress progress;
late VeryGoodCommandRunner commandRunner;

void _removeTemporaryFiles() {
Expand All @@ -42,7 +45,8 @@ void main() {
).thenAnswer((_) async {});

logger = MockLogger();
when(() => logger.progress(any())).thenReturn(([_]) {});
progress = MockProgress();
when(() => logger.progress(any())).thenReturn(progress);

commandRunner = VeryGoodCommandRunner(
analytics: analytics,
Expand Down
13 changes: 8 additions & 5 deletions test/helpers/command_helper.dart
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ class MockAnalytics extends Mock implements Analytics {}

class MockLogger extends Mock implements Logger {}

class MockProgress extends Mock implements Progress {}

class MockPubUpdater extends Mock implements PubUpdater {}

void Function() _overridePrint(void Function(List<String>) fn) {
Expand Down Expand Up @@ -38,6 +40,7 @@ void Function() withRunner(
return _overridePrint((printLogs) async {
final analytics = MockAnalytics();
final logger = MockLogger();
final progress = MockProgress();
final pubUpdater = MockPubUpdater();
final progressLogs = <String>[];
final commandRunner = VeryGoodCommandRunner(
Expand All @@ -54,11 +57,11 @@ void Function() withRunner(
when(
() => analytics.waitForLastPing(timeout: any(named: 'timeout')),
).thenAnswer((_) async {});
when(() => logger.progress(any())).thenReturn(
([_]) {
if (_ != null) progressLogs.add(_);
},
);
when(() => progress.complete(any())).thenAnswer((_) {
final message = _.positionalArguments.elementAt(0) as String?;
if (message != null) progressLogs.add(message);
});
when(() => logger.progress(any())).thenReturn(progress);
when(
() => pubUpdater.isUpToDate(
packageName: any(named: 'packageName'),
Expand Down
12 changes: 8 additions & 4 deletions test/src/cli/flutter_cli_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -233,6 +233,8 @@ dev_dependencies:

class MockLogger extends Mock implements Logger {}

class MockProgress extends Mock implements Progress {}

void main() {
final cwd = Directory.current;

Expand Down Expand Up @@ -351,10 +353,12 @@ void main() {

group('.test', () {
late Logger logger;
late Progress progress;

setUp(() {
logger = MockLogger();
when(() => logger.progress(any())).thenReturn(([_]) {});
progress = MockProgress();
when(() => logger.progress(any())).thenReturn(progress);
});

test('throws when there is no pubspec.yaml', () {
Expand Down Expand Up @@ -817,7 +821,7 @@ void main() {
optimizePerformance: true,
stdout: logger.write,
stderr: logger.err,
progress: logger.progress,
logger: logger,
),
completion(equals([ExitCode.success.code])),
);
Expand Down Expand Up @@ -854,7 +858,7 @@ void main() {
optimizePerformance: true,
stdout: logger.write,
stderr: logger.err,
progress: logger.progress,
logger: logger,
),
completion(equals([ExitCode.success.code])),
);
Expand Down Expand Up @@ -899,7 +903,7 @@ void main() {
optimizePerformance: true,
stdout: logger.write,
stderr: logger.err,
progress: logger.progress,
logger: logger,
),
completion(equals([ExitCode.success.code])),
);
Expand Down
14 changes: 9 additions & 5 deletions test/src/commands/create/create_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,8 @@ class MockAnalytics extends Mock implements Analytics {}

class MockLogger extends Mock implements Logger {}

class MockProgress extends Mock implements Progress {}

class MockPubUpdater extends Mock implements PubUpdater {}

class MockMasonGenerator extends Mock implements MasonGenerator {}
Expand All @@ -74,6 +76,7 @@ void main() {
late List<String> progressLogs;
late Analytics analytics;
late Logger logger;
late Progress progress;

final generatedFiles = List.filled(
62,
Expand All @@ -98,11 +101,12 @@ void main() {
).thenAnswer((_) async {});

logger = MockLogger();
when(() => logger.progress(any())).thenReturn(
([_]) {
if (_ != null) progressLogs.add(_);
},
);
progress = MockProgress();
when(() => progress.complete(any())).thenAnswer((_) {
final message = _.positionalArguments.elementAt(0) as String?;
if (message != null) progressLogs.add(message);
});
when(() => logger.progress(any())).thenReturn(progress);
});

test(
Expand Down
Loading

0 comments on commit f85da74

Please sign in to comment.