すべてのプロジェクトとサブプロジェクトのローカル設定をオーバーライドするために、非常に小さなオートプラグインを開発しようとしています。具体的には、私のプラグインがscalaVersionを変更し、それを含むプロジェクトのscalacOptionsに1つのオプションを追加したいと思います。 I have read in the documentationは、設定の割り当て順序を変更することができますが、正しいプロジェクトに割り当てていないようです。 これは私がこれまで持っているコードです:プロジェクト設定を上書きするSbt自動プラグイン
// build.sbt
import AddSettings._
lazy val root = (project in file("."))
.settingSets(userSettings, defaultSbtFiles, autoPlugins, buildScalaFiles)
.settings(
sbtPlugin := true,
name := "sbt-scalafix-config",
organization := "io.prl-prg",
version := "0.0.1",
addSbtPlugin("org.some" % "some-other-plugin" % "0.5.3")
)
// PluginCode.scala
package config
import sbt._
import sbt.Keys._
object PluginCode extends AutoPlugin {
override def trigger = allRequirements
override lazy val projectSettings = Seq(
scalaVersion := "2.12.3",
scalacOptions := Seq("-Yrangepos")
)
println("[PluginCode Setup] Hello World!")
}
すべてのヘルプは高く評価されます。
あなたの答えをありがとう、それはできないことを知っていいです、私は今、顔の表を停止することができます。しかし、プロジェクトの '.sbt'ファイルを直接編集することなく同じ効果を達成する方法はありますか? –