[Flutter] 코드 제네레이션으로 생성된 파일 위치 변경

오준석·2022년 9월 1일
1

코딩삽질방지

목록 보기
23/50

원인


코드 제네레이션 패키지를 사용하다 보면 g.dart, freezed.dart 등의 생성된 파일이 생성된다. 여기서 일단 2개가 freezed로 생성된 파일이다. 이게 한 두개일땐 괜찮은데 점점 많아져서 방해가 된다.

소스만 남기고 싶다.

해결방법


source_gen 패키지로 build_runner 가 생성하는 파일 위치를 바꿀 수 있다.

1. source_gen 패키지를 의존성에 추가한다.

flutter pub add source_gen --dev

2. 루트 디렉토리에 build.yaml 파일을 작성한다. lib/generated에 생성되도록 하는 옵션이다.

targets:
  $default:
    builders:
      source_gen|combining_builder:
        options:
          build_extensions:
            '^lib/{{}}.dart': 'lib/generated/{{}}.g.dart'
      freezed:
        options:
          build_extensions:
            '^lib/{{}}.dart': 'lib/generated/{{}}.freezed.dart'

3. generated 디렉토리는 미리 만들어 둔다

4. part 부분의 경로를 수정한다

이 부분은 일단 손으로 수정해야 하는데 나중에 자동화할 수 있으면 업데이트 하겠다.

part '../generated/domain/expression_part.freezed.dart';

5. build_runner build 를 수행한다

생성된 파일이 generated 디렉토리에 모여져 있는 것을 확인한다.

profile
교육하고 책 쓰는 개발자

0개의 댓글