如何在依赖 URL 中下载没有 SBT 版本的 sbt 插件依赖?
Posted
技术标签:
【中文标题】如何在依赖 URL 中下载没有 SBT 版本的 sbt 插件依赖?【英文标题】:How to download sbt plugin depdendency without SBT version in the dependency URL? 【发布时间】:2014-06-30 02:37:03 【问题描述】:我正在尝试使用我在私有 mavenrepository 中发布的 sbt 插件
插件配置如下:
val buildSettings = Defaults.defaultSettings ++
Seq (organization := buildOrganization,
scalaVersion := buildScalaVersion,
version := buildVersion,
publishMavenStyle := true,
pomIncludeRepository := _ => true ,
scalacOptions ++= Seq("-deprecation", "-unchecked", "-encoding", "utf8"),
publishTo := Some("External" at "http://xx.yy.net/archiva/repository/external"),
credentials += Credentials(Path.userHome / ".sbt" / ".credentials")
)
使用“sbt publish”,插件部署在这里: http://xx.yy.net/archiva/repository/external/templemore/sbt-cucumber-parent_2.10/0.8.0/sbt-cucumber-parent_2.10-0.8.0.pom
然后我从另一个 SBT 应用程序中使用我的插件。在我的 plugins.sbt 中,我添加:
addSbtPlugin("templemore" %% "sbt-cucumber-plugin" % "0.8.0")
但它失败了,因为 SBT(或 Ivy)正在查看一个带有 SBT 版本插件(0.13)的 URL:
tried
[warn] http://xx.yy.net/archiva/repository/external/templemore/sbt-cucumber-plugin_2.10_0.13/0.8.0/sbt-cucumber-plugin-0.8.0.pom
1) 如何防止 SBT 在依赖 URL 中添加其版本?
2) 或者,如果 1 不可能,我如何设置我的 SBT 插件配置以使用正确的 URL 模式将工件部署到档案?
谢谢:)
【问题讨论】:
您的build.sbt
中有sbtPlugin := true
吗?
我正在尝试部署此工件:github.com/skipoleschris/xsbt-cucumber-plugin/blob/master/… 确实有一个“sbtPlugin := true”但仅适用于子模块,也许这是问题
【参考方案1】:
根据您的评论,您必须使用sbt-cucumber-plugin/publish
发布它,这将在父项目的子项目sbt-cucumber-plugin
中执行发布。
【讨论】:
以上是关于如何在依赖 URL 中下载没有 SBT 版本的 sbt 插件依赖?的主要内容,如果未能解决你的问题,请参考以下文章
SBT 与 Maven Central - 在工件 url 中摆脱 Scala 版本