SW/Gradle

Gradle: Plugin 쉽게 배우기: Build Src 설정부터 Task 실행까지

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

Gradle을 쓰다 보면 “이거 자동화하면 편하겠는데?” 싶은 순간이 한두 번이 아니죠. 반복적인 작업이 많아질수록, 이런 고민은 더 커질 수밖에 없어요. 그래서 오늘은 Build Src 폴더 설정, Custom Gradle Task 만들기, 그리고 최신 Gradle 버전에서 Task 실행하는 법까지 하나씩 알아볼 거예요.

Gradle Plugin을 제대로 활용하면 프로젝트 관리가 한결 수월해지고, 예상치 못한 오류도 줄일 수 있어요. 그러니 부담 갖지 말고, 함께 Gradle을 좀 더 능숙하게 다뤄봅시다!

 


 

Gradle: Plugin 쉽게 배우기: Build Src 설정부터 Task 실행까지

 

Build Src 폴더, 왜 필요할까요?

Gradle에서 직접 Plugin을 만들어 사용하려면 buildSrc 폴더를 제대로 설정해야 해요. 이 폴더는 Gradle이 자동으로 인식해서 Build 과정에서 바로 적용할 수 있기 때문에, 따로 설정할 필요 없이 바로 사용할 수 있는 점이 큰 장점이죠.

 

Build Src 폴더, 어디에 만들어야 할까요?

이 부분이 은근 헷갈릴 수 있어요. 최신 Gradle 버전에서는 app 폴더가 자동 생성되지만, buildSrc는 수동으로 만들어야 합니다. 그리고 위치가 중요해요!

 

정답: 프로젝트 Root Directory
오답: app 폴더 안

 

이제 예제 Directory 구조를 보면 더 확실히 이해될 거예요.

my-web-app-project/  # 프로젝트 루트
├── buildSrc/        # 여기에 직접 생성해야 해요
│   ├── src/main/
│   │   ├── groovy/
│   │   ├── java/
│   │   ├── kotlin/
├── app/             # Gradle에서 자동 생성됨 (여기에 buildSrc 만들지 마세요!)

 

이렇게 buildSrc를 Root에 만들어야 Gradle이 이를 인식하고, Plugin 코드가 원활히 작동합니다.

 


 

Custom Gradle Plugin 만들기

이제 buildSrc 폴더를 설정했으니, 직접 Custom Gradle Plugin을 만들어볼 차례예요. 이를 활용하면 Build와 Deployment를 자동화하면서 훨씬 효율적으로 관리할 수 있어요.

 

간단한 Gradle Plugin 예제

Groovy를 이용해서 간단한 Deployment 관련 Plugin을 만들어볼게요.

package com.example.gradle

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

class CustomPlugin implements Plugin<Project> {
    @Override
    void apply(Project project) {
        project.tasks.create("copyToS3") {
            group = "Deployment"
            description = "Upload files to an S3 bucket"
            doLast {
                println "Uploading files to S3..."
            }
        }

        project.tasks.create("deployToEC2") {
            group = "Deployment"
            description = "Deploy application to an EC2 instance"
            doLast {
                println "Deploying application to EC2..."
            }
        }
    }
}

 

위 Plugin은 copyToS3(S3 Upload)와 deployToEC2(EC2 Deployment)라는 두 개의 Task를 정의하고 있어요. 수동 Deployment가 귀찮다면, 이런 식으로 명령어 하나로 자동화할 수 있어요!

 


 

최신 Gradle에서 Task 실행하는 법

이전 Gradle 버전에서는 짧게 줄인 명령어로 Task를 실행할 수 있었어요. 예를 들면:

gradle dte  # 'deployToEC2'를 줄여서 실행

 

하지만 최신 Gradle 버전에서는 이런 축약형 실행이 잘 안 먹힐 가능성이 높아요. 그래서 완전한 Task 이름을 입력하는 게 가장 확실한 방법입니다.

 

올바른 실행 방식

gradle deployToEC2  # 축약형 대신 전체 Task 이름 사용

 

혹시 실행 오류가 난다면, 줄여서 입력하지 말고 완전한 명칭을 입력하면 대부분 해결돼요!

 


 

마무리하며

오늘은 buildSrc 폴더를 설정하는 법, Custom Gradle Plugin을 만드는 과정, 그리고 최신 Gradle 버전에서 Task를 실행하는 팁까지 알아봤어요.

 

핵심 정리:

buildSrc반드시 프로젝트 Root에 위치해야 하며, app 폴더 안에 넣으면 안 됨.
✔ Deployment 및 Automation을 위한 Custom Task를 만들면 개발이 훨씬 편해짐.
✔ 최신 Gradle에서는 Task 실행 시 전체 이름을 입력해야 오류 없이 실행 가능.

 

다음 강의에서는 더 고급 Gradle Plugin 활용법을 다룰 예정이에요. Gradle을 잘 활용하면 개발 속도가 확 올라가니까, 꾸준히 익혀두면 정말 큰 도움이 될 거예요!

반응형