Skip to content

Commit 85ba120

Browse files
author
Simeon H.K. Fitch
committed
Release 2.0 prep tweaks
1 parent bf776f6 commit 85ba120

File tree

5 files changed

+27
-23
lines changed

5 files changed

+27
-23
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ Each of the files should have the following contents.
4343

4444
`project/plugins.sbt`:
4545

46-
addSbtPlugin("com.typesafe.sbt" % "sbt-pom-reader" % "1.0.1")
46+
addSbtPlugin("com.typesafe.sbt" % "sbt-pom-reader" % "2.0.0")
4747
4848

4949
## Configuring projects
File renamed without changes.

notes/release-process.markdown

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
11
# Release Process Outline
22

3-
0. Write release notes
4-
1. Confirm value of `git.baseVersion` in `version.sbt`
5-
2. `git tag v<version> && git push`
6-
3. `sbt scripted publish`
7-
4. Confirm everything's OK; check Bintray package
8-
5. `sbt bintrayRelease`
9-
6. Update `git.baseVersion` to next release.
10-
7. Update `README.md` to reference new binary version.
11-
8. Commit and push.
12-
9. Point Bintray package to release notes
13-
10. Create a release entry in GitHub(?)
3+
4+
4. Run `git clean -fdx`. This makes sure there are no unexpected dependencies or artifacts that could affect the build.
5+
1. Create a branch to do the release work on. Something like `release-<X>.<Y>.<Z>` is good.
6+
2. Write release notes in Markdown with filename `notes/<X>.<Y>.markdown`. Go through the commit logs and collect the major new features, bug fixes, deprecations, and anything else relevant to users. Making note of breaking changes is particularly important.
7+
5. Run `git tag -u <GPG key id> v<X>.<Y>.<Z> && git push`. This creates the tag that the `sbt-git` plugin will use to extract the artifact version number and publishes it. Providing a GPG key is just good form. [Here's some documention](http://www.dewinter.com/gnupg_howto/english/GPGMiniHowto-3.html) on how to get set up to have one.
8+
6. Run `sbt scripted publish`. Executes the tests first and then stages the binary in Bintray. [See SBT documentation](http://www.scala-sbt.org/0.13/docs/Bintray-For-Plugins.html) on how to get set up with Bintray.
9+
7. Confirm the plugin is properly staged for release on Bintray. The Bintray page for `sbt-pom-reader` is [here](https://bintray.com/sbt/sbt-plugin-releases/sbt-pom-reader/view).
10+
8. Run `sbt bintrayRelease`. This moves the plugin from the staged release to published release on Bintray.
11+
9. Update `git.baseVersion` to next release.
12+
10. Update `README.md` to reference new binary version.
13+
11. Commit and push.
14+
12. Edit Bintray info to point to release notes on Github.
15+
13. Create a release entry in GitHub
1416

project/plugins.sbt

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,9 @@ resolvers += Resolver.url(
55

66
resolvers += "jgit-repo" at "http://download.eclipse.org/jgit/maven"
77

8-
// addSbtPlugin("com.typesafe.sbt" % "sbt-ghpages" % "0.5.3")
9-
10-
// addSbtPlugin("com.typesafe.sbt" % "sbt-site" % "0.8.1")
11-
128
addSbtPlugin("com.typesafe.sbt" % "sbt-git" % "0.8.4")
139

14-
15-
// Until bintray-sbt 0.3.0 is published...
16-
lazy val root = (project in file(".")).dependsOn(bintray)
17-
18-
lazy val bintray = uri("git://github.com/softprops/bintray-sbt.git#d8244dd")
10+
addSbtPlugin("me.lessis" % "bintray-sbt" % "0.3.0")
1911

2012
libraryDependencies <+= (sbtVersion) { sv =>
2113
"org.scala-sbt" % "scripted-plugin" % sv

version.sbt

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
1-
versionWithGit
1+
enablePlugins(GitBranchPrompt)
22

3-
git.baseVersion := "2.0"
3+
enablePlugins(GitVersioning)
4+
5+
git.baseVersion := "2.1"
46

57
git.useGitDescribe := true
8+
9+
// Not sure why the following are necessary...
10+
git.gitDescribedVersion <<= git.gitDescribedVersion((v) => v.map(_.drop(1)))
11+
12+
git.gitTagToVersionNumber := { tag: String =>
13+
if(tag matches "v[0.9]+\\..*") Some(tag.drop(1))
14+
else None
15+
}

0 commit comments

Comments
 (0)