Я хочу, чтобы мой AutoPlugin отображал одну настройку, которая, если установлена, вызывает также ≈5 других настроек для соответствующих значений.Условно задайте несколько настроек в зависимости от значения другой настройки в SBT AutoPlugin
В частности, если сборка вниз устанавливает непустое shadedDeps
:
val shadedDeps = settingKey[Seq[ModuleID]]("When set, the main JAR produced will include these libraries shaded")
, то я хочу, чтобы автоматически установить несколько assembly
настройки информации о связанных (например, assemblyExcludedJars
, assemblyJarName
, artifactClassifier
).
Я не могу найти способ сделать это, потому что метод AutoPlugin.projectSettings
не может получить доступ к shadedDeps.value
(попытка сделать это дает ошибку «value can only be used within a task or setting macro
»).
Лучшее, что я придумал это, чтобы мой плагин также определить параметр, как:
val extraAssemblySettings = settingKey[Seq[Def.Setting[_]]]("…")
, а затем условно ЗАГРУЗКА, что установка с монтажно-настройки, которые я хочу, а затем оценки
extraAssemblySettings
в нижестоящих проектах «build.sbt
. В идеале я смог бы пропустить этот последний шаг и просто настроить значение shadedDeps
.
Что-то о моей (очень наивной) ментальной модели настройки работы SBT явно несовместимо, так как кажется, что это должно быть тривиально, и, тем не менее, я просматривал интернет и выходил пустым.
Можете ли вы показать все соответствующие коды? – nafg