Skip to content

Commit 66a64b2

Browse files
authored
🔊 Better stdouts (#593)
## What does this change? - Addresses #592 (comment) - Make logs prettier ## Type of change - [x] Bug fix (non-breaking change which fixes an issue)
1 parent 1f4f6cc commit 66a64b2

File tree

11 files changed

+787
-50
lines changed

11 files changed

+787
-50
lines changed

‎packages/command/bin/flutter_gen_command.dart

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@ import 'dart:io';
33
import 'package:args/args.dart';
44
import 'package:flutter_gen_core/flutter_generator.dart';
55
import 'package:flutter_gen_core/utils/cast.dart';
6-
import 'package:flutter_gen_core/utils/version.dart';
6+
import 'package:flutter_gen_core/version.gen.dart';
7+
78

89
void main(List<String> args) {
910
final parser = ArgParser();
@@ -42,7 +43,7 @@ void main(List<String> args) {
4243
stdout.writeln(parser.usage);
4344
return;
4445
} else if (results.wasParsed('version')) {
45-
stdout.writeln(flutterGenVersion);
46+
stdout.writeln('FlutterGen v$packageVersion');
4647
return;
4748
}
4849
} on FormatException catch (e) {

‎packages/command/test/flutter_gen_command_test.dart

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
import 'dart:io' show Platform;
22

3-
import 'package:flutter_gen_core/utils/version.dart';
3+
import 'package:flutter_gen_core/version.gen.dart';
44
import 'package:test/test.dart';
55
import 'package:test_process/test_process.dart';
66

7+
78
final separator = Platform.pathSeparator;
89

910
void main() {
@@ -14,7 +15,7 @@ void main() {
1415
);
1516
expect(
1617
await process.stdout.next,
17-
equals('$flutterGenVersion Loading ...'),
18+
equals('[FlutterGen] v$packageVersion Loading ...'),
1819
);
1920
await process.shouldExit(0);
2021
});
@@ -26,7 +27,7 @@ void main() {
2627
);
2728
expect(
2829
await process.stdout.next,
29-
equals('$flutterGenVersion Loading ...'),
30+
equals('[FlutterGen] v$packageVersion Loading ...'),
3031
);
3132
await process.shouldExit(0);
3233
});
@@ -48,7 +49,7 @@ void main() {
4849
'dart',
4950
['bin/flutter_gen_command.dart', '--version'],
5051
);
51-
expect(await process.stdout.next, equals(flutterGenVersion));
52+
expect(await process.stdout.next, equals('[FlutterGen] v$packageVersion'));
5253
await process.shouldExit(0);
5354
});
5455

‎packages/core/lib/flutter_generator.dart

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ class FlutterGenerator {
5555
final colorsPath =
5656
normalize(join(pubspecFile.parent.path, output, colorsName));
5757
writer(generated, colorsPath);
58-
stdout.writeln('Generated: $colorsPath');
58+
stdout.writeln('[FlutterGen] Generated: $colorsPath');
5959
}
6060

6161
if (flutterGen.assets.enabled && flutter.assets.isNotEmpty) {
@@ -66,7 +66,7 @@ class FlutterGenerator {
6666
final assetsPath =
6767
normalize(join(pubspecFile.parent.path, output, assetsName));
6868
writer(generated, assetsPath);
69-
stdout.writeln('Generated: $assetsPath');
69+
stdout.writeln('[FlutterGen] Generated: $assetsPath');
7070
}
7171

7272
if (flutterGen.fonts.enabled && flutter.fonts.isNotEmpty) {
@@ -77,9 +77,9 @@ class FlutterGenerator {
7777
final fontsPath =
7878
normalize(join(pubspecFile.parent.path, output, fontsName));
7979
writer(generated, fontsPath);
80-
stdout.writeln('Generated: $fontsPath');
80+
stdout.writeln('[FlutterGen] Generated: $fontsPath');
8181
}
8282

83-
stdout.writeln('FlutterGen finished.');
83+
stdout.writeln('[FlutterGen] Finished generating.');
8484
}
8585
}

‎packages/core/lib/settings/config.dart

Lines changed: 29 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import 'package:flutter_gen_core/settings/config_default.dart';
44
import 'package:flutter_gen_core/settings/pubspec.dart';
55
import 'package:flutter_gen_core/utils/error.dart';
66
import 'package:flutter_gen_core/utils/map.dart';
7-
import 'package:flutter_gen_core/utils/version.dart';
7+
import 'package:flutter_gen_core/version.gen.dart';
88
import 'package:path/path.dart';
99
import 'package:yaml/yaml.dart';
1010

@@ -20,9 +20,7 @@ Config loadPubspecConfig(File pubspecFile, {File? buildFile}) {
2020
join(basename(pubspecFile.parent.path), basename(pubspecFile.path)),
2121
);
2222

23-
stdout.writeln(
24-
'$flutterGenVersion Loading ...',
25-
);
23+
stdout.writeln('[FlutterGen] v$packageVersion Loading ...');
2624

2725
final defaultMap = loadYaml(configDefaultYamlContent) as Map?;
2826

@@ -31,23 +29,35 @@ Config loadPubspecConfig(File pubspecFile, {File? buildFile}) {
3129

3230
var mergedMap = mergeMap([defaultMap, pubspecMap]);
3331
stdout.writeln(
34-
'Reading FlutterGen options from $pubspecLocaleHint',
32+
'[FlutterGen] Reading options from $pubspecLocaleHint',
3533
);
3634

37-
if (buildFile != null && buildFile.existsSync()) {
38-
final buildContent = buildFile.readAsStringSync();
39-
final rawMap = loadYaml(buildContent) as Map?;
40-
final builders = rawMap?['targets']?[r'$default']?['builders'];
41-
final optionBuildMap = (builders?['flutter_gen_runner'] ??
42-
builders?['flutter_gen'])?['options'];
43-
if (optionBuildMap is YamlMap) {
44-
final buildMap = {'flutter_gen': optionBuildMap};
45-
mergedMap = mergeMap([mergedMap, buildMap]);
46-
final buildLocaleHint = normalize(
47-
join(basename(buildFile.parent.path), basename(buildFile.path)),
48-
);
49-
stdout.writeln(
50-
'Reading FlutterGen options from $buildLocaleHint',
35+
if (buildFile != null) {
36+
if (buildFile.existsSync()) {
37+
final buildContent = buildFile.readAsStringSync();
38+
final rawMap = loadYaml(buildContent) as Map?;
39+
final builders = rawMap?['targets']?[r'$default']?['builders'];
40+
final optionBuildMap = (builders?['flutter_gen_runner'] ??
41+
builders?['flutter_gen'])?['options'];
42+
if (optionBuildMap is YamlMap && optionBuildMap.isNotEmpty) {
43+
final buildMap = {'flutter_gen': optionBuildMap};
44+
mergedMap = mergeMap([mergedMap, buildMap]);
45+
final buildLocaleHint = normalize(
46+
join(basename(buildFile.parent.path), basename(buildFile.path)),
47+
);
48+
stdout.writeln(
49+
'[FlutterGen] Reading options from $buildLocaleHint',
50+
);
51+
} else {
52+
stderr.writeln(
53+
'[FlutterGen] Specified ${buildFile.path} as input but the file '
54+
'does not contain valid options, ignoring...',
55+
);
56+
}
57+
} else {
58+
stderr.writeln(
59+
'[FlutterGen] Specified ${buildFile.path} as input but the file '
60+
'does not exists.',
5161
);
5262
}
5363
}

‎packages/core/lib/utils/version.dart

Lines changed: 0 additions & 3 deletions
This file was deleted.

‎packages/core/test/assets_gen_test.dart

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -230,8 +230,20 @@ void main() {
230230
'Assets on pubspec_assets.yaml and override with build_runner_assets.yaml ',
231231
() async {
232232
const pubspec = 'test_resources/pubspec_assets.yaml';
233-
const build = 'test_resources/build_runnfer_assets.yaml';
234-
const fact = 'test_resources/actual_data/build_assets.gen.dart';
233+
const build = 'test_resources/build_runner_assets.yaml';
234+
const fact = 'test_resources/actual_data/build_runner_assets.gen.dart';
235+
const generated = 'test_resources/lib/build_gen/assets.gen.dart';
236+
237+
await expectedAssetsGen(pubspec, generated, fact, build: build);
238+
},
239+
);
240+
241+
test(
242+
'Assets on pubspec_assets.yaml and override with build_empty.yaml ',
243+
() async {
244+
const pubspec = 'test_resources/pubspec_assets.yaml';
245+
const build = 'test_resources/build_empty.yaml';
246+
const fact = 'test_resources/actual_data/build_empty.gen.dart';
235247
const generated = 'test_resources/lib/build_gen/assets.gen.dart';
236248

237249
await expectedAssetsGen(pubspec, generated, fact, build: build);

‎packages/core/test_resources/actual_data/build_assets.gen.dart

Lines changed: 8 additions & 16 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)