2015-05-09 98 views
0

我在GitHub上有一个javascript项目和一个scala项目。我希望scala项目签出js项目并将其打包为scala项目的资源jar。将外部项目文件打包为资源jar(SBT)

以下代码似乎不起作用。

lazy val myJsProj = RootProject(uri(
    // The project will be checkout to ~/.sbt/0.13/staging/089ea13043e2818509b4 
    "https://github.com/foo/bar.git")) 

lazy val root = Project(
    id = "my-scala-proj", base = file("."), 
    settings = Defaults.coreDefaultSettings 
).dependsOn(myJsProj) 

在scala项目目录中,有一些文件在src/main/resources。现在我运行命令sbt clean package。我注意到只有src/main/resources下的文件被打包在my-scala-proj_2.10-0.1-SNAPSHOT.jar中,但没有包含我的js项目的文件。

我还发现了一个空罐子~/.sbt/0.13/staging/089ea13043e2818509b4/my-js-proj/target/scala-2.10/my-js-proj_2.10-0.1-SNAPSHOT.jar

我猜dependsOn并不意味着包括对项目中的所有文件?有人能发光吗?

回答

0

dependsOn将指示构建中的一个项目如何依赖于存储库中的另一个项目。

使用RootProjecturi是为了方便源代码兼容性,但是它限制了工作的好坏(即libraryDependencies工作更可靠)。

我不知道如何从远程源包含JavaScript项目的源代码(通过uri)。我认为最好看的地方是sbt-web的(sbt)插件。