我想用香蕉RDF在我的项目,最好通过将其定义为在依赖build.scala使用dependsOn:
lazy val root = Project("root", file(".")) dependsOn RootProject(uri("git://github.com/w3c/banana-rdf"))
Run Code Online (Sandbox Code Playgroud)
但是,banana-rdf是一个多项目,因此需要以不同的方式组合.从我所看到的,这些多项目定义只允许您将项目位置指定为文件路径,并且不允许URI.
问题:我是否正确地说我必须将这些多项目GIT依赖项克隆到我的项目中并将它们作为文件夹引用?
我更喜欢将所有GIT克隆留给SBT的想法,并将这些克隆到某个tmp SBT文件夹而不是混乱我的项目......
我有一个非常简单的配置:
//lazy val bananaRdfProject = RootProject( uri("git://github.com:stample/banana-rdf.git#"+bananaGitBranch) )
// lazy val bananaRdfProject = RootProject( uri("https://github.com/stample/banana-rdf.git#"+bananaGitBranch) )
// lazy val bananaRdfProject = ProjectRef( uri("https://github.com/stample/banana-rdf.git#"+bananaGitBranch) ,"banana-rdf")
lazy val bananaRdfProject = RootProject( file("../banana-rdf") )
lazy val main = play.Project(appName, appVersion, appDependencies).settings(...)
.dependsOn( bananaRdfProject )
Run Code Online (Sandbox Code Playgroud)
我尝试使用上面4个不同的项目声明bananaRdfProject.
由于我可以在本地编辑这个banana-rdf,我希望每次构建我的play项目时都要重新编译它,这样我就不必发布banana-rdf ...
但是当我尝试编译我的主要游戏项目时,它使用banana-rdf,它不编译banana-rdf,而是尝试编译主项目:编译失败,因为类路径中缺少banana-rdf类.
sebastien@clemence-XPS-L412Z:rww-play (master *%)$ ./play.old/play
[info] Loading project definition from /home/sebastien/Bureau/rww-play/project
[warn] there were 1 deprecation warning(s); re-run with -deprecation for details
[warn] one warning found
[info] Loading project definition from /home/sebastien/Bureau/banana-rdf/project
[info] Updating {file:/home/sebastien/Bureau/banana-rdf/project/}banana-rdf-build...
[info] …Run Code Online (Sandbox Code Playgroud)