Как добавить плагин в качестве библиотеки к плагину, который я сделал? - PullRequest
0 голосов
/ 21 ноября 2018

У меня есть плагин, который я создаю, я хотел бы иметь возможность переопределить setting другого плагина, скажем, sbt-assembly.

Я бы хотел, чтобы в моем AutoPlugin былов состоянии сделать:

import sbtassembly

[...]

override def projectSettings: Seq[Def.Setting[_]] = {
  Seq(
    assembly := { /* override the task */ }
  )
}

Я пытался добавить в ./build.sbt:

libraryDependencies += "com.eed3si9n" % "sbt-assembly" % "0.14.9"

Но я получаю

(update) sbt.librarymanagement.ResolveException: unresolved dependency: com.eed3si9n#sbt-assembly;0.14.9: not found

Я пытался добавить его в./project/plugins.sbt но если я правильно понимаю, это добавит его в качестве инструмента сборки для сборки моего плагина, а не как что-то доступное в коде плагина, и кажется, что я прав, так как не могу получить доступ к пакету sbtassembly.

Есть советы?

Спасибо!

1 Ответ

0 голосов
/ 21 ноября 2018

Я нашел решение!

Это добавить

addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.9")

в build.sbt, а не в project/plugins.sbt.

Я думаю, sbt-assembly это не библиотека, это плагин.Поэтому, чтобы добавить плагин, вам нужно использовать addSbtPlugin.

И поскольку вы хотите это в коде, а не в компиляторе, вы помещаете его в build.sbt, а не в project/plugins.sbt.

...