프로젝트에서 작성한 JAVA 코드와 프로젝트 내에 필요한 각종 xml, properties, jar파일을 JVM이나 WAS가 인식할 수 있도록 도와주는 과정 -> 빌드 자동화 도구
Gradle -> 작업 의존성 그래프를 기반으로 함
Maven -> 고정적이고 선형적인 단계의 모델을 기반으로 함
Gradle은 어떤 task가 업데이트 되었고 안되었는지 체크하기 때문에 incremental build를 허용한다.
이미 업데이트된 태스크에 대해서는 작업이 실행되지 않아 빌드시간이 훨씬 단축된다.
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.programming.mitra</groupId>
<artifactId>java-build-tools</artifactId>
<packaging>jar</packaging>
<version>1.0</version>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
</plugin>
</plugins>
</build>
</project>
apply plugin:'java'
apply plugin:'checkstyle'
apply plugin:'findbugs'
apply plugin:'pmd'
version ='1.0'
repositories {
mavenCentral()
}
dependencies {
testCompile group:'junit', name:'junit', version:'4.11'
}
인크리멘탈 빌드는 변경된 부분만 감지해 그 부분만 다시 빌드해 효율성을 높인다.