@@ -15,7 +15,8 @@ import 'package:gen_keycodes/keyboard_maps_code_gen.dart';
15
15
import 'package:gen_keycodes/logical_key_data.dart' ;
16
16
import 'package:gen_keycodes/macos_code_gen.dart' ;
17
17
import 'package:gen_keycodes/physical_key_data.dart' ;
18
- import 'package:gen_keycodes/testing_key_codes_gen.dart' ;
18
+ import 'package:gen_keycodes/testing_key_codes_cc_gen.dart' ;
19
+ import 'package:gen_keycodes/testing_key_codes_java_gen.dart' ;
19
20
import 'package:gen_keycodes/utils.dart' ;
20
21
import 'package:gen_keycodes/web_code_gen.dart' ;
21
22
import 'package:gen_keycodes/windows_code_gen.dart' ;
@@ -81,6 +82,15 @@ bool _assertsEnabled() {
81
82
return enabledAsserts;
82
83
}
83
84
85
+ Future <void > generate (String name, String outDir, BaseCodeGenerator generator) {
86
+ final File codeFile = File (outDir);
87
+ if (! codeFile.existsSync ()) {
88
+ codeFile.createSync (recursive: true );
89
+ }
90
+ print ('Writing ${name .padRight (15 )}${codeFile .absolute }' );
91
+ return codeFile.writeAsString (generator.generate ());
92
+ }
93
+
84
94
Future <void > main (List <String > rawArguments) async {
85
95
if (! _assertsEnabled ()) {
86
96
print ('The gen_keycodes script must be run with --enable-asserts.' );
@@ -208,27 +218,20 @@ Future<void> main(List<String> rawArguments) async {
208
218
209
219
final Map <String , bool > layoutGoals = parseMapOfBool (readDataFile ('layout_goals.json' ));
210
220
211
- final File codeFile = File (parsedArguments['code' ] as String );
212
- if (! codeFile.existsSync ()) {
213
- codeFile.createSync (recursive: true );
214
- }
215
- print ('Writing ${'key codes' .padRight (15 )}${codeFile .absolute }' );
216
- await codeFile.writeAsString (KeyboardKeysCodeGenerator (physicalData, logicalData).generate ());
217
-
218
- final File mapsFile = File (parsedArguments['maps' ] as String );
219
- if (! mapsFile.existsSync ()) {
220
- mapsFile.createSync (recursive: true );
221
- }
222
- print ('Writing ${'key maps' .padRight (15 )}${mapsFile .absolute }' );
223
- await mapsFile.writeAsString (KeyboardMapsCodeGenerator (physicalData, logicalData).generate ());
224
-
225
- final File keyCodesFile = File (path.join (PlatformCodeGenerator .engineRoot,
226
- 'shell' , 'platform' , 'embedder' , 'test_utils' , 'key_codes.h' ));
227
- if (! mapsFile.existsSync ()) {
228
- mapsFile.createSync (recursive: true );
229
- }
230
- print ('Writing ${'engine key codes' .padRight (15 )}${mapsFile .absolute }' );
231
- await keyCodesFile.writeAsString (KeyCodesCcGenerator (physicalData, logicalData).generate ());
221
+ await generate ('key codes' ,
222
+ parsedArguments['code' ] as String ,
223
+ KeyboardKeysCodeGenerator (physicalData, logicalData));
224
+ await generate ('key maps' ,
225
+ parsedArguments['maps' ] as String ,
226
+ KeyboardMapsCodeGenerator (physicalData, logicalData));
227
+ await generate ('engine utils' ,
228
+ path.join (PlatformCodeGenerator .engineRoot,
229
+ 'shell' , 'platform' , 'embedder' , 'test_utils' , 'key_codes.h' ),
230
+ KeyCodesCcGenerator (physicalData, logicalData));
231
+ await generate ('android utils' ,
232
+ path.join (PlatformCodeGenerator .engineRoot, 'shell' , 'platform' ,
233
+ path.join ('android' , 'test' , 'io' , 'flutter' , 'util' , 'KeyCodes.java' )),
234
+ KeyCodesJavaGenerator (physicalData, logicalData));
232
235
233
236
final Map <String , PlatformCodeGenerator > platforms = < String , PlatformCodeGenerator > {
234
237
'android' : AndroidCodeGenerator (
@@ -265,11 +268,8 @@ Future<void> main(List<String> rawArguments) async {
265
268
await Future .wait (platforms.entries.map ((MapEntry <String , PlatformCodeGenerator > entry) {
266
269
final String platform = entry.key;
267
270
final PlatformCodeGenerator codeGenerator = entry.value;
268
- final File platformFile = File (codeGenerator.outputPath (platform));
269
- if (! platformFile.existsSync ()) {
270
- platformFile.createSync (recursive: true );
271
- }
272
- print ('Writing ${'$platform map' .padRight (15 )}${platformFile .absolute }' );
273
- return platformFile.writeAsString (codeGenerator.generate ());
271
+ return generate ('$platform map' ,
272
+ codeGenerator.outputPath (platform),
273
+ codeGenerator);
274
274
}));
275
275
}
0 commit comments