더보기
Gradle 동작 또는 특정 Gradle 프로젝트에서의 환경 설정을 구성 할 수 있는 여러 가지 메커니즘을 제공합니다.
Gradle의 동작을 구성할 때는 각 메커니즘의 우선 순위가 높은 것(오름차순)이 먼저 결정됩니다.
우선 순위 | 구분 | 비고 | 예시 |
1 | Command-line flags | 프로퍼티(Properties)와 환경 변수(Envrionment variables)보다 앞서는 규칙입니다. 자세한 내용은 Gradle document: Command-Line Interface를 참고합니다. |
--build-cache |
2 | System properties | 루트 프로젝트 디렉토리의 |
systemProp.http.proxyHost=somehost.org |
3 | Gradle properties | 프로젝트 디렉토리 또는 |
org.gradle.caching=true |
4 | Environment variables | Gradle을 실행하는 환경에서 제공합니다. | GRADLE_OPTS |
Configuration 시간에 환경 변수 읽기
gradle 명령문을 사용해 다음 환경 변수를 설정 할 수 있습니다.
구분 | 비고 |
Gradle Wrapper를 사용하는 대신 로컬 Gradle 버전을 지정하기 위해 사용합니다. |
|
Gradle 클라이언트 VM을 시작할때 사용할 클라이언트 VM은 명령줄의 I/O만 처리하므로 VM 옵션을 변경하는 일은 흔치 않습니다. 실제 빌드는 Gradle 데몬으로 실행되며 이 환경 변수에 영향을 받지 않습니다. |
|
GRADLE_USER_HOME | 지정된 디렉토리에서는 Gradle의 전역 설정, 초기화 스크립트, 캐시, 로그 파일 등을 저장합니다. |
Gradle 클라이언트 VM에서 사용할 |
init.gradle.kts 파일에서 Configuration 시간에 환경 변수를 읽어옵니다.
println(System.getenv("ENVIRONMENTAL"))
settings.gradle.kts 파일에서 Configuration 시간에 환경 변수를 읽어옵니다.
// Using the Java API
println(System.getenv("ENVIRONMENTAL"))
// Using the Gradle API, provides a lazy Provider<String>
println(providers.environmentVariable("ENVIRONMENTAL").get())
build.gradle.kts 파일에서 Configuration 시간에 환경 변수를 읽어옵니다.
// Using the Java API
println(System.getenv("ENVIRONMENTAL"))
// Using the Gradle API, provides a lazy Provider<String>
println(providers.environmentVariable("ENVIRONMENTAL").get())
Runtime에 환경 변수 읽기
build.gradle.kts 파일에서 Runtime에 환경 변수를 읽어옵니다.
tasks.register<PrintValue>("printValue") {
// Using the Gradle API, provides a lazy Provider<String> wired to a task input
inputValue = providers.environmentVariable("ENVIRONMENTAL")
}
정리 및 복습
gradle명령문을 사용해환경 변수(Environment variables)를 설정 할 수 있습니다.- 사용 할 수 있는 환경 변수는
GRADLE_HOMEJAVA_OPTSGRADLE_OPTSGRADLE_USER_HOMEJAVA_HOME입니다. - 환경 변수는 Configuration 시간 또는 Runtime에 읽을 수 있습니다.
'Build > Gradle' 카테고리의 다른 글
Gradle 도큐먼트: 빌드 스크립트 build.gradle.kts 기본기 (0) | 2023.11.23 |
---|---|
Gradle 도큐먼트: 명령줄 인터페이스(Command-Line Interface) 기본 사용법 (0) | 2023.11.21 |
Gradle 도큐먼트: Gradle 프로퍼티(Gradle properties)를 사용한 빌드 환경 구성 (0) | 2023.11.17 |
Gradle 도큐먼트: 시스템 프로퍼티(System properties)를 사용한 빌드 환경 구성 (0) | 2023.11.17 |
"Cannot add task 'wrapper' as a task with that name already exists" 오류 (0) | 2023.11.17 |