Próbuję przekonwertować projekt pojedynczego modułu na dwa moduły za pomocą agregatu root o wartości . Wydaje się normalną rzeczą do zrobienia.Wtyczki sbt nie są pobierane z submodułów?
Tak więc, aby uprościć usunąłem drugi projekt, który dodałem ale zrobić coś takiego:
cd myproject
mkdir core
mv * core
a następnie dodać build.sbt w myproject jak
lazy val root = project.in(file(".")).aggregate(core)
lazy val core = project in file("core")
jednak , próbując zbudować rdzeń, otrzymuję:
[myproject]/core/build.sbt:22: error: not found: value lessSettings seq(lessSettings:_*)
który jest ustawieniem dla plugin dodane projektu/plugins.sbt oryginalnego projektu teraz w
[myproject]/core/project/plugins.sbt
Czemu tego nie odebrał? Czy nie mogę mieć wtyczek żyjących tylko w submodułach ? cd: ing do rdzenia submodule i działającego sbt to działa dobrze. Czy mam przenieść moje wtyczki do katalogu głównego/projektu? Całkiem proszę, nie może tak być?
. ( bał się, że to przypadek Oznacza to mam tylko jedno „plugin-scope” tak powiedzieć xsbt-web-plugin będzie zanieczyszczać build dla mojego rdzenia, który może nie być projektem internetowej Temp.. jak dla mnie zepsuta architektura, ideał byłby w stanie skomponować projekt wielomodułowy, wskazując na różne projekty, tak jak jest, –
Nie jest tak źle, jak się wydaje, Wtyczki nie będą zanieczyszczać projektów, które nie importują swoich ustawień. xsbt-web-plugin, po prostu pomijasz 'WebPlugin.webSettings' z każdego z niewspółpracujących submodułów. Zobacz [gałąź multi-projektu xwp-template] (https://github.com/earldouglas/xwp-template/blob/ multi-project/project/Build.scala) na przykład – earldouglas
Uzgodnione.Nadal jednak uważam, że jest to problem architektoniczny, ponieważ uniemożliwi to kiedykolwiek dokonanie agregacji projektów poprzez odniesienie się do nich jako agregatów. Podmoduły są zawsze zależne od modelu supermoduły. –