진짜 개발자
본문 바로가기

Software Engineering/Build Tool

BuildTool - Build란?

728x90
gradle의 설정파일들

build란?

1. 일반적인 의미에서의 Build

일반적으로 빌드란 소스코드 파일을 컴퓨터에서 실행할 수 있는 독립적인 형태로 변환하는 과정과 그 결과를 말한다고 합니다.

 

예를들어 간단히 자바프로젝트를 만들어 진행하게 된다면, 그안에는 우리가 작성한 소스코드.java와 여러가지 정적 파일등에 해당하는 resource가 존재합니다. 빌드를 진행한다면, 소스코드를 compile하여 .class로 변환하고, resource.class에서 참조할 수 있는 적절한 위치로 옮기고, 추가적으로 META-INFMANIFEST.MF 들을 하나로 묶는(압축) 과정을 의미합니다.

 

컴파일이란?

- 컴파일이란 컴퓨터가 이해할 수 있는 언어로 바꾸어주는 과정을 의미한다. 결과물로 목적파일이 생겨난다

- Java의 경우 컴파일의 결과로 JVM에서 실행가능한 ".class" 파일이 생겨난다.

즉 컴파일은 build를 진행하는 과정에서 발생하는 하나의 task입니다.

 

 

 

2. Build tool에서의 Build

빌드툴은 위에서 설명드린 과정을 테스크에 정의된대로 실행하게 됩니다. 하지만, 컴파일이 필요한 언어에만 국한된 의미가 아닙니다. resource파일과 같이 어플리케이션의 실행에 필요한 파일들을 지정된 위치로 복사를 하거나, 지정한 어플리케이션을 실행하는것 등도 빌드프로세스에 정의할 수 있습니다.

 

따라서 빌드 대상에 어떠한 행위를 하는 것이 Build Tool에서의 Build의 의미입니다. Gradle에서는 이러한 행위의 단위를 Task라고 칭합니다. 또한 이런 Task를 실행하는 것을 Build라고 부릅니다.