我有一个scala库,我刚刚从gradle转换为sbt。 默认情况下,它通过在发布时发布为Sonatype而起作用。但是我也想将其发布到Bintray。问题是Bintray的sbt插件会覆盖发布到Sonatype的原始内容。
我知道我可以通过Bintray同步到Sonatype和Maven中央存储库。但是,我仍然喜欢Sonatype处理验证和检查的方式,然后才能真正将其发布到Maven Central。
如何从发布服务器上同时发布到Sonatype和Bintray(不依靠Bintray为我同步)?
答案 0 :(得分:0)
我遇到了同样的问题,并找到了有效的设置。
sbt-bintray支持JVM属性标志sbt.sbtbintray
,当它设置为false
时,sbt-bintray不会覆盖publishTo
设置(以及其他一些设置)。因此,要同时发布两种声纳类型,只需将sbt发布运行一次,并将标志设置为true
,然后将标志设置为false
。
但是,我还使用了sbt-ci-release插件,该插件还覆盖了publishTo
设置(在Bintray之后的之后),但是没有提供禁用此设置的标志。要解决此问题,请将sbt-bintray执行的操作复制到您自己的构建中:
publishTo := {
val old = publishTo.value
val p = (publishTo in bintray).value
if (BintrayPlugin.isEnabledViaProp) p
else old
}
另请参阅构建: https://github.com/JetBrains/intellij-compiler-indices/tree/master/sbt-idea-compiler-indices