2017-11-06 6 views
2

많은 종속성 나는 그것이 lein의 dev에 프로필과 같은 자극 빌드에서이 종속성을 포함하지 의미한다고 생각무엇이 : scope "test"는 build.boot 의존성에서 무엇을 의미합니까? 예

[org.clojure/tools.nrepl "0.2.12" :scope "test"] 

같이 작성했습니다,하지만 난 여기에 대한 문서를 찾을 수 없습니다. 어떤 다른 범위를 사용할 수 있습니까? 부팅시 의미를 하드 코드했거나 사용자가 정의 할 수있는 것입니까?

답변

2

이것은 직접 Maven scopes로 변환됩니다.

test를 들어

:

이 범위는 종속성이 응용 프로그램의 정상 사용을 위해 필요하지 않음을 나타내며, 테스트 컴파일 및 실행 단계에서만 사용할 수 있습니다. 이 범위는 전 이적이 아닙니다.

부팅시 이러한 종속성은 jar 이슈를 빌드 할 때 제외됩니다. 또한 프로젝트에 종속성이있을 때이 전이 종속성으로 간주되지 않습니다. 이는 부팅 프로젝트에서 Clojure 버전을 지정하는데도 사용됩니다.

라이브러리 (부팅 작업 포함)는 Clojure 버전에 직접 의존해서는 안됩니다. 대신, 다음을 사용해야합니다. Clojure 종속성이있는 "제공된"한정자 . 이 한정자는 의존성을 비유 행성으로 만듭니다. 그런 다음 종속성은 필수 Clojure 버전에 대한 설명서로 작동합니다.

Source