diff options
author | adamw <adam@warski.org> | 2017-07-25 12:41:18 +0200 |
---|---|---|
committer | adamw <adam@warski.org> | 2017-07-25 12:41:18 +0200 |
commit | 249193e8a8fd649bcb495384bc5237774bc75bc4 (patch) | |
tree | 77563bb48fde05bcf15b97b773cd5ee6cc422b22 /project | |
parent | be2f4a50a4efad3ed1a20fa0f5eb23e8b73881bf (diff) | |
download | sttp-249193e8a8fd649bcb495384bc5237774bc75bc4.tar.gz sttp-249193e8a8fd649bcb495384bc5237774bc75bc4.tar.bz2 sttp-249193e8a8fd649bcb495384bc5237774bc75bc4.zip |
Release process
Diffstat (limited to 'project')
-rw-r--r-- | project/SttpRelease.scala | 42 | ||||
-rw-r--r-- | project/plugins.sbt | 2 |
2 files changed, 44 insertions, 0 deletions
diff --git a/project/SttpRelease.scala b/project/SttpRelease.scala new file mode 100644 index 0000000..9e96eb6 --- /dev/null +++ b/project/SttpRelease.scala @@ -0,0 +1,42 @@ +import java.util.regex.Pattern + +import sbt._ +import sbtrelease.ReleasePlugin.autoImport.ReleaseKeys._ +import sbtrelease.ReleasePlugin.autoImport.ReleaseStep +import sbtrelease.ReleaseStateTransformations._ + +object SttpRelease { + def steps: Seq[ReleaseStep] = Seq( + checkSnapshotDependencies, + inquireVersions, + runClean, + runTest, + setReleaseVersion, + updateVersionInReadme, + commitReleaseVersion, + tagRelease, + ReleaseStep(action = Command.process("publishSigned", _)), + setNextVersion, + commitNextVersion, + ReleaseStep(action = Command.process("sonatypeReleaseAll", _)), + pushChanges + ) + + // based on https://github.com/EECOLOR/sbt-release-custom-steps/blob/master/src/main/scala/org/qirx/sbtrelease/UpdateVersionInFiles.scala + private def updateVersionInReadme: ReleaseStep = { s: State => + val readmeFile = file("README.md") + val readme = IO.read(readmeFile) + + val currentVersionPattern = """"com.softwaremill.sttp" %% "core" % "([\w\.-]+)"""".r + val currentVersionInReadme = currentVersionPattern.findFirstMatchIn(readme).get.group(1) + + val releaseVersion = s.get(versions).get._1 + + s.log.info(s"Replacing $currentVersionInReadme with $releaseVersion in ${readmeFile.name}") + + val newReadme = readme.replaceAll(Pattern.quote(currentVersionInReadme), releaseVersion) + IO.write(readmeFile, newReadme) + + s + } +} diff --git a/project/plugins.sbt b/project/plugins.sbt index 7b64831..e8687f4 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -2,6 +2,8 @@ addSbtPlugin("com.lucidchart" % "sbt-scalafmt" % "1.8") addSbtPlugin("io.get-coursier" % "sbt-coursier" % "1.0.0-RC8") +addSbtPlugin("org.xerial.sbt" % "sbt-sonatype" % "1.1") + addSbtPlugin("com.jsuereth" % "sbt-pgp" % "1.0.0") addSbtPlugin("com.github.gseitz" % "sbt-release" % "1.0.5")
\ No newline at end of file |