Usando la pila source_gen para hacer un generador de código, ¿cómo puedo hacer un generador que genere código que sería la entrada de otro generador (más específicamente json_serializable
)?
Por ejemplo, considere:
class Example extends Generator {
@override
String generate(LibraryReader library, BuildStep buildStep) {
return '''
@JsonSerializable(nullable: false)
class Person {
final String firstName;
final String lastName;
final DateTime dateOfBirth;
Person({this.firstName, this.lastName, this.dateOfBirth});
factory Person.fromJson(Map<String, dynamic> json) => _PersonFromJson(json);
Map<String, dynamic> toJson() => _PersonToJson(this);
}
''';
}
}
Este es un ejemplo de un generador de código que genera un código que luego debe enviarse a json_serializable
¿Qué puedo hacer para que json_serializable
se genere correctamente aquí?
await Process.start('bash',arguments,runInShell: true);
pero es un último recurso para jugar. En realidad, acabo de probar todas las lógicas de generación de código hace un día en este enlace de repositorio, así que ... creo que puedo ser útil.
flutter generate
/ pub run build_runner build
. De lo contrario, sería muy inusual de usar.