scala sbt scala-2.11

¿Por qué no funciona la macro Def.inputTask en Scala 2.11.1?



sbt scala-2.11 (4)

Esto es lo que acabo de probar y funciona con scalaVersion de 2.11.6
El código está registrado en github , en caso de que quiera verificar

Tengo versión sbt como

$ sbt --version sbt launcher version 0.13.8

La configuración de mi proyecto se ve como

object LearningScalaBuild extends Build { lazy val commonSettings = Seq( organization := "com.learner", version := "0.1.0", scalaVersion := "2.11.6", libraryDependencies += "org.scalatest" % "scalatest_2.11" % "2.2.4" % "test" ) lazy val root = project.in(file(".")).aggregate(s99, ahka) lazy val s99 = project.in(file("s99")) .settings(commonSettings: _*) lazy val ahka = project.in(file("ahka")) .settings(commonSettings: _*) .settings(libraryDependencies += "com.typesafe.akka" %% "akka-actor" % "2.3.9") }

Lo ejecuté en Travis CI y parece funcionar bien

[info] Resolving org.scalatest#scalatest_2.11;2.2.4 ... [info] Resolving org.scala-lang#scala-reflect;2.11.2 ... [info] Resolving org.scala-lang.modules#scala-xml_2.11;1.0.2 ... [info] Resolving org.scala-lang#scala-compiler;2.11.6 ... [info] Resolving org.scala-lang#scala-reflect;2.11.6 ... [info] Resolving org.scala-lang.modules#scala-xml_2.11;1.0.3 ... [info] Resolving org.scala-lang.modules#scala-parser-combinators_2.11;1.0.3 ... [info] Resolving jline#jline;2.12.1 ... [info] downloading https://repo1.maven.org/maven2/com/typesafe/akka/akka-actor_2.11/2.3.9/akka-actor_2.11-2.3.9.jar ... [info] [SUCCESSFUL ] com.typesafe.akka#akka-actor_2.11;2.3.9!akka-actor_2.11.jar (253ms) [info] downloading https://repo1.maven.org/maven2/com/typesafe/config/1.2.1/config-1.2.1.jar ... [info] [SUCCESSFUL ] com.typesafe#config;1.2.1!config.jar(bundle) (170ms) [info] Done updating. [info] ''compiler-interface'' not yet compiled for Scala 2.11.6. Compiling... [info] Run completed in 13 milliseconds. [info] Total number of tests run: 0 [info] Suites: completed 0, aborted 0 [info] Tests: succeeded 0, failed 0, canceled 0, ignored 0, pending 0 [info] No tests were executed. [info] Compilation completed in 18.159 s [info] Compiling 1 Scala source to /home/travis/build/hhimanshu/learningScala/s99/target/scala-2.11/test-classes... [info] P01Spec: [info] [Dummy Test] A List [info] - must return true when provided empty list [info] Run completed in 259 milliseconds. [info] Total number of tests run: 1 [info] Suites: completed 1, aborted 0 [info] Tests: succeeded 1, failed 0, canceled 0, ignored 0, pending 0 [info] All tests passed. [success] Total time: 28 s, completed May 30, 2015 3:41:26 AM The command "sbt ++2.11.6 test" exited with 0. Done. Your build exited with 0.

Estoy usando Scala 2.11.1 y sbt 0.13.5.

Tengo un complemento de sbt que contiene una función auxiliar para crear las tareas de entrada de la siguiente manera (la implementación se elimina, ya que es irrelevante para el problema):

def register(name: String, description: String): Def.Setting[InputTask[Unit]] = { InputKey[Unit](name, description) <<= Def.inputTask { println("test") } }

Esta función compila y funciona bien en Scala 2.10.4, sin embargo, una vez que cambio a 2.11.1 falla con el siguiente error:

No se pueden expandir las macros compiladas por versiones anteriores de Scala.

¿Está la macro Def.inputTask simplemente dañada en Scala 2.11.1, o me falta algún detalle deslumbrante?

En este momento, la función anterior reside en el plugin sbt más simple que se pueda imaginar. Tampoco hay dependencias.


He cambiado el archivo build.sbt. Ahora está funcionando para mí. Abajo esta el cambio

scalaVersion: = "2.11.6"

scalacOptions + = "-deprecation"

libraryDependencies + = "org.scalatest"% "scalatest_2.11"% "2.2.4"% "test"


La serie sbt 0.13.x usa Scala 2.10.x cuando se carga, por lo que sbt 0.13.x debe compilarse contra Scala 2.10, y también todos los complementos de sbt para 0.13.x.

Nota : sbt 0.13 puede definir proyectos Scala utilizando 2.11.x.


Si está ejecutando scala 2.11.x, use esta línea en su archivo build.sbt.

libraryDependencies + = "org.scalatest"% "scalatest_2.11"% "2.2.4"% "test"