2016-02-08 1 views
0

Хотя я использую многопроектную сборку для некоторых проектов, я не хочу ставить все мои проекты в одну сборку. Тем не менее я хочу иметь возможность определять определенные настройки в одном месте для нескольких сборок. Таким образом, лучший способ - создать файл Scala, а затем связать его с каждым подкаталогом проекта. Поэтому создание следующего кода в директории проекта суб:sbt Как определить область действия в scala-коде

import sbt._ 
import Keys._ 
import AddSettings._ 

object RBuild extends Build 
{  
    override lazy val settings: Seq[Def.Setting[_]] = super.settings ++ Seq(
    scalaVersion := "2.11.7", 
    scalaSource in Compile := baseDirectory.value/"src", 
    scalaSource in Test := baseDirectory.value/"testSrc",  
    unmanagedSourceDirectories in Compile := Seq(baseDirectory.value/"src"), 
    unmanagedSourceDirectories in Test := Seq(baseDirectory.value/"src"), 
    scalacOptions ++= Seq("-feature", "-language:implicitConversions", "-deprecation", "-target:jvm-1.8")) 
} 

scalaVersion работает, но ни один из параметров в исходных каталогов не имеют никакого влияния на сборку, будь устанавливается индивидуально или в комбинации. Они все те же, что и их значения по умолчанию. Что я делаю неправильно? Я не уверен, что параметр scalacOptions эффективен или не используется командой проверки в терминале sbt.

ответ

0

Я столкнулся с этим в поисках решения другой проблемы. Установите параметры в проекте:

import sbt._ 
import Keys._ 
import AddSettings._ 

object RBuild extends Build 
{ 
    lazy val root = (project in file(".")).settings(
    scalaVersion := "2.11.7", 
    scalaSource := (baseDirectory.value/"src"), 
    scalaSource in Test := baseDirectory.value/"testSrc",  
    unmanagedSourceDirectories in Compile := Seq(baseDirectory.value/"src"), 
    unmanagedSourceDirectories in Test := Seq(baseDirectory.value/"src"), 
    scalacOptions ++= Seq("-feature", "-language:implicitConversions", "-deprecation", "-target:jvm-1.8"))  
} 

Хотя это еще не дает ответа на вопрос о том, почему scalaVersion работал, но не другие параметры. Я предполагаю, что scalaVersion следует рассматривать как общую настройку, а другие - для конкретного проекта.

Смежные вопросы