자동화 도구 gradle

Workwork·2022년 8월 8일
0

React.Boot.Aws

목록 보기
10/19
post-thumbnail

<React.js, 스프링 부트, AWS로 배우는 웹 개발 101>(김다정 지음)을 따라 TO-DO 앱을 하나 만들 예정이다.

앞으로 쓸 대부분의 포스팅(이미지/글)은 위의 서적을 참고/출처로 작성되었음을 미리 밝힌다.

gradle은 빌드 자동화를 도와주는 도구다.
빌드 자동화는 왜 사용할까?

이와 관련해서 → maven에 대해서 정리해 둠 참고..

-> 요약 : 프로젝트 규모가 클 때 빌드를 체계적으로 하기 위해. 라이브러리 관리를 수월하게 하기 위해. 가장 중요한 건 협업! 프로젝트 진행할 때 각자 환경 설정이 다르면 그거 맞추기 번거로움. 이클립스틑 통째로 줄 수 없음^^.. 그런데 메이븐을 쓰면 pom.xml만 주고 받으면 됨. 메이븐의 '의존성' 활용. 그루비도 일종의 빌드 도구! IntelliJ를 켰을 때 선택하게 하는 것들~!

빌드 → 유닛 테스트 실행의 반복 작업을 자동화 해줌

  • 그래들은 의도적으로 많은 기능을 제공하지 않고 플러그인을 통해 확장해가며 사용하는 스타일.
  • 예를 들어 자바 컴파일 하려면 그래들 자바 플러그인이 필요함.
plugins {
	id 'org.springframework.boot' version '2.7.2'
	id 'io.spring.dependency-management' version '1.0.12.RELEASE'
	id 'java' 
}

group = 'com.example' // artifact(애플리케이션)을 배포하는데 사용됨, Spring Initializer의 metadata에서 정의한 Group
version = '0.0.1-SNAPSHOT' // 이 프로젝트의 버전
sourceCompatibility = '1.8' // 자바 버전

configurations {
	compileOnly {
		extendsFrom annotationProcessor
        // 롬복 : 어노테이션을 추가하면 컴파일 시 그에 상응하는 코드를 만들어 주는 라이브러리다.
        // 롬복이 코드를 작성하려면 어노테이션 프로세서가 필요하다.
        // 그래서 여기서 어노테이션 프로세서를 컴파일 당시 사용하라고 그래들에게 알려준다.
	}
}

repositories {
	// 그래들이 라이브러리를 다운 받는 곳
	mavenCentral()
}

// 이 프로젝트에서 사용할 라이브러리를 명시하면 그래들이 리포지터리에서 라이브러리를 다운 및 설치한다.
dependencies {
	implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
	implementation 'org.springframework.boot:spring-boot-starter-web'
	compileOnly 'org.projectlombok:lombok'
	runtimeOnly 'com.h2database:h2'
    
    // 그리고 어노테이션 프로세서로 롬복을 사용하도록 디펜던시에 명시한다.
	annotationProcessor 'org.projectlombok:lombok'
	testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

tasks.named('test') {
	useJUnitPlatform()
}
profile
나만 알아보면 된다는 마음으로 작더라도 조금씩

0개의 댓글