일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- dynamic query
- 프로젝트
- 운영체제
- 파이썬
- hyperledger
- K6
- gradle
- MongoDB
- 백준 알고리즘
- oracle
- 유사코드
- 자바
- resilience4j
- 자바 프로젝트
- 학점
- 오라클
- auto configure
- jsp
- spring
- c#
- 알고리즘
- SQL
- 파이썬 소스
- 초대장
- 오라클 디비
- 리눅스
- smart cast
- JVM
- 문법 정리
- 티스토리
- Today
- Total
모종닷컴
Gradle 디렉토리 본문
Gradle은 사용자 홈 티렉토리와 프로젝트 루트 디렉토리 두 가지 디렉토리를 사용하여 작업을 수행하고 관리합니다.
사용자 홈 디렉토리
Gradle 사용자 홈 디렉토리는 글로벌 속성 구성과 초기화 스크립트, 캐시 및 로그 파일을 저장하는 데 사용됩니다. 디폴트 경로는 $USER_HOME/.gradle 입니다. 문서에서 설명하는 대략적인 구조는 아래 사진과 같다고 합니다. 각각 디렉토리에 대한 설명을 보도록 하겠습니다.
- 모든 프로젝트가 사용하는 글로벌 캐시 디렉토리입니다.
- 버전별 캐시입니다. (예: 증분 빌드 지원)
- 공유 캐시 (예 : 디펜던시의 아티팩트)
- Gradle 데몬의 레지스트리 및 로그 디렉토리입니다.
- 글로벌 초기화 스크립트
- toolchain support에서 다운로드한 JDK
- Gradle Wrapper에서 다운로드한 배포
- 전역 Gradle 구성 속성
제 로컬에서도 들어가봤는데 사진이랑은 조금 상이하지만 거의 똑같이 존재하네요.
캐시 및 배포 정리(cleanup)
버전 4.10부터 Gradle은 자동으로 사용자 홈 티렉토리를 정리한다고 합니다. Gradle 데몬이 중지되거나 종료될 때 백그라운에서 정리가 실행된다고 합니다. --no-daemon을 사용한다면 진행률 표시기와 함께 빌드 세션 후 foreground에서 실행된다고 합니다.
다음과 같은 클린업 전략이 주기적(최대 24시간)으로 적용됩니다.
- caches/<gradle-version> 디렉토리의 버전별 캐시가 아직 사용중인지 확인합니다. 그렇지 않은 경우는 릴리즈 버전의 디렉토리는 30일 동안 사용되지 않았으면 삭제되고, 스냅샷 버전 디렉토리는 7일 동안 사용되지 않았으면 삭제됩니다.
- 공유 캐시 caches/jars-*가 사용 중인지 확인합니다. 아직 사용 중인 Gradle 버전이 없으면 삭제됩니다.
- 현재 그레이들 버전이 캐시에서 사용하는 공유 캐시의 파일(예: jar-3 또는 module-2)은 마지막으로 엑세스한 때를 확인합니다. 파일을 로컬로 다시 만들 수 있는지 또는 원격 저장소에서 다시 다운로드해야 하는지에 따라 각각 엑세스하지 않은지 7일 또는 30일 후에 삭제됩니다.
- wrapper/dists의 그레이들 배포가 여전히 사용 중인지, 즉 해당 버전별 캐시 디렉토리가 있는지 확인합니다. 사용되지 않은 배포는 삭제됩니다.
본문을 읽어보면서 제 로컬도 같이 보고 있었는데, 사용기간이 지난 폴더는 삭제가 안되고 있었습니다. 일단 그레이들 데몬이 실행중인지 보기 위해서는 터미널에 gradle --status 커맨드를 입력하면 되는데 저는 출력물이 다음처럼 안내하고 있습니다. "현재 그레이들 버전에 대한 데몬이 실행중이지 않다" 그레이들 데몬이 언제 실행이 되는지는 모르겠지만 그레이들 데몬이 실행되었다가 종료되어야지 클린업을 할텐데 지금 제 로컬의 그레이들은 데몬을 실행안한다는 것일까요.. 포스팅 이후에 좀 더 알아봐야겠습니다
프로젝트 루트 디렉토리
프로젝트 루트 디렉토리에는 프로젝트의 일부인 소스 파일이 포함됩니다. 또한 .gradle 및 build와 같은 Gradle에 의해 생성된 파일 및 디렉토리를 포함합니다. .gradle는 일반적으로 source control에 체크되지만 build는 증분 빌드 같은 빌드 기능을 지원하기 위해 그레이들에 의해 사용되는 임시파일입니다. 일반적인 프로젝트 루트 디렉토리의 구조는 아래와 같습니다.
- Gradle에서 생성한 프로젝트별 캐시 디렉토리입니다.
- 버전별 캐시 (예: 증분 빌드 지원)
- 프로젝트의 빌드 디렉토리로 Gradle이 생성하는 모든 빌드 아티팩트로 구성됩니다.
- gradle-wrapper.jav 파일 및 gradle-wrapper.properteis
- 프로젝트 Gradle 구성 프로퍼티입니다.
- Gradle Wrapper 를 사용하여 빌드를 실행하기 위한 스크립트
- 서브프로젝트 목록이 정의된 프로젝트의 설정 파일
- 프로젝트의 서브프로젝트. 서브프로젝트로 구성하지 않았다면 없겠죠?
- 서브 프로젝트의 Gradle 빌드 스크립트입니다.
프로젝트 캐시 정리(cleanup)
버전 4.10부터 Gradle은 프로젝트별 캐시 디렉토리를 자동으로 정리합니다. 프로젝트를 빌드한 후 버전별 캐시 디렉토리 .gradle/<gradle-version>/ 가 여전히 사용 중인지 여부를 주기적으로 확인합니다. 7일 동안 사용하지 않으면 삭제됩니다.
원문
https://docs.gradle.org/current/userguide/directory_layout.html
'Programming > Gradle' 카테고리의 다른 글
[Gradle] 특정 환경에 테스트 필터 적용하기 (0) | 2023.05.01 |
---|---|
Gradle Custom Task, Plugin with buildSrc (0) | 2023.03.11 |
Gradle - 빌드 스크립트 작성 기초 (0) | 2022.09.17 |
Gradle의 빌드 라이프사이클 (0) | 2022.08.28 |
Gradle에 대해 알아보자. (0) | 2022.08.27 |