반응형
Repository 선언
Declaring repositories
When searching for a module in a repository, Gradle, by default, checks for supported metadata file formats in that repository. In a Maven repository, Gradle looks for a .pom file, in an ivy repository it looks for an ivy.xml file and in a flat directory r
docs.gradle.org

- Gradle 빌드는 대표적으로 MavenCentral 과 Google Android 공개된 Repository에 접근하여 종속성을 다운로드 한다.
- 실제로도 프로젝트를 하다보면 위 2개의 Repository 외에는 선언할 일이 없었다.
repositories {
mavenCentral()
google()
}
- 일부 종속성은 특정 한 Repository에 접근 가능하고 다른 Repository 에서는 접근이 불가능 할 때 유용하다.
- 이 때, 선언 순서는 Gradle이 런타임 도중 종속성을 확인하는 순서를 결정해준다.
repositories {
mavenCentral()
maven {
url = uri("<https://repo.spring.io/release>") // Gradle 런타임 Check 순서 1
}
maven {
url = uri("<https://repository.jboss.org/maven2>") // Gradle 런타임 Check 순서 2
}
}
지원되는 Repository 전송 프로토콜
file | none | |
http | username/password | https://docs.gradle.org/current/userguide/declaring_repositories.html#sec:authentication_schemes |
https | username/password | https://docs.gradle.org/current/userguide/declaring_repositories.html#sec:authentication_schemes |
sftp | username/password | https://docs.gradle.org/current/userguide/declaring_repositories.html#sec:authentication_schemes |
s3 | access key/secret key/session token or Environment variables | https://docs.gradle.org/current/userguide/declaring_repositories.html#sec:s3-repositories |
gcs | https://developers.google.com/identity/protocols/application-default-credentials sourced from well known files, Environment variables etc. | https://docs.gradle.org/current/userguide/declaring_repositories.html#sec:gcs-repositories |
RepositoryHandler API
- RepositoryHandler는 build.gradle 파일에서 선언하는 실제 코드를 읽고 처리한다.
Method Description
flatDir(configureClosure) | 여러 로컬 디렉토리에서 종속성을 찾을 저장소를 추가하고 구성합니다. |
flatDir(args) | 아티팩트에 대한 여러 디렉토리를 조사하는 해결 프로그램을 추가합니다. |
flatDir(action) | 여러 로컬 디렉토리에서 종속성을 찾을 저장소를 추가하고 구성합니다. |
google() | Google의 Maven 저장소에서 종속성을 찾는 저장소를 추가합니다. |
google(action) | Google의 Maven 저장소에서 종속성을 찾는 저장소를 추가합니다. |
gradlePluginPortal() | Gradle Central Plugin Repository에서 종속성을 찾는 저장소를 추가합니다. |
gradlePluginPortal(action) | Gradle Central Plugin Repository에서 종속성을 찾는 저장소를 추가합니다. |
ivy(closure) | Ivy 저장소를 추가하고 구성합니다. |
ivy(action) | Ivy 저장소를 추가하고 구성합니다. |
jcenter() | 더 이상 사용되지 않음. |
jcenter(action) | 더 이상 사용되지 않음. |
maven(closure) | Maven 저장소를 추가하고 구성합니다. |
maven(action) | Maven 저장소를 추가하고 구성합니다. |
mavenCentral() | Maven 중앙 리포지토리에서 종속성을 찾는 리포지토리를 추가합니다. 이 저장소에 액세스하는 데 사용되는 URL은 https://repo.maven.apache.org/maven2/. |
mavenCentral(args) | Maven 중앙 리포지토리에서 종속성을 찾는 리포지토리를 추가합니다. 이 저장소에 액세스하는 데 사용되는 URL은https://repo.maven.apache.org/maven2/. |
mavenCentral(action) | Maven 중앙 리포지토리에서 종속성을 찾는 리포지토리를 추가합니다. 이 저장소에 액세스하는 데 사용되는 URL은 https://repo.maven.apache.org/maven2/. |
mavenLocal() | 로컬 Maven 캐시에서 종속성을 찾는 리포지토리를 추가합니다. 실제로 mavenLocal() 로 세팅 될 경우 콘텐츠가 변경되지 않을 수 있다는 보장이 없기 때문에 Gradle은 캐시를 하지 않습니다. 따라서 빌드 성능에 영향을 줄 수도 있음 |
mavenLocal(action) | 로컬 Maven 캐시에서 종속성을 찾는 리포지토리를 추가합니다. 실제로 mavenLocal() 로 세팅 될 경우 콘텐츠가 변경되지 않을 수 있다는 보장이 없기 때문에 Gradle은 캐시를 하지 않습니다. 따라서 빌드 성능에 영향을 줄 수도 있음 |
반응형
'Java' 카테고리의 다른 글
Spring Cloud Config Server 환경 변수를 분리해보자 (1) (0) | 2022.12.01 |
---|---|
Spring boot + Minio + Docker 예제를 만들어보자(1) (0) | 2022.11.21 |
Spring Cloud Config 란 무엇인가 (0) | 2022.11.20 |
WAS란 그리고 그 종류들 (0) | 2022.06.20 |
JAVA 자주 까먹는 것들 (0) | 2022.02.25 |