해당 내용은 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, assemblebuildConfiguration - task rule
buildArchives 태스크의 경우 archives 구성에 포함된 모든 Artifact를 생성하는데 필요한 태스크를 모두 실행합니다.기본 플러그인은 종속성 구성을 추가하지는 않지만, 다음 구성을 추가합니다.
defaultdefault 구성(configuration)에 있는 모든 것을 재활용합니다.default 구성을 사용해서는 안됩니다.archivesAssemble 태스크는 archives 구성에 첨부된 모든 Artifact를 생성합니다.
기본 플러그인 프로젝트에 기본 확장(base extension)을 추가합니다.
이를 통해 전용 DSL 블록 내에서 다음과 같은 속성을 구성할 수 있습니다.
archivesName - 기본 : $project.namedistsDirectory - 기본 : $buildDir/distributionslibsDirectory - 기본 : $buildDir/libs기본 플러그인은 AbstractArchiveTask를 확장하는 모든 태스크에서 다음 속성(properties)에 대한 기본값을 제공합니다.
destinationDirectorydistsDirectory이고 JAR 및 WAR와 같은 JAR의 파생 프로덕션의 경우 libsDirectory입니다.archiveVersion$proejct.version 이며 프로젝트 버전이 없는 경우 unspecified 입니다.archiveBaseName$archivesBaseName 입니다.기본 플러그인은 ZIP, TARK 및 JAR와 같은 archives 생성과 관련된 규칙을 추가할 수 있습니다.
Conventions는 더 이상 사용되지 않으며 Contributed extensions로 대체되었습니다.