首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sbt:将插件发布到本地回购并解析

sbt:将插件发布到本地回购并解析
EN

Stack Overflow用户
提问于 2018-03-14 18:38:09
回答 2查看 2K关注 0票数 5

我试图发布一个sbt插件到一个本地文件回购。在插件的build.sbt中我有:

代码语言:javascript
复制
publishTo := Some(Resolver.file("localtrix", file("/Users/jast/repo/localtrix")))

我运行publish任务并将其发布到/Users/jast/repo/localtrix/org/me/sbt-plugin_2.12_1.0/1.2.3

在另一个项目中,我想解决这个插件。在project/plugins.sbt中,我有:

代码语言:javascript
复制
resolvers += Resolver.file("localtrix", file("/Users/jast/repo/localtrix"))
addSbtPlugin("org.me" % "sbt-plugin" % "1.2.3")

我试着在这个项目中运行sbt,我得到:

代码语言:javascript
复制
[info] Updating ProjectRef(uri("file:/Users/jast/playspace/untitled38/project/"), "untitled38-build")...
[warn]  module not found: org.me#sbt-plugin;1.2.3
[warn] ==== typesafe-ivy-releases: tried
[warn]   https://repo.typesafe.com/typesafe/ivy-releases/org.me/sbt-plugin/scala_2.12/sbt_1.0/1.2.3/ivys/ivy.xml
[warn] ==== sbt-plugin-releases: tried
[warn]   https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/org.me/sbt-plugin/scala_2.12/sbt_1.0/1.2.3/ivys/ivy.xml/2017.2+4-3037ba82+20180314-1919/ivys/ivy.xml
[warn] ==== local: tried
[warn]   /Users/jast/.ivy2/local/org.me/sbt-plugin/scala_2.12/sbt_1.0/1.2.3/ivys/ivy.xml
[warn] ==== public: tried
[warn]   https://repo1.maven.org/maven2/org/me/sbt-plugin_2.12_1.0/1.2.3/sbt-plugin-1.2.3.pom
[warn] ==== local-preloaded-ivy: tried
[warn]   /Users/jast/.sbt/preloaded/org.me/sbt-plugin/scala_2.12/sbt_1.0/1.2.3/ivys/ivy.xml
[warn] ==== local-preloaded: tried
[warn]   file:////Users/jast/.sbt/preloaded/org/me/sbt-plugin_2.12_1.0/1.2.3/sbt-plugin-1.2.3.pom
[warn] ==== localtrix: tried
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  ::          UNRESOLVED DEPENDENCIES         ::
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  :: org.me#sbt-plugin;1.2.3: not found
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::

那么,我如何才能以一种同样能够正确解析的方式发布到本地回购呢?

注意:publishLocal.ivy2/local解析是有效的,但是我希望能够发布到回购系统,这样我就可以复制到另一台机器上,而不会干扰目录。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-03-17 03:55:18

默认情况下,sbt插件是发布常春藤风格的,所以当您引用本地存储库时,请使用Resolver.ivyStylePatterns。出版:

代码语言:javascript
复制
publishTo := Some(Resolver.file("localtrix", file("/Users/jast/repo/localtrix"))(Resolver.ivyStylePatterns))

并解决:

代码语言:javascript
复制
resolvers += Resolver.file("localtrix", file("/Users/jast/repo/localtrix"))(Resolver.ivyStylePatterns)
addSbtPlugin("org.me" % "sbt-plugin" % "1.2.3")

或者,您可以为插件设置publishMavenStyle := true,但我看到您已经知道了。

票数 2
EN

Stack Overflow用户

发布于 2018-03-14 19:02:27

你在名字上错过了scala版本。而且您发布的工件中还有插件名_1.0的奇怪后缀,所以仅仅修复scala版本是不够的。

这应该能行。

代码语言:javascript
复制
addSbtPlugin("org.me" % "sbt-plugin_2.12_1.0" % "1.2.3")

如果您发现这个后缀_1.0是从哪里来的,那么修复scala版本应该会有帮助:

代码语言:javascript
复制
addSbtPlugin("org.me" %% "sbt-plugin" % "1.2.3")

评论后的更新

好的,谢谢,我不知道插件的工作方式不同。

但是,尝试为解析器定义不同的解析器(适用于我):

代码语言:javascript
复制
resolvers += "localtrix" at "file:///Users/jast/repo/localtrix"
addSbtPlugin("org.me" % "sbt-plugin" % "1.2.3")
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49285413

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档