mash-up-kr / piikii_Spring

피곤한 모임계획 끝, 키득키득 피키로 ( ͡~ ͜ʖ ͡°)
2 stars 0 forks source link

chore: 빌드 시 캐싱된 Gradle 의존성을 사용하여 빌드 시간을 단축하도록 합니다. #54

Closed K-Diger closed 1 week ago

K-Diger commented 2 weeks ago

이슈

close #44

변경 사항

스크린샷

부연 설명

참고자료

꽤 괜찮은 블로그

build.gradle.kts

allprojects {
    group = "com.piikii"
    version = "0.0.1-SNAPSHOT"

    repositories {
        mavenCentral()
    }

    tasks.withType<JavaCompile>().configureEach {
        options.isIncremental = true --> 변경된 소스 파일만 재컴파일
        options.isFork = true --> 컴파일 프로세스를 포크하여 컴파일을 별도의 JVM 프로세스에서 실행함으로써 빌드 성능 향상
    }
}

// 아래 코드블럭은 아래 링크의 문서를 참고한 설정입니다.
// https://docs.gradle.org/current/dsl/org.gradle.api.artifacts.ResolutionStrategy.html

configurations.all {
    resolutionStrategy {
        cacheDynamicVersionsFor(10 * 60, TimeUnit.SECONDS)
        cacheChangingModulesFor(4, TimeUnit.HOURS)
    }
}

gradle.properties

org.gradle.parallel=true --> Gradle 병렬 빌드 모드를 설정한다. 여러 프로젝트를 빌드 할 때 효과가 있다.
org.gradle.daemon=true --> 데몬 프로세스를 사용할지 여부 설정한다. true 설정시 gradle을 daemon 모드로 실행하여 빌드시 gradle을 다시 실행하는 시간을 줄여준다.
org.gradle.caching=true --> 빌드 캐싱을 활성화한다.
org.gradle.configureondemand=true --> 관련 프로젝트가 있다면 필요한 부분만 빌드 설정한다.
org.gradle.jvmargs=-Xms256m -Xmx1024m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 --> 실행시 JVM 인수로 메모리를 설정을 늘려 메모리 부족으로 인한 속도저하를 막는 것이 목적이다. 따라서 적절한 양의 메모리를 할당해 주면 된다.

체크리스트