如何在发布期间自动从SBT快照依赖项中删除?

时间:2018-05-21 22:08:16

标签: scala dependencies sbt release

是否可以在发布期间与其发布的版本交换快照依赖项? 例如,我有这样的依赖:

<h1>&#175;&#92;&#95;(&#12484;)&#95;&#47;&#175;</h1>

在发布期间,我希望这种依赖性成为

libraryDependencies += "com.company" %% "del" % "10.0.12-SNAPSHOT"

或中断释放。理想情况下,如果它是一个带有任务的sbt插件,可以在Jenkins管道中触发。

2 个答案:

答案 0 :(得分:0)

我建议不要依赖快照。您始终可以依赖最近发布的工件版本。

默认情况下,sbt-release插件应在发布in place期间根据-SNAPSHOTS进行检查。

答案 1 :(得分:0)

用于清理,组装和更新快照的脚本。 发布时,请在构建服务器上维护version.sbt文件的单独副本(删除快照)。

import _root_.sbtrelease.ReleasePlugin.autoImport.{ReleaseStep, _}
import _root_.sbtrelease.ReleaseStateTransformations._

conflictManager in ThisBuild := sbt.ConflictManager.latestRevision

releaseProcess := Seq(
  ReleaseStep(releaseStepTaskAggregated(clean in *YourService*)),
  checkSnapshotDependencies,
  inquireVersions,
  setReleaseVersion,
  ReleaseStep(releaseStepTaskAggregated(assembly in *YourService*)),
  setNextVersion
)