[flutter] 플러터 build_runner와 다른 툴간의 통합 방법
플러터 앱을 개발하다 보면 코드 생성, 라우팅 및 직렬화와 같은 작업을 자동화하기 위해 build_runner
와 같은 도구를 사용할 수 있습니다. 그러나 때때로 이러한 작업을 다른 도구와 통합해야 할 때가 있습니다. 이러한 경우, build_runner
를 통해 생성된 코드를 다른 툴과 통합하는 방법을 알아보겠습니다.
1. build_runner
와 통합하기
1.1. 코드 생성기
build_runner
를 사용하여 생성된 코드를 다른 툴과 통합하는 방법 중 하나는 코드 생성기를 활용하는 것입니다. 코드 생성기를 사용하면 build_runner
에서 생성된 코드를 빌드 프로세스에 포함시키고, 필요한 기능을 커스터마이징할 수 있습니다.
import 'package:source_gen/source_gen.dart';
import 'package:json_serializable/json_serializable.dart';
class CustomGenerator extends Generator {
@override
Future<String> generate(LibraryElement library, BuildStep buildStep) async {
// 특정 로직 구현
}
}
1.2. 플러그인
또 다른 방법은 build_runner
플러그인을 개발하여 플러그인을 통해 build_runner
에서 생성된 코드를 다른 툴과 통합하는 것입니다.
import 'package:build/build.dart';
import 'package:source_gen/source_gen.dart';
Builder customBuilder(BuilderOptions options) => CustomBuilder();
PostProcessBuilder customPostProcessBuilder(BuilderOptions options) =>
CustomPostProcessBuilder();
2. 참고 자료
build_runner
와 다른 툴을 통합하는 방법은 다양합니다. 위의 방법 외에도 여러 가지 접근 방법이 있으니, 프로젝트의 요구에 맞게 적절한 방식을 선택하여 통합하시기 바랍니다.