Tôi đang cố gắng chuyển đổi một dự án mô-đun đơn thành hai mô-đun với tổng hợp gốc . Cảm thấy như một việc bình thường.Plugin sbt không được chọn từ các mô-đun con?
Vì vậy, để đơn giản hóa tôi đã loại bỏ các dự án thứ hai mà tôi thêm vào, nhưng tôi làm điều gì đó như:
cd myproject
mkdir core
mv * core
và sau đó thêm một build.sbt trong myproject như
lazy val root = project.in(file(".")).aggregate(core)
lazy val core = project in file("core")
Tuy nhiên , cố gắng tạo lõi tôi nhận được:
[myproject]/core/build.sbt:22: error: not found: value lessSettings seq(lessSettings:_*)
là cài đặt cho plugin được thêm vào dự án/plugins.sbt của dự án ban đầu hiện tại trong
[myproject]/core/project/plugins.sbt
Làm thế nào đến việc này không được chọn? Tôi không thể có plugin chỉ sống ở mô-đun con? cd: ing vào submodule lõi và chạy sbt nó hoạt động tốt. Tôi có để chuyển các plugin của mình tới root/project không? Khá vui lòng, nó không thể như vậy?
:. ( Vì vậy, tôi chỉ có một "phạm vi plugin" để nói xsbt-web-plugin sẽ gây ô nhiễm bản dựng cho lõi của tôi mà có thể không phải là dự án web. Lý tưởng sẽ có thể soạn một dự án đa mô-đun bằng cách trỏ đến các dự án khác nhau như là: –
Nó không phải là xấu như nó có vẻ.Các plugin sẽ không gây ô nhiễm các dự án mà không nhập các thiết lập của họ. xsbt-web-plugin, bạn chỉ cần bỏ qua 'WebPlugin.webSettings' từ mỗi mô-đun con không thể áp dụng. Xem [multi-project branch of xwp-template] (https://github.com/earldouglas/xwp-template/blob/ multi-project/project/Build.scala) cho một ví dụ: – earldouglas
Đồng ý.Tuy nhiên, tôi vẫn cảm thấy đây là một vấn đề kiến trúc vì nó sẽ làm cho nó không thể bao giờ làm cho một tập hợp các dự án bằng cách chỉ đơn giản là đề cập đến chúng như là aggregates. Các submodules luôn phụ thuộc vào build trên siêu mô hình. –