본문 바로가기
Spring

Gradle

by Apère 2023. 3. 29.
반응형

Gradle은 그루비를 이용한 빌드 자동화 시스템이다

디렉토리 구조

  • /gradle - gradle 버전별 엔진 및 설정 파일
  • /.idea - 에디터 관련 파일들
  • /gradlew - gralde 명령파일
  • /settings.gradle - 빌드할 프로젝트 정보 설정(싱글프로젝트의 경우 생략 가능)
  • /build.gradle - 프로젝트 빌드에 대한 모든 기능 정의

의존관계 설정

  • implementation - 프로젝트 컴파일 과정에서 필요한 라이브러리
  • testImplementation - test시에 필요한 dependency 관
  • providedCompile - compile시에는 필요하지만, 배포시에는 제외될 dependency를 설정
  • providedRuntime - runtime시에만 필요하고, 실행환경에서 제공되는 dependency를 설정
  • api(compile) - 프로젝트 컴파일 과정에서 필요한 라이브러리, 해당 라이브러리에서 의존하고 있는 라이브러리까지 같이 빌드

task는 실행 작업 단위이고 plugin은 미리 구성해 놓은 task들의 그룹이다

 

아래는 build.gradle 예제 코드입니다

//프로젝트 정보
group = 'com.demo'
//프로젝트 버전
version = '0.0.1-SNAPSHOT'
//자바 버전
sourceCompatibility = '11'


//저장소
repositories {
    mavenLocal() //로컬 캐시 저장소
    mavenCentral() //중앙 저장소
}

dependencies {
	implementation 'org.springframework.boot:spring-boot-starter-data-jpa' //jpa
	implementation 'org.springframework.boot:spring-boot-starter-web'//web
  	implementation 'org.springframework.boot:spring-boot-starter-validation'
  	implementation 'org.springframework.boot:spring-boot-starter-data-jdbc'
  	implementation 'org.springframework.boot:spring-boot-starter-integration' 
	implementation 'org.springframework.integration:spring-integration-mqtt'//mqtt
	implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.0.2'//springdoc -swagger
  	runtimeOnly 'com.microsoft.sqlserver:mssql-jdbc' //mssql
	compileOnly 'org.projectlombok:lombok' //롬복
	annotationProcessor 'org.projectlombok:lombok'
	testImplementation 'org.springframework.boot:spring-boot-starter-test' 
}


//테스트 설정 
test {
    useJUnitPlatform()
}
반응형

댓글