aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorHao Huang <hhuang@driver.xyz>2017-05-03 18:28:10 -0700
committerHao Huang <hhuang@driver.xyz>2017-05-03 18:28:10 -0700
commit3c972ec12122b1bd62bacaae9d4c507338add7df (patch)
tree941327143f775b63cca1edca186e575c6843b1e1 /src
parent10a6a14fd5c45778ce5e5bfe817a2fa820934e36 (diff)
downloadsbt-settings-3c972ec12122b1bd62bacaae9d4c507338add7df.tar.gz
sbt-settings-3c972ec12122b1bd62bacaae9d4c507338add7df.tar.bz2
sbt-settings-3c972ec12122b1bd62bacaae9d4c507338add7df.zip
Remove the next version in sbt-release
Diffstat (limited to 'src')
-rw-r--r--src/main/scala/xyz.driver.sbt/SbtSettings.scala27
1 files changed, 21 insertions, 6 deletions
diff --git a/src/main/scala/xyz.driver.sbt/SbtSettings.scala b/src/main/scala/xyz.driver.sbt/SbtSettings.scala
index 9b0d4f8..539a5a4 100644
--- a/src/main/scala/xyz.driver.sbt/SbtSettings.scala
+++ b/src/main/scala/xyz.driver.sbt/SbtSettings.scala
@@ -14,13 +14,14 @@ import sbtassembly._
import sbtbuildinfo.BuildInfoPlugin
import sbtbuildinfo.BuildInfoPlugin.autoImport.{BuildInfoKey, BuildInfoOption, _}
import sbtdocker.DockerPlugin
+import sbtrelease.ReleasePlugin.autoImport.ReleaseKeys._
import sbtrelease.ReleasePlugin.autoImport.ReleaseTransformations._
import sbtrelease.ReleasePlugin.autoImport._
import sbtrelease.{Version, _}
import wartremover.WartRemover.autoImport._
// we hide the existing definition for setReleaseVersion to replace it with our own
-import sbtrelease.ReleaseStateTransformations.{setReleaseVersion => recordReleaseVersion}
+import sbtrelease.ReleaseStateTransformations.{setReleaseVersion => recordReleaseVersion, inquireVersions => _}
/**
* @see https://engineering.sharethrough.com/blog/2015/09/23/capturing-common-config-with-an-sbt-parent-plugin/
@@ -135,6 +136,25 @@ object SbtSettings extends AutoPlugin {
lazy val setReleaseVersion: ReleaseStep = setVersionOnly(_._1)
+ // Remove the prompt for next version
+ lazy val inquireVersions: ReleaseStep = { st: State =>
+ val extracted = Project.extract(st)
+
+ val useDefs = st.get(useDefaults).getOrElse(false)
+ val currentV = extracted.get(version)
+
+ val releaseFunc = extracted.get(releaseVersion)
+ val suggestedReleaseV = releaseFunc(currentV)
+
+ // flatten the Option[Option[String]] as the get returns an Option, and the value inside is an Option
+ val releaseV =
+ readVersion(suggestedReleaseV, "Release version [%s] : ", useDefs, st.get(commandLineReleaseVersion).flatten)
+ val nextV = releaseV
+
+ st.put(versions, (releaseV, nextV))
+
+ }
+
def ServiceReleaseProcess = {
Seq[ReleaseStep](
checkSnapshotDependencies,
@@ -161,7 +181,6 @@ object SbtSettings extends AutoPlugin {
def releaseSettings(releaseProcessSteps: Seq[ReleaseStep]): Seq[Setting[_]] = {
- val showNextVersion = settingKey[String]("the future version once releaseNextVersion has been applied to it")
val showReleaseVersion = settingKey[String]("the future version once releaseNextVersion has been applied to it")
Seq(
releaseIgnoreUntrackedFiles := true,
@@ -170,11 +189,7 @@ object SbtSettings extends AutoPlugin {
releaseVersion := { ver =>
Version(ver).map(_.bumpBugfix.withoutQualifier.string).getOrElse(versionFormatError)
},
- releaseNextVersion <<= releaseVersionBump(bumper => { ver =>
- Version(ver).map(_.bumpBugfix.withoutQualifier.string + "-SNAPSHOT").getOrElse(versionFormatError)
- }),
showReleaseVersion <<= (version, releaseVersion)((v, f) => f(v)),
- showNextVersion <<= (version, releaseNextVersion)((v, f) => f(v)),
releaseProcess := releaseProcessSteps
)
}