2015-02-08 66 views
1

我想克隆一个远程的Git仓库为我构建的一部分,在我的build.sbt所以添加的依赖这种方式 -SBT混帐克隆挂起私人回购

val packagemain = project.in(file(".")).dependsOn(uri("https://github.com/xyz/abc.git")) 

我有我的GitHub的设置缓存通过按照this页面上的说明通过HTTPS克隆存储库的凭证。这工作,也就是说,当我手动克隆这个回购时,它会这样做,而不要求用户名/密码。

然而,当我启动SBT,它只是上的控制台执行以下语句后挂起 -

[info] Loading global plugins from /Users/bharadwaj/.sbt/0.13/plugins 
[info] Loading project definition from /Users/bharadwaj/xyz/project/project 
[info] Loading project definition from /Users/bharadwaj/xyz/project 
[info] Loading project definition from /Users/bharadwaj/project/project 
[info] Loading project definition from /Users/bharadwaj/project 
Cloning into '/Users/bharadwaj/.sbt/0.13/staging/c682e5428a4ee10acbaf/abc'... 

正在使用SBT版本0.13.5,Git版本2.0.4上一个Mac OSX。

我试过进入SBT staging目录并尝试'git pull' - 它没有任何问题。它只有当通过SBT

+0

如果您使用“[email protected]:xyz/abc.git”而不是克隆“https”,它可以工作吗? – sschaef 2015-02-08 12:21:34

+0

没有。我得到=>导致:java.net.URISyntaxException:索引3处的方案名称中的非法字符:[email protected]:abc/xyz.git – Bharadwaj 2015-02-08 13:15:50

回答

3

克隆我认为访问https://github.com/xyz/abc.git将重定向到https://github.com/xyz/abc与301移动永久。 301可能是骗人的。

尝试使用SSH URL,例如

ssh://[email protected]/xyz/abc.git 

,并确保您的SSH密钥设置无误访问此私人混帐回购协议。

+0

使更改和更早的错误消失。然而,现在sbt试图解决依赖项目作为寻找pom/ivy等常春藤/ maven项目。我试图拉入的github回购不是代码库。它只是一些普通的文件。我如何告诉sbt只需下载这个github仓库而不将其视为代码/ jar依赖项呢? – Bharadwaj 2015-02-15 17:51:51

+0

我不明白你想做什么。构建完成后,您希望这些“纯文件”最终放到哪里?在作为资源的jar里面,还是其他的东西?我也可以问一下纯文件中的内容以及为什么它需要用于构建? – 2015-02-16 00:42:35

+0

另请参阅http://stackoverflow.com/questions/11065064/copying-files-using-sbt – 2015-02-16 00:45:22