2016-12-22 10 views
1

이 문제는 sbt-scapegoat의 문제와 관련이 있습니다. 전 세계적으로이 문제를 이해하고 싶습니다.ThisBuild가 플러그인 설정에서 무시되었습니다.

따라서 sbt-scapegoatscapegoatVersion으로 설정하고 scapegoat으로 설정합니다. 짧고 완전한 소스 코드는 availible here입니다.

나는이 무시됩니다 scapegoatVersion in ThisBuild := "1.3.0"을 설정하면 :

> scapegoat:scapegoatVersion 
[info] frontend/scapegoat:scapegoatVersion 
[info] 1.0.0 
[info] backend/scapegoat:scapegoatVersion 
[info] 1.0.0 
[info] {.}/scapegoat:scapegoatVersion 
[info] 1.3.0 

나는 scapegoatVersion := "1.0.0"autoImport 객체에서 모든 프로젝트에 대한 수입과 같은 설정이 scapegoatVersion in ThisBuild 그래서 그것을 무시보다 더 정확되기 때문에, 그래서 이해.

내 질문은 : ThisBuild 또는 Global으로 전역 재정의를 허용하도록 플러그인에서 이러한 기본값을 정의하는 방법입니다.

@edit : 내가 version 설정 내가 Defaults.scala:== 대신 :=의를 사용하여 정의되는 것으로 나타났습니다. 이건 속임수 야? 슬프게도 그것은 문서화되어 있지 않으며 게다가 그것은 sbt 패키지에 대해 개인적입니다.

답변

0

scapegoatVersionThisBuild에 적용하면 "부모 프로젝트"({.}이라고도 함)에만 설정한다고 생각합니다.

붙여 넣은 로그에서 2 개의 서브 모듈이있는 것처럼 보입니다. 기본값은 scapegoatVersion입니다.

일부 commonSettings 변수에서 버전을 정의하고 하위 모듈에 적용 해 보았습니까?

+0

ThatBuild를 사용하여 피하고 싶은 것이므로 모든 모듈에서 지정할 필요가 없습니다. – Krever

+0

당신이 시도 할 수있는 또 다른 방법은'scapegoatVersion in Global : = "1.3.0"'입니다. –