Annotation Processor로 생산성 향상시키기

Namhyun Gu
3 min readAug 8, 2020

--

Photo by Onlineprinters on Unsplash

안드로이드 개발을 하다보면 annotationProcessor (혹은 kapt)로 라이브러리를 추가해본 경험이 있을겁니다.

이 라이브러리들이 사용하는 Annotation Processor을 통해 생산성을 높일 수 있는 방법을 공유합니다.

이 예시에서는 IntentTarget Annotation을 클래스에 추가하여 아래와 같은 코드를 생성하는 것을 목표로 합니다.

시작하기

프로젝트에 Annotation만 정의하는 모듈 (ex. annotation)과 Annotation을 처리하기 위한 Processor을 정의하는 모듈 (ex. annotation_processor)을 생성합니다. 그리고, Annotation Processor을 사용하는 모듈에 새로 생성한 모듈들을 추가합니다.

Annotation 작성하기

  • Annotation 모듈에 사용할 Annotation을 작성합니다.

Annotation Processor 작성하기

생성한 Annotation 모듈에 build.gradle 에 Annotation을 정의한 모듈과 다음 라이브러리를 추가합니다.

앞서 작성한 IntentTarget를 처리할 AbstractProcessor을 상속하는 Processor을 작성합니다.

라이브러리에 추가한 KotlinPoet나 자바를 이용할 경우 JavaPoet을 이용하여 코드를 생성하면 됩니다. 코드 생성에 관련한 자세한 방법은 각 라이브러리가 제공하는 설명을 참조해주세요.

이 예시에서는 KotlinPoet을 사용하였고 이를 통해 다음과 같이 작성할 수 있습니다.

참고자료

--

--

No responses yet