SW/Gradle

Gradle: 플러그인 만들기: 개발자가 직접 구현하는 자동화 가이드, 예제, 방법

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

Gradle을 써본 적이 있다면, 이게 얼마나 강력한 도구인지 이미 아실 거예요. 앱을 빌드하고, 테스트하고, 배포하는 과정까지 자동으로 처리해 주니 개발자 입장에서 정말 큰 도움이 되죠. 기본적으로 제공되는 플러그인만 써도 충분하지만, "이 기능이 있었으면 좋겠는데?" 싶은 순간이 한두 번이 아닙니다. 바로 그럴 때, 직접 플러그인을 만들어 보면 정말 유용합니다.

오늘은 Gradle 플러그인을 직접 만들어보면서 개념을 확실히 익히고, 처음엔 build.gradle에서 작업을 시작한 뒤, 나중에는 플러그인을 독립적인 파일로 정리하는 과정까지 알아볼 거예요. 너무 어렵게 설명하지 않을 테니, 가볍게 따라와 주세요!

 


 

Gradle: 플러그인 만들기: 개발자가 직접 구현하는 자동화 가이드, 예제, 방법

 

왜 직접 플러그인을 만들어야 할까?

Gradle 플러그인을 직접 만드는 이유는 여러 가지가 있어요.

  1. 반복적인 코드 줄이기 – 같은 작업을 여러 프로젝트에서 반복하는 것보다, 플러그인으로 만들어두면 한 번 적용하는 걸로 끝!
  2. 깔끔한 코드 유지build.gradle 파일이 커지면 관리하기 어려워지죠. 플러그인을 사용하면 이걸 정리할 수 있어요.
  3. 확장성 증가 – 프로젝트가 커지면 관리가 힘들어지는데, 플러그인을 활용하면 체계적으로 유지할 수 있어요.
  4. 자동화 극대화 – 코드 포매팅, 문서 생성, 배포 같은 귀찮은 작업을 자동으로 처리할 수 있습니다.

 

한마디로, 개발을 더 빠르고 편하게 만들려면 플러그인을 직접 만들어 보는 게 최고의 방법이에요!

 


 

Gradle 플러그인은 뭘까?

쉽게 말하면, 반복적으로 사용하는 특정 작업을 자동화하는 도구입니다. 직접 만들면 프로젝트에 꼭 맞게 커스터마이징할 수도 있어요.

플러그인의 종류

Gradle에는 크게 두 가지 유형의 플러그인이 있습니다.

  1. 스크립트 플러그인.gradle 파일 안에서 작성하고 apply from:으로 불러와 사용하는 방식.
  2. 바이너리 플러그인 – Java나 Kotlin으로 작성한 후 JAR 파일로 만들어 프로젝트에서 적용하는 방식.

 

오늘은 build.gradle 내부에서 간단한 플러그인을 만들어보고, 이후에 이를 바이너리 플러그인으로 변환하는 과정까지 다룰 거예요.

 


 

1단계: build.gradle에서 간단한 작업 만들어보기

자, 그럼 직접 실습을 해볼까요? build.gradle 내부에 새로운 작업(Task)을 추가해 봅시다.

// build.gradle

task myCustomTask {
    group = 'Custom Tasks'
    description = '이 작업은 간단한 메시지를 출력합니다.'

    doLast {
        println '내가 만든 Gradle 작업이 실행됩니다!'
    }
}

 

실행 방법

터미널을 열고 다음 명령어를 입력하세요.

gradle myCustomTask

 

실행 결과 예시

> Task :myCustomTask
내가 만든 Gradle 작업이 실행됩니다!

 

와! 첫 번째 Gradle 작업을 성공적으로 실행했어요. 🎉 이제 이 작업을 플러그인으로 변환해볼까요?

 


 

2단계: 작업을 별도의 플러그인 클래스로 정리하기

build.gradle 내부에 작업을 정의하는 것도 좋지만, 프로젝트가 커지면 정리가 필요해요. 그래서 플러그인을 별도 파일로 관리하면 훨씬 깔끔합니다.

 

Groovy로 플러그인 파일 만들기

  1. 프로젝트의 buildSrc 디렉터리 안에 새로운 Groovy 클래스를 만들어줍니다. buildSrc 폴더가 없다면 만들어 주세요.
  2. 다음 폴더 구조를 유지하세요.
my-project/
├── build.gradle
├── settings.gradle
├── buildSrc/
│   ├── src/main/groovy/
│   │   ├── com/example/
│   │   │   ├── MyCustomPlugin.groovy

 

  1. MyCustomPlugin.groovy 파일을 만들고, 아래처럼 코드를 작성하세요.
package com.example

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

class MyCustomPlugin implements Plugin<Project> {
    @Override
    void apply(Project project) {
        project.tasks.create('myCustomTask') {
            group = 'Custom Plugins'
            description = '이 플러그인에서 정의한 작업입니다.'

            doLast {
                println '내가 만든 Gradle 플러그인이 실행됩니다!'
            }
        }
    }
}

 

build.gradle에서 플러그인 적용하기

이제 build.gradle에서 플러그인을 적용해봅시다.

plugins {
    id 'com.example.my-custom-plugin'
}

 

그리고 다시 실행해보세요!

gradle myCustomTask

 


 

3단계: 플러그인 배포하기

이제 만들어둔 플러그인을 여러 프로젝트에서 쓸 수 있도록 배포해볼 수도 있습니다.

 

로컬 저장소에 배포하기

gradle publishToMavenLocal

 

원격 저장소에 배포하기

Gradle 플러그인 포털이나 개인 저장소에서 공유하려면 maven-publish 설정이 필요해요.

publishing {
    publications {
        mavenJava(MavenPublication) {
            from components.java
        }
    }
}

 


 

마무리

와, 여기까지 따라오시느라 고생 많으셨어요! 🎉

이번 글에서는 Gradle 플러그인을 직접 만들어보면서 단계별 과정을 익혔습니다.

  • build.gradle에서 간단한 작업을 추가하는 방법을 배웠고,
  • 이를 플러그인으로 정리해서 더 체계적으로 관리하는 법을 익혔어요.
  • 마지막으로 플러그인을 로컬 및 원격 저장소에 배포하는 방법까지 알아봤습니다.

 

이제 여러분도 자신만의 Gradle 플러그인을 만들어서 프로젝트를 더욱 효율적으로 관리할 수 있을 거예요. 필요에 따라 작업을 자동화하고, 코드를 깔끔하게 정리하면서 더욱 스마트한 개발자가 되어보세요!

반응형