문서의 임의 삭제는 제재 대상으로, 문서를 삭제하려면 삭제 토론을 진행해야 합니다. 문서 보기문서 삭제토론 Gradle (문서 편집) [[분류:프로그래밍]][[분류:프로젝트 관리 도구]][[분류:Java]] ||<-2> {{{#ffffff {{{+1 '''그레이들'''}}}[br]Gradle}}} || ||<-2> [[파일:gradle-whole-logo.png|width=200]] || || {{{#ffffff '''종류''' }}} ||빌드 도구 || || {{{#ffffff '''라이선스''' }}} ||[[아파치 라이선스]] 2.0 || || {{{#ffffff '''버전''' }}} ||7.0.2 || ||<-2> [[https://gradle.org/|홈페이지]] [include(틀:GitHub 로고,링크=gradle/gradle)] || [목차] [clearfix] == 개요 == [[오픈 소스]]로 [[Maven]]의 장황한 설정 파일과 에러가 쉽게 나는 문제를 해결하기 위해서 만들어졌다. [[Groovy]] 기반의 빌드 도구로 [[안드로이드 스튜디오]]의 공식 빌드 도구이기도 하다. 지원하는 언어들로는 [[Java]], [[Groovy]], [[Kotlin]] 등이 있다. build.gradle 파일에서 사용할 라이브러리를 지정할 수 있다. [[Maven]]이랑 다른점으로는 라이브러리 파일을 무려 코드로 쓸 수 있다. == 빌드 파일 == === build.gradle [[Groovy|(Groovy)]] === {{{#!syntax java // 자바를 컴파일하기 위해 java plugin을 설정한다. apply plugin: 'java' // application으로 컴파일하기 위해 설정한다. apply plugin: 'application' //저장소를 입력하는 섹션이다. 주로 Maven의 저장소를 그대로 사용한다. repositories { mavenCentral() } //종속성을 입력하는 섹션이다. 기존에는 compile이 있었으나 3.0버전부터 deprecated 되었다. dependencies { //'group:name:version' 순으로 적는다. group: 'junit', name: 'junit', version: '4.12'식으로도 가능하다. api 'com.google.guava:guava:22.0' //간접 의존, 직접 의존하는 모든 모듈을 rebuild 한다 implementation 'junit:junit:4.12' //직접 의존하는 모듈만 rebuild 한다. } application { // 메인 class의 위치와 이름을 적는다. mainClass = 'package.name.AppClass' } }}} === build.gradle.kts [[Kotlin|(Kotlin)]] === {{{#!syntax java // 자바를 컴파일하기 위해 java plugin을 설정한다. apply(plugin = "java") // application으로 컴파일하기 위해 설정한다. apply(plugin = "application") //저장소를 입력하는 섹션이다. 주로 Maven의 저장소를 그대로 사용한다. repositories { mavenCentral() } //종속성을 입력하는 섹션이다. 기존에는 compile이 있었으나 3.0버전부터 deprecated 되었다. dependencies { //'group:name:version' 순으로 적는다. group: 'junit', name: 'junit', version: '4.12'식으로도 가능하다. api("com.google.guava:guava:22.0") //간접 의존, 직접 의존하는 모든 모듈을 rebuild 한다 implementation("junit:junit:4.12") //직접 의존하는 모듈만 rebuild 한다. } application { // 메인 class의 위치와 이름을 적는다. mainClass.set("package.name.AppClass") } }}} === 플러그인 === Gradle 프로젝트에 더 도움을 줄 수 있도록 [[플러그인#s-3]]을 적용 할 수 있다. 플러그인은 Binary Plugin[* Plugin 인터페이스를 상속하는 플러그인]이나 Script Plugin[* 다른 빌드 파일을 이용한 플러그인]으로 나눌 수 있다. ==== 바이너리 플러그인 적용법 ==== ===== 코어 플러그인 적용법 ===== 코어 플러그인이란 Gradle에 내장된 기본 플러그인이다. 코어 플러그인으로는 '''application, java''' 같은 게 있다. {{{#!folding [Groovy] {{{#!syntax java plugins { id 'java' } }}}}}} {{{#!folding [Kotlin] {{{#!syntax java plugins { java // 참고로 Kotlin에서 이용하는 키워드라면 앞뒤에 `를 추가해야합니다. } }}}}}} ===== 커뮤니티 플러그인 적용법 ===== 여기서 말하는 커뮤니티 플러그인이란 [[https://plugins.gradle.org/|Plugin Portal]]에 저장된 플러그인을 말한다. {{{#!folding [Groovy] {{{#!syntax java plugins { id 'com.jfrog.bintray' version '1.8.5' } }}}}}} {{{#!folding [Kotlin] {{{#!syntax java plugins { id("com.jfrog.bintray") version "1.8.5" } }}}}}}저장 버튼을 클릭하면 당신이 기여한 내용을 CC-BY-NC-SA 2.0 KR으로 배포하고,기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다.이 동의는 철회할 수 없습니다.캡챠저장미리보기