Skip to content

Commit

Permalink
🔊 Better stdouts (#593)
Browse files Browse the repository at this point in the history
## What does this change?

- Addresses
#592 (comment)
- Make logs prettier

## Type of change

- [x] Bug fix (non-breaking change which fixes an issue)
  • Loading branch information
AlexV525 authored Oct 22, 2024
1 parent 1f4f6cc commit 66a64b2
Show file tree
Hide file tree
Showing 11 changed files with 787 additions and 50 deletions.
5 changes: 3 additions & 2 deletions packages/command/bin/flutter_gen_command.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@ import 'dart:io';
import 'package:args/args.dart';
import 'package:flutter_gen_core/flutter_generator.dart';
import 'package:flutter_gen_core/utils/cast.dart';
import 'package:flutter_gen_core/utils/version.dart';
import 'package:flutter_gen_core/version.gen.dart';


void main(List<String> args) {
final parser = ArgParser();
Expand Down Expand Up @@ -42,7 +43,7 @@ void main(List<String> args) {
stdout.writeln(parser.usage);
return;
} else if (results.wasParsed('version')) {
stdout.writeln(flutterGenVersion);
stdout.writeln('FlutterGen v$packageVersion');
return;
}
} on FormatException catch (e) {
Expand Down
9 changes: 5 additions & 4 deletions packages/command/test/flutter_gen_command_test.dart
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
import 'dart:io' show Platform;

import 'package:flutter_gen_core/utils/version.dart';
import 'package:flutter_gen_core/version.gen.dart';
import 'package:test/test.dart';
import 'package:test_process/test_process.dart';


final separator = Platform.pathSeparator;

void main() {
Expand All @@ -14,7 +15,7 @@ void main() {
);
expect(
await process.stdout.next,
equals('$flutterGenVersion Loading ...'),
equals('[FlutterGen] v$packageVersion Loading ...'),
);
await process.shouldExit(0);
});
Expand All @@ -26,7 +27,7 @@ void main() {
);
expect(
await process.stdout.next,
equals('$flutterGenVersion Loading ...'),
equals('[FlutterGen] v$packageVersion Loading ...'),
);
await process.shouldExit(0);
});
Expand All @@ -48,7 +49,7 @@ void main() {
'dart',
['bin/flutter_gen_command.dart', '--version'],
);
expect(await process.stdout.next, equals(flutterGenVersion));
expect(await process.stdout.next, equals('[FlutterGen] v$packageVersion'));
await process.shouldExit(0);
});

Expand Down
8 changes: 4 additions & 4 deletions packages/core/lib/flutter_generator.dart
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ class FlutterGenerator {
final colorsPath =
normalize(join(pubspecFile.parent.path, output, colorsName));
writer(generated, colorsPath);
stdout.writeln('Generated: $colorsPath');
stdout.writeln('[FlutterGen] Generated: $colorsPath');
}

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

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

stdout.writeln('FlutterGen finished.');
stdout.writeln('[FlutterGen] Finished generating.');
}
}
48 changes: 29 additions & 19 deletions packages/core/lib/settings/config.dart
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import 'package:flutter_gen_core/settings/config_default.dart';
import 'package:flutter_gen_core/settings/pubspec.dart';
import 'package:flutter_gen_core/utils/error.dart';
import 'package:flutter_gen_core/utils/map.dart';
import 'package:flutter_gen_core/utils/version.dart';
import 'package:flutter_gen_core/version.gen.dart';
import 'package:path/path.dart';
import 'package:yaml/yaml.dart';

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

stdout.writeln(
'$flutterGenVersion Loading ...',
);
stdout.writeln('[FlutterGen] v$packageVersion Loading ...');

final defaultMap = loadYaml(configDefaultYamlContent) as Map?;

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

var mergedMap = mergeMap([defaultMap, pubspecMap]);
stdout.writeln(
'Reading FlutterGen options from $pubspecLocaleHint',
'[FlutterGen] Reading options from $pubspecLocaleHint',
);

if (buildFile != null && buildFile.existsSync()) {
final buildContent = buildFile.readAsStringSync();
final rawMap = loadYaml(buildContent) as Map?;
final builders = rawMap?['targets']?[r'$default']?['builders'];
final optionBuildMap = (builders?['flutter_gen_runner'] ??
builders?['flutter_gen'])?['options'];
if (optionBuildMap is YamlMap) {
final buildMap = {'flutter_gen': optionBuildMap};
mergedMap = mergeMap([mergedMap, buildMap]);
final buildLocaleHint = normalize(
join(basename(buildFile.parent.path), basename(buildFile.path)),
);
stdout.writeln(
'Reading FlutterGen options from $buildLocaleHint',
if (buildFile != null) {
if (buildFile.existsSync()) {
final buildContent = buildFile.readAsStringSync();
final rawMap = loadYaml(buildContent) as Map?;
final builders = rawMap?['targets']?[r'$default']?['builders'];
final optionBuildMap = (builders?['flutter_gen_runner'] ??
builders?['flutter_gen'])?['options'];
if (optionBuildMap is YamlMap && optionBuildMap.isNotEmpty) {
final buildMap = {'flutter_gen': optionBuildMap};
mergedMap = mergeMap([mergedMap, buildMap]);
final buildLocaleHint = normalize(
join(basename(buildFile.parent.path), basename(buildFile.path)),
);
stdout.writeln(
'[FlutterGen] Reading options from $buildLocaleHint',
);
} else {
stderr.writeln(
'[FlutterGen] Specified ${buildFile.path} as input but the file '
'does not contain valid options, ignoring...',
);
}
} else {
stderr.writeln(
'[FlutterGen] Specified ${buildFile.path} as input but the file '
'does not exists.',
);
}
}
Expand Down
3 changes: 0 additions & 3 deletions packages/core/lib/utils/version.dart

This file was deleted.

16 changes: 14 additions & 2 deletions packages/core/test/assets_gen_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -230,8 +230,20 @@ void main() {
'Assets on pubspec_assets.yaml and override with build_runner_assets.yaml ',
() async {
const pubspec = 'test_resources/pubspec_assets.yaml';
const build = 'test_resources/build_runnfer_assets.yaml';
const fact = 'test_resources/actual_data/build_assets.gen.dart';
const build = 'test_resources/build_runner_assets.yaml';
const fact = 'test_resources/actual_data/build_runner_assets.gen.dart';
const generated = 'test_resources/lib/build_gen/assets.gen.dart';

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

test(
'Assets on pubspec_assets.yaml and override with build_empty.yaml ',
() async {
const pubspec = 'test_resources/pubspec_assets.yaml';
const build = 'test_resources/build_empty.yaml';
const fact = 'test_resources/actual_data/build_empty.gen.dart';
const generated = 'test_resources/lib/build_gen/assets.gen.dart';

await expectedAssetsGen(pubspec, generated, fact, build: build);
Expand Down
24 changes: 8 additions & 16 deletions packages/core/test_resources/actual_data/build_assets.gen.dart

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 66a64b2

Please sign in to comment.