[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와 다른 툴을 통합하는 방법은 다양합니다. 위의 방법 외에도 여러 가지 접근 방법이 있으니, 프로젝트의 요구에 맞게 적절한 방식을 선택하여 통합하시기 바랍니다.