Gradle 빌드 스크립트 종속성
buildScript
gradle 빌드 섹션 또는 빌드의 루트 레벨에서 리포지토리 선언의 차이점은 무엇입니까?
옵션 1:
build.gradle :
buildScript {
repositories {
mavenCentral();
}
}
또는
build.gradle :
repositories {
mavenCentral();
}
buildScript 블록의 저장소는 buildScript 종속성의 종속성을 가져 오는 데 사용됩니다. 이는 빌드의 클래스 경로에 배치되고 빌드 파일에서 참조 할 수있는 종속성입니다. 예를 들어 인터넷에 존재하는 추가 플러그인.
루트 수준의 리포지토리는 프로젝트가 의존하는 종속성을 가져 오는 데 사용됩니다. 따라서 프로젝트를 컴파일하는 데 필요한 모든 종속성.
빌드 스크립트 (예 : build.gradle)에는 빌드 스크립트 자체 실행에 대한 종속성이있을 수 있습니다. 이러한 종속성을 buildScript 블록 내에 포함합니다. 기본을 넘어서는 Gradle의 4 장 에 자세히 설명되어 있습니다.
나는 당신에게 명확한 개념을주고 싶습니다. 이러한 이유로 이해를 돕기 위해 build.grade 스냅 샷 코드를 첨부 하고 있습니다.
빌드 스크립트 종속성 :
buildscript {
repositories {
maven { url("https://plugins.gradle.org/m2/") }
}
dependencies {
classpath 'net.saliman:gradle-cobertura-plugin:2.3.2'
classpath 'com.netflix.nebula:gradle-lint-plugin:latest.release'
}
}
루트 레벨 / 코어 종속성 :
repositories{
mavenLocal()
maven { url("https://plugins.gradle.org/m2/") }
maven { url "https://repo.spring.io/snapshot" }
}
dependencies {
//Groovy
compile group: 'org.codehaus.groovy', name: 'groovy-all', version: '2.3.10'
//Spock Test
compile group: 'org.spockframework', name: 'spock-core', version: '1.0-groovy-2.3'
//Test
testCompile group: 'junit', name: 'junit', version: '4.10'
testCompile group: 'org.testng', name: 'testng', version: '6.8.5'
}
먼저, 한마디로
i) 빌드 스크립트 종속성 jar 파일은 빌드 스크립트 저장소에서 다운로드됩니다. [프로젝트 외부 의존성]
ii) 루트 레벨 종속성 jar 파일은 루트 레벨 저장소에서 다운로드됩니다. [프로젝트 의존성]
여기,
The “buildscript” block only controls dependencies for the buildscript process itself, not for the application code. As various gradle plugin like gradle-cobertura-plugin
, gradle-lint-plugin
are found from buildscript repos. Those plugins would not be referenced as dependencies for the application code.
But for project compilation and test running jar files like groovy all jar, junit and testng jar
will be found from root level repositories.
And another thing, maven { url("https://plugins.gradle.org/m2/") }
portion can be used in both blocks. Because they are used for different dependencies.
Resource Link: Difference between dependencies within buildscript closure and core
참고URL : https://stackoverflow.com/questions/13923766/gradle-buildscript-dependencies
'Programing' 카테고리의 다른 글
누구나 파이썬의 상대적 수입을 설명 할 수 있습니까? (0) | 2020.05.31 |
---|---|
현재 상태와 일치하도록 AJAX 앱의 주소 표시 줄 URL 수정 (0) | 2020.05.31 |
“#pragma comment”는 무엇을 의미합니까? (0) | 2020.05.31 |
누구나 Laravel 5.2 다중 인증을 설명 할 수 있습니까? (0) | 2020.05.31 |
파이썬 디자인 패턴 (0) | 2020.05.31 |