1010library language.working.macros.example.run;
1111
1212import 'dart:io' ;
13- import 'dart:isolate' ;
1413
1514import 'package:dart_style/dart_style.dart' ;
1615
@@ -20,19 +19,19 @@ import 'package:_fe_analyzer_shared/src/macros/api.dart';
2019// Private impls used actually execute the macro
2120import 'package:_fe_analyzer_shared/src/macros/bootstrap.dart' ;
2221import 'package:_fe_analyzer_shared/src/macros/executor.dart' ;
23- import 'package:_fe_analyzer_shared/src/macros/executor_shared /introspection_impls.dart' ;
24- import 'package:_fe_analyzer_shared/src/macros/executor_shared /remote_instance.dart' ;
25- import 'package:_fe_analyzer_shared/src/macros/executor_shared /serialization.dart' ;
26- import 'package:_fe_analyzer_shared/src/macros/isolated_executor/isolated_executor .dart'
27- as isolatedExecutor ;
22+ import 'package:_fe_analyzer_shared/src/macros/executor /introspection_impls.dart' ;
23+ import 'package:_fe_analyzer_shared/src/macros/executor /remote_instance.dart' ;
24+ import 'package:_fe_analyzer_shared/src/macros/executor /serialization.dart' ;
25+ import 'package:_fe_analyzer_shared/src/macros/executor/process_executor .dart'
26+ as processExecutor ;
2827
2928final _watch = Stopwatch ()..start ();
3029void _log (String message) {
3130 print ('${_watch .elapsed }: $message ' );
3231}
3332
34- var clientSerializationMode = SerializationMode .jsonClient ;
35- var serverSerializationMode = SerializationMode .jsonServer ;
33+ const clientSerializationMode = SerializationMode .byteDataClient ;
34+ const serverSerializationMode = SerializationMode .byteDataServer ;
3635
3736// Run this script to print out the generated augmentation library for an example class.
3837void main () async {
@@ -43,7 +42,7 @@ void main() async {
4342 print ('This script must be ran from the `macros` directory.' );
4443 exit (1 );
4544 }
46- var executor = await isolatedExecutor .start (serverSerializationMode);
45+ var executor = await processExecutor .start (serverSerializationMode);
4746 var tmpDir = Directory .systemTemp.createTempSync ('data_class_macro_example' );
4847 try {
4948 var macroUri = thisFile.absolute.uri;
@@ -60,11 +59,13 @@ void main() async {
6059 var kernelOutputFile =
6160 File (tmpDir.uri.resolve ('main.dart.dill' ).toFilePath ());
6261 _log ('Compiling DataClass macro' );
63- var buildSnapshotResult = await Process .run (Platform .resolvedExecutable , [
64- '--snapshot=${ kernelOutputFile . uri . toFilePath ()} ' ,
65- '--snapshot-kind=kernel ' ,
66- '--packages=${( await Isolate . packageConfig )!} ' ,
62+ var buildSnapshotResult = await Process .run ('dart' , [
63+ 'compile ' ,
64+ 'exe ' ,
65+ '--packages=.dart_tool/package_config.json ' ,
6766 bootstrapFile.uri.toFilePath (),
67+ '-o' ,
68+ kernelOutputFile.uri.toFilePath (),
6869 ]);
6970
7071 if (buildSnapshotResult.exitCode != 0 ) {
0 commit comments