什么是scrooge-sbt-plugin的代码库?

13

当前版本的Scrooge-sbt-plugin存储库在哪里?或者这些设置说明已经过时了吗?

根据文档,我将以下内容添加到Play Framework项目中:

在project/plugins.sbt中:

addSbtPlugin("com.twitter" %% "scrooge-sbt-plugin" % "3.3.2")
在build.sbt文件中:
com.twitter.scrooge.ScroogeSBT.newSettings

libraryDependencies ++= Seq(
  "org.apache.thrift" % "libthrift" % "0.8.0",
  "com.twitter" %% "scrooge-core" % "3.3.2",
  "com.twitter" %% "finagle-thrift" % "6.5.0"
)

在执行play clean-allplay-compile后,我得到了以下输出:

[warn]  module not found: com.twitter#scrooge-sbt-plugin;3.3.2
[warn] ==== typesafe-ivy-releases: tried
[warn]   http://repo.typesafe.com/typesafe/ivy-releases/com.twitter/scrooge-sbt-plugin/scala_2.10/sbt_0.13/3.3.2/ivys/ivy.xml
[warn] ==== sbt-plugin-releases: tried
[warn]   http://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/com.twitter/scrooge-sbt-plugin/scala_2.10/sbt_0.13/3.3.2/ivys/ivy.xml
[warn] ==== local: tried
[warn]   /opt/play-2.2.0/repository/local/com.twitter/scrooge-sbt-plugin/scala_2.10/sbt_0.13/3.3.2/ivys/ivy.xml
[warn] ==== Maven2 Local: tried
[warn]   file:/home/fernando/.m2/repository/com/twitter/scrooge-sbt-plugin_2.10_0.13/3.3.2/scrooge-sbt-plugin-3.3.2.pom
[warn] ==== sonatype-oss-snapshots: tried
[warn]   http://oss.sonatype.org/content/repositories/snapshots/com/twitter/scrooge-sbt-plugin_2.10_0.13/3.3.2/scrooge-sbt-plugin-3.3.2.pom
[warn] ==== public: tried
[warn]   http://repo1.maven.org/maven2/com/twitter/scrooge-sbt-plugin_2.10_0.13/3.3.2/scrooge-sbt-plugin-3.3.2.pom
[warn] ==== Typesafe repository: tried
[warn]   http://repo.typesafe.com/typesafe/releases/com/twitter/scrooge-sbt-plugin_2.10_0.13/3.3.2/scrooge-sbt-plugin-3.3.2.pom
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  ::          UNRESOLVED DEPENDENCIES         ::
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  :: com.twitter#scrooge-sbt-plugin;3.3.2: not found
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn] 
[warn]  Note: Some unresolved dependencies have extra attributes.  Check that these dependencies exist with the requested attributes.
[warn]      com.twitter:scrooge-sbt-plugin:3.3.2 (sbtVersion=0.13, scalaVersion=2.10)
[warn] 
sbt.ResolveException: unresolved dependency: com.twitter#scrooge-sbt-plugin;3.3.2: not found

maven.twttr.com 上似乎有一个版本为 3.3.1 的版本。那么版本 3.3.2 呢?我在 mvnrepository.com 或 oss.sonatype.org 上找不到它。

2个回答

7

这个仓库在https://oss.sonatype.org/content/groups/public上。


查看Build.scala文件,你就可以了解他们将代码发布到哪个仓库。

如果你查看https://oss.sonatype.org/content/groups/public/com/twitter/并搜索“scrooge-sbt-plugin”,你会发现以“_0.12”结尾的文件夹,因此它作为SBT 0.12.x插件在该处发布。由于Play 2.2.x使用SBT 0.13.x,因此您可能无法在其上使用此插件。

版本3.3.2不是最新版本,我遇到了解析所有文件的问题。使用3.9.2即可解决:

项目/build.properties必须包含SBT 0.12(例如):

sbt.version=0.12.2

项目/plugins.sbt必须包含解析器:

resolvers += "sonatype" at "https://oss.sonatype.org/content/groups/public"

addSbtPlugin("com.twitter" %% "scrooge-sbt-plugin" % "3.9.2") 

最后, build.sbt 或 Build.scala 必须包含以下内容:

com.twitter.scrooge.ScroogeSBT.newSettings

scalaVersion := "2.10.1"

libraryDependencies ++= Seq(
  "org.apache.thrift" % "libthrift" % "0.8.0",
  "com.twitter" %% "scrooge-core" % "3.9.2",
  "com.twitter" %% "finagle-thrift" % "6.5.0"
) 

1
两年过去了,仍然没有sbt 0.13版本 :-( - Andriy Drozdyuk

-1

首先,版本3.16.3是sbt 0.13.x的最新版本。

什么是代码库?

代码库在GitHub上,包括Scrooge和sbt-plugin等所有内容。

至于构件库,我很确定它在maven central或其他标准库中。您不需要将解析器添加到sbt构建中。但如果您出于某种原因确实需要,则@Schleichardt提到的sonatype解析器似乎是正确的选择。


发了一个 PR,试图将这个信息放在它应该在的地方。https://github.com/twitter/scrooge/pull/150 - jedesah
所以...这个合并了吗?因为它似乎只是提升了scrooge-core版本而不是scrooge-sbt-plugin版本。 - Andriy Drozdyuk
它没有被合并,但据说它被其他提交更新了...我不能保证。如果您没有绑定到Thrift,请考虑使用Remotely(http://oncue.github.io/remotely/)以获得更好的体验。祝你好运! - jedesah
我明白了。虽然没有任何限制,但我需要一种格式来在使用Python编写的系统和使用Scala编写的系统之间交换数据。如果我理解有误,请纠正我,但我认为这就是Thrift/Protobuf的全部意义 - 系统集成。 - Andriy Drozdyuk
他们有点混淆RPC和互操作性。有时,如果远程节点使用相同的软件栈,即编程语言,您可以使用更适合该语言的RPC框架。我认为Go具有集成的RPC,而Remotely将是Scala编程语言的选择。但对于你的用例,听起来你被困在像Thrift这样的最小公共分母解决方案中,它既可以执行RPC,也可以在许多语言之间实现互操作性。很抱歉听到这种情况 :-) - jedesah

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接