SW/Gradle

Gradle: plugin 쉽게 관리하는 방법 – build.gradle을 정리하는 최적의 방법

얇은생각 2025. 3. 14. 07:30
반응형

Gradle을 다루다 보면, 프로젝트가 커질수록 build.gradle file이 점점 복잡해지는 걸 느끼게 될 거예요. maintenance를 편하게 하고 싶다면, 플러그인 클래스를 따로 분리하는 게 좋은 해결책이죠.

오늘은 Gradle 플러그인을 별도 파일로 이동하는 방법을 하나씩 살펴볼 거예요. 어렵지 않으니 가볍게 따라와 보세요!

 


 

Gradle: plugin 쉽게 관리하는 방법 – build.gradle을 정리하는 최적의 방법

 

왜 플러그인을 따로 빼야 할까요?

플러그인을 별도로 관리하면 여러 가지 장점이 있어요. 한 번 정리해 볼까요?

  • 유지보수가 쉬워집니다. code가 깔끔하게 정리되면, 필요한 부분을 찾기도 편해지고 수정도 쉬워져요.
  • readability이 좋아집니다. build.gradle이 너무 길어지면 읽기 어려워지죠. 핵심적인 부분만 남겨두고 정리하면 가독성이 훨씬 좋아져요.
  • 다른 프로젝트에서도 reuse할 수 있습니다. 한 번 만들어 둔 플러그인은 여러 프로젝트에서 그대로 활용할 수 있어요.
  • scalability이 뛰어납니다. 플러그인을 따로 관리하면, 새로운 기능을 add할 때도 부담이 줄어듭니다.

그럼 본격적으로 작업을 시작해볼까요?

 


 

Gradle 플러그인을 따로 분리하는 과정

1단계: buildSrc folder 만들기

Gradle에서는 커스텀 빌드 로직을 buildSrc 폴더에 두는 걸 권장해요. 따로 configuration하지 않아도 Gradle이 자동으로 인식하니까 굉장히 편리하죠.

  1. 프로젝트 루트 directory에서 buildSrc 폴더를 create합니다.
  2. buildSrc 폴더 안에 언어별 디렉터리를 만들어 주세요.
    • Java 사용 시: buildSrc/src/main/java
    • Groovy 사용 시: buildSrc/src/main/groovy
    • Kotlin 사용 시: buildSrc/src/main/kotlin

 

예를 들어, Groovy로 플러그인을 만들고 싶다면 이렇게 폴더를 생성하세요.

mkdir -p buildSrc/src/main/groovy/com/example/gradle

 


 

2단계: 기존 플러그인 코드를 buildSrc로 이동하기

이제 기존 build.gradle에 있던 코드를 별도 파일로 옮겨볼게요.

  1. 기존 코드 delete: build.gradle에서 플러그인 클래스를 잘라냅니다.
  2. 새 파일 생성: buildSrc/src/main/groovy/com/example/gradle 폴더에 새로운 Groovy 파일을 만듭니다.
  3. 파일 이름 지정: 클래스 이름과 동일하게 파일명을 설정하세요. 예를 들어 MyAWSPlugin이면 MyAWSPlugin.groovy로 저장하면 됩니다.
  4. 코드 붙여넣기: 기존 플러그인 코드를 새 파일에 붙여넣습니다.

 

예제 코드:

package com.example.gradle

import org.gradle.api.Plugin
import org.gradle.api.Project

class MyAWSPlugin implements Plugin<Project> {
    void apply(Project project) {
        project.tasks.create("copyToS3") {
            doLast {
                println "S3에 파일을 업로드하는 중..."
            }
        }

        project.tasks.create("deployToEC2") {
            doLast {
                println "AWS EC2에 배포 완료!"
            }
        }
    }
}

 


 

3단계: build.gradle 파일 업데이트하기

플러그인을 따로 분리했으니, 이제 build.gradle에서 이를 불러와야 해요.

먼저, 가장 상단에 import 구문을 추가하세요.

import com.example.gradle.MyAWSPlugin

 

그리고 플러그인을 apply하는 코드를 추가하면 됩니다.

apply plugin: MyAWSPlugin

 


 

4단계: execute 및 test

플러그인이 정상적으로 동작하는지 확인하려면 아래 command를 입력하세요.

gradle tasks

 

목록에 copyToS3deployToEC2가 나타나면 성공입니다.

실제로 실행해볼까요?

gradle deployToEC2

 

정상적으로 실행되면 다음과 같은 메시지가 나옵니다.

S3에 파일을 업로드하는 중...
AWS EC2에 배포 완료!

 

깔끔한 output을 원한다면 -q 옵션을 추가해 보세요.

gradle deployToEC2 -q

 


 

5단계: buildSrc 빌드 확인하기

Gradle은 buildSrc 폴더 내부의 플러그인을 자동으로 빌드합니다.

compile된 플러그인 JAR 파일을 확인하려면 다음 명령어를 입력하세요.

ls buildSrc/build/libs

 

출력 예시:

buildSrc.jar

 

이제 Gradle이 정상적으로 플러그인을 빌드했다는 것을 확인할 수 있어요.

 


 

마무리

이제 Gradle 플러그인을 buildSrc로 이동하는 방법을 익혔어요. 프로젝트가 커질수록 이런 구조가 얼마나 유용한지 직접 체감할 수 있을 거예요!

 

핵심 요약:

  • buildSrc를 활용하면 Gradle 플러그인을 효과적으로 관리할 수 있습니다.
  • build.gradle 파일을 간결하게 유지하면서 확장성을 높일 수 있어요.
  • Gradle API는 반드시 import해야 합니다.
  • gradle tasks로 플러그인이 정상적으로 등록되었는지 확인하세요.

 

이제 플러그인 정리를 마쳤으니, 다음 단계로 나아가 볼까요?

  • Gradle 플러그인에 추가 기능 구현하기
  • Gradle Plugin Repository에 배포하는 방법 배우기
  • Kotlin DSL을 활용한 빌드 스크립트 작성하기

 

잘 정리된 빌드 설정이 개발 생산성을 높이는 데 큰 도움이 될 거예요. 직접 시도해 보고, 더 편리한 개발 환경을 만들어 보세요! 🚀

반응형