2016-12-06 3 views
2

Я только что добавил некоторые макрокоманды в свою библиотеку. В моей библиотечной сборке я включаюСамый простой способ для пользователей включить рай скаламакро

addCompilerPlugin("org.scalamacros" % "paradise" % "2.1.0" cross CrossVersion.full) 

, чтобы включить макрос в рай.

В проектах моих пользователей, которые потребляют макросы, я знаю, что они также должны включить scalamacros. Прямо сейчас, в моем примере проекта, я делаю это так же, как и выше. Мне было интересно, был ли более быстрый или менее сложный способ для пользователей вводить макросы? Например, есть ли способ, которым я могу отказаться от cross CrossVersion.full? (Так как пользователь, вероятно, не перекрестно компилируется.)

ответ

1

Это так просто, как это получается. Версия для Macro paradise публикуется против полных версий Scala (например, 2.11.8), а не двоичных версий (например, 2.11). cross CrossVersion.full гарантирует, что полный scalaVersion от билда к имени добавляется артефакт, поэтому при условии, scalaVersion := "2.11.8":

addCompilerPlugin("org.scalamacros" % "paradise" % "2.1.0" cross CrossVersion.full) 

становится

addCompilerPlugin("org.scalamacros" % "paradise_2.11.8" % "2.1.0") 

Это достаточно просто попросить пользователей включить одну строку в их сборки ,

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