gradle.properties와 settings.gradle을 언제 사용합니까?
gradle 빌드에는 세 개의 파일이 있습니다.
build.gradle빌드 구성 스크립트를 정의하는gradle.propertiessettings.gradle
질문
settings.gradle&의 차이점은 무엇입니까gradle.properties?- 설정에 넣어해야 할 때
settings.gradle대gradle.properties?
settings.gradle
settings.gradle파일은 단지처럼 그루비 스크립트 build.gradle파일. settings.gradle각 빌드에서 하나의 스크립트 만 실행됩니다 ( build.gradle다중 프로젝트 빌드의 여러 스크립트와 비교 ). settings.gradle스크립트는 이전에 실행됩니다 build.gradle스크립트와도 전에 Project인스턴스가 만들어집니다. 따라서 Settings개체 에 대해 평가 됩니다. 이 Settings개체를 사용 하여 빌드에 하위 프로젝트를 추가하고 명령 줄 ( StartParameter) 에서 매개 변수를 수정 하고 Gradle개체에 액세스하여 수명주기 핸들러를 등록 할 수 있습니다 . 결과적으로 settings.gradle설정이 빌드와 관련이 있고 반드시 프로젝트와 관련이 없거나 가능한 하위 프로젝트가 포함 되기 전에 로직이 필요한 경우 사용 하십시오 .
gradle.properties
이 gradle.properties파일은 객체 Properties의 범위 Project(소위 '프로젝트 속성'이라고 함) 에 자동으로 포함되어 특별한 역할 만 받는 단순한 Java 파일입니다 . 문자열 값만 허용하는 간단한 키-값 저장소입니다 (따라서 목록이나 배열을 직접 분할해야 함). gradle.properties다음 위치 에 파일을 넣을 수 있습니다 .
- 프로젝트 디렉토리에서 직접 (프로젝트 관련 값의 경우)
- 사용자 홈
.gradle디렉토리 (사용자 또는 환경 관련 값의 경우)
다중 모듈 프로젝트에는 하나의 기본 모듈 과 여러 하위 모듈이 있습니다. 다음 레이아웃이 있습니다.
(root)
+- settings.gradle
+- build.gradle # optional (commonly present)
+- gradle.properties # optional
+-- buildSrc/ # optional
| +- build.gradle # optional
| +-- src/ # optional
| +-- test/ # optional
+-- gradle/ # optional
| +- utils.gradle # optional
+-- sub-a/
| +- build.gradle
| +- src/
+-- sub-b/
+- build.gradle
+- src/
하위 모듈은 하위 폴더의 더 깊은 곳에있을 수도 있지만 settings.gradle의 코드를 수정하지 않으면 이름에 해당 폴더의 이름이 포함됩니다.
settings.gradle
settings.gradle의 주요 역할은 포함 된 모든 하위 모듈을 정의하고 모듈 트리의 디렉토리 루트를 표시하는 것이므로 settings.gradle다중 모듈 프로젝트에서 하나의 파일 만 가질 수 있습니다 .
rootProject.name = 'project-x'
include 'sub-a', 'sub-b'
설정 파일도 groovy로 작성되며 하위 모듈 조회를 사용자 정의 할 수 있습니다.
build.gradle
모듈 당 하나의 파일이 있으며이 모듈에 대한 빌드 로직이 포함되어 있습니다.
에서 build.gradle의 파일 메인 모듈 , 당신은 사용할 수 있습니다 allprojects {}또는 subprojects {}다른 모든 모듈에 대한 설정을 정의 할 수 있습니다.
build.gradle하위 모듈 의 파일에서 compile project(':sub-a')하나의 하위 모듈이 다른 하위 모듈에 종속되도록 할 수 있습니다 .
gradle.properties
이것은 선택 사항이며, 주요 목적은 gradle 자체를 실행하는 데 사용할 시작 옵션을 제공하는 것입니다.
org.gradle.jvmargs=-Xmx=... -Dfile.encoding=UTF-8 ...
org.gradle.configureondemand=true
These values can be overridden by a file USER_HOME/.gradle/gradle.properties, and overriden by gradle command line arguments. Also it is possible to set environment variables for the build in this file using systemProp. as prefix.
Any property in this file can be used in any build.gradle, so some projects also put dependency version or release information in gradle.properties, but that is likely an abuse of this file.
gradle/utils.gradle
(Any name of folder or file is possible.) You can define additional custom gradle files to reuse definitions, and include them in other gradle files via
apply from: "$rootDir/gradle/utils.gradle"
buildSrc/...
This folder is special, it is like a separate gradle project in itself. It is built before doing anything else, and can provide function to use in any other gradle file. Because of technical reasons, IDE support for references to this folder work much better than any other way of extracting common code from multiple build.gradle files to a separate location. You can define complex custom build logic in java, groovy or kotlin, instead of writing and deploying a plugin. This is also useful for unit-testing your custom build code, as you can have unit tests.
참고URL : https://stackoverflow.com/questions/45387971/when-to-use-gradle-properties-vs-settings-gradle
'Program Club' 카테고리의 다른 글
| System.Web.HttpUtility.UrlEncode / UrlDecode ASP.NET 5 대체 (0) | 2020.11.14 |
|---|---|
| 2016.2로 업데이트 한 후 Pycharm import RuntimeWarning (0) | 2020.11.14 |
| Haskell 기능이 정확성 속성으로 입증 / 모델 검사 / 검증 될 수 있습니까? (0) | 2020.11.14 |
| float 값에 "f"접미사? (0) | 2020.11.14 |
| C ++에서 개체 파괴 (0) | 2020.11.14 |