Skip to content

Commit 46d3792

Browse files
committed
update example with the latest macro apis
1 parent 6515e99 commit 46d3792

File tree

1 file changed

+14
-13
lines changed

1 file changed

+14
-13
lines changed

working/macros/example/run.dart

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
library language.working.macros.example.run;
1111

1212
import 'dart:io';
13-
import 'dart:isolate';
1413

1514
import '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
2120
import 'package:_fe_analyzer_shared/src/macros/bootstrap.dart';
2221
import '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

2928
final _watch = Stopwatch()..start();
3029
void _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.
3837
void 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

Comments
 (0)