해당 내용은 Gradle 공식 홈페이지의 내용을 정리한 내용입니다.
기본 플러그인은 대부분의 빌드에 공통적인 몇 가지 작업과 규칙을 제공하고 빌드 실행 방식의 일관성을 촉진하는 구조를 빌드에 추가합니다.
가장 중요한 기능은 다른 플러그인 및 빌드 작성자가 제공하는 구체적인 작업을 위한 사전 준비(act as an umbrella)인 태스크 수명 주기(lifecycle tasks)입니다.
기본 플러그인을 적용시키려면 다음과 같이 진행할 수 있습니다.
//build.gradle
plugins {
id 'base'
}
clean
- Delete
check
- lifecycle task
run test
와 같은 검증(verification) 태스크를 check.dependsOn(task)
와 같은 방식으로 태스크 수명 주기에 추가해야 합니다.assemble
- lifecycle task
build
- lifecycle task
assemble
이나 check
태스크를 사용하는 것이 더 적합하기 때문에 build
태스크에 직접 작업하는 경우는 거의 없을 것입니다.Depends on
: check
, assemble
buildConfiguration
- task rule
buildArchives
태스크의 경우 archives
구성에 포함된 모든 Artifact를 생성하는데 필요한 태스크를 모두 실행합니다.기본 플러그인은 종속성 구성을 추가하지는 않지만, 다음 구성을 추가합니다.
default
default
구성(configuration)에 있는 모든 것을 재활용합니다.default
구성을 사용해서는 안됩니다.archives
Assemble
태스크는 archives
구성에 첨부된 모든 Artifact를 생성합니다.
기본 플러그인 프로젝트에 기본 확장(base extension)을 추가합니다.
이를 통해 전용 DSL 블록 내에서 다음과 같은 속성을 구성할 수 있습니다.
archivesName
- 기본 : $project.name
distsDirectory
- 기본 : $buildDir/distributions
libsDirectory
- 기본 : $buildDir/libs
기본 플러그인은 AbstractArchiveTask를 확장하는 모든 태스크에서 다음 속성(properties)에 대한 기본값을 제공합니다.
destinationDirectory
distsDirectory
이고 JAR 및 WAR와 같은 JAR의 파생 프로덕션의 경우 libsDirectory
입니다.archiveVersion
$proejct.version
이며 프로젝트 버전이 없는 경우 unspecified
입니다.archiveBaseName
$archivesBaseName
입니다.기본 플러그인은 ZIP, TARK 및 JAR와 같은 archives 생성과 관련된 규칙을 추가할 수 있습니다.
Conventions는 더 이상 사용되지 않으며 Contributed extensions
로 대체되었습니다.