我正在升级Nexus版本.作为流程的一部分,我设置了一个新的Nexus实例,它将与旧的Nexus实例并行运行.
在迁移到新实例时,我想在拔出旧实例上的插件之前彻底测试和审查新实例.这要求我以publish这样的方式临时修改工作流,即sbt将工件发布到Nexus实例.
我非常怀疑以下代码实际上是否有效:
publishTo <<= (version) {
version: String =>
if (version.trim.endsWith("SNAPSHOT")) Some("snapshots" at "http://maven1.dev.net:8081/nexus/content/" + "repositories/snapshots/")
else Some("releases" at "http://maven1.dev.net:8081/nexus/content/" + "repositories/releases/")
},
credentials += Credentials("Sonatype Nexus Repository Manager", "maven1.dev.net", "release-eng", "release"),
publishTo <<= (version) {
version: String =>
if (version.trim.endsWith("SNAPSHOT")) Some("snapshots" at "http://maven2.dev.net:8081/nexus/content/" + "repositories/snapshots/")
else Some("releases" at "http://maven2.dev.net:8081/nexus/content/" + "repositories/releases/")
},
credentials += Credentials("Sonatype Nexus Repository Manager", "maven2.dev.net", "release-eng", "release"),
Run Code Online (Sandbox Code Playgroud)
我也试过调查一个名为sbt-multi-publish的插件,但我也无法编译和使用它.
我理解按名称和按值调用的基本概念,我也研究了一些例子.但是,我不清楚何时使用call-by-name.什么是真实世界的场景,其中call-by-name相对于其他呼叫类型具有显着的优势或性能提升?在设计方法时选择呼叫类型的正确思维方法应该是什么?