사용자 도구

사이트 도구


gradle:plugins

Gradle Plugins

Plugin Dependency Repository

  • Gradle plugin 을 가져오는 repository 를 명시적으로 지정하고자 한다면 settings.gradle에 다음과 같이 설정한다. (init.gradle을 사용할 수도 있음)
pluginManagement {
    repositories {
        maven { url "http://자기의MavenRepos주소" }
        gradlePluginPortal() // https://plugins.gradle.org/m2/
    }
}

플러그인 적용

  • Project.apply() 메소드를 사용한다.
    // 짧은 명칭 사용
    apply plugin: 'java'
     
    // FQCN 사용
    apply plugin: org.gradle.api.plugins.JavaPlugin
     
    // JavaPlugin은 자동 import 상태이므로 클래스만 써도 된다.
    apply plugin: JavaPlugin
  • 플러그인은 한 번 적용하면 그 뒤로 여러번 적용해도 아무 효과가 없다.
  • 플러그인 클래스는 org.gradle.api.Plugin 인터페이스 구현체이다.

플러그인으로 할 수 있는 일

  • 프로젝트에 태스크 추가
  • 적합한 기본값으로 태스크를 미리 설정해 둠
  • 프로젝트에 의존성 추가
  • 확장을 통해 기존 타입에 다른 프라퍼티와 메소드 추가
    apply plugin: 'java'
     
    // java 플러그인에 추가된 compileJava.destinationDir, processResources.destinationDir 프라퍼티 확인해 보기
    task show << {
        println relativePath(compileJava.destinationDir)
        println relativePath(processResources.destinationDir)
    }

관례(Convention)

  • 플러그인들은 기본적으로 적합한 기본값을 갖도록 설정되어 있다.
  • 이러한 값을 바꿀 수 있다.
    apply plugin: 'java'
     
    compileJava.destinationDir = file("$buildDir/output/classes")
     
    task show << {
        println relativePath(compileJava.destinationDir)
    }

플러그인들

gradle/plugins.txt · 마지막으로 수정됨: 2019/03/23 13:22 저자 kwon37xi