Как собрать несколько JAR-файлов с помощью Scala SBT - PullRequest
4 голосов
/ 16 июня 2011

В моем проекте есть следующая структура:

src /

plugins /

\ __ mpc

|__ oper

Я скомпилирую все файлы scala в src в один jar (основная программа), затем каждый подкаталог в плагинах содержит файлы scala, которые должны создать jar плагина для загрузки.основной программой (так что один jar для плагинов / mpc и другой для плагинов / oper).

В корне у меня есть build.sbt:

name: = "mrtoms"

organization: =" chilon "

version: =" 0.1 "

libraryDependencies ++ = Seq (" commons-httpclient "%" commons-httpclient "%"3,1 ")

crossPaths: = false

scalaHome: = Some (file (" / usr / share / scala "))

target: = file (" project /target ")

scalaSource в Compile << = baseDirectory (_ /" src ") </p>

mainClass: = Some (" org.chilon.mrtoms.MrToms ")

Это прекрасно строит мой основной jar-файл из файлов в src... как мне добавить jar для исходного файла в каждый каталог плагинов?

1 Ответ

6 голосов
/ 16 июня 2011

Кажется, что вам нужна полная конфигурация (в данный момент вы используете базовую конфигурацию):

https://github.com/harrah/xsbt/wiki/Full-Configuration

В вашем случае, root проект - это ваша главная банка. Каждый плагин должен иметь свой собственный проект, который объединяет корневой проект. Полная конфигурация может быть примерно такой:

import sbt._

object MyBuild extends Build {
    lazy val root = Project("root", file(".")) aggregate (mpc, oper) 
    lazy val mpc  = Project("mpc", file("plugins/mpc")) dependsOn(pluginApi)
    lazy val oper = Project("sub2", file("plugins/oper")) dependsOn(pluginApi)
    lazy val pluginApi = Project("pluginApi", file("plugins/api"))
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...