Gradle で Scala の compiler-plugin を使う

2018/02/27   #Scala  #Gradle 
このエントリーをはてなブックマークに追加

domala を Gradle プロジェクトで動かしたかったので。

sbt でいうところの

  addCompilerPlugin("org.scalameta" % "paradise" % "3.0.0-M10" cross CrossVersion.full),
  scalacOptions += "-Xplugin-require:macroparadise",

的なことを Gradle でやりたい。

やり方

build.gradle に、まず configurations を追加。

configurations {
  scalaCompilerPlugin
}

dependencies に上記で追加した scalaCompilerPlugin を指定して、compiler-plugin を読む。

dependencies {
  compile("org.scala-lang:scala-library:${scalaVersion}")

  scalaCompilerPlugin('org.scalameta:paradise_2.12.4:3.0.0-M10')
  :

で、以下のように scalac のオプションを書く。

tasks.withType(ScalaCompile) {
  scalaCompileOptions.additionalParameters = [
    "-Xplugin:" + configurations.scalaCompilerPlugin.asPath,
    "-Xplugin-require:macroparadise"
  ]
}

こんな感じで動いた。

参考: